https://github.com/chrispritchard/substrate
A port to immutable and functional F# from the original Java implementation by j.tarbell (http://www.complexification.net/gallery/machines/substrate/)
https://github.com/chrispritchard/substrate
art computer-art corert fsharp substrate
Last synced: 3 months ago
JSON representation
A port to immutable and functional F# from the original Java implementation by j.tarbell (http://www.complexification.net/gallery/machines/substrate/)
- Host: GitHub
- URL: https://github.com/chrispritchard/substrate
- Owner: ChrisPritchard
- License: unlicense
- Created: 2018-09-24T08:45:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-13T23:43:36.000Z (over 6 years ago)
- Last Synced: 2025-01-17T16:14:46.992Z (5 months ago)
- Topics: art, computer-art, corert, fsharp, substrate
- Language: F#
- Size: 179 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Substrate
A port to immutable and functional F# from the original Java implementation by j.tarbell ()
![]()
This specific implementation is a port of the code found here, more or less:
Changes from the source include:
- Obviously, its in F# and makes use of immutability, purity and all the pipelining/match goodness to be much more concise than the original java
- I haven't implemented the colouring, the 'sand painter' effect. Just because I don't really like the colours they had, but I might add this at a later date~~## System.Drawing.Common~~
~~The output of this code, defined in Program.fs, makes use of System.Drawing.Common to compose a png. This works fine in windows, as it uses native GDI+. On Linux and Mac you will need to install 'libgdiplus' to get this working.~~
## Update - MonoGame integration
Using my wrapped monogame core loop **fsharp-gamecore**, this project now draws in real time. If you want a bitmap, feel free to walk back prior to this change in the commit history.
## Core RT
Because the core algorithm is quite slow (average 30 seconds on my i7), I have added CoreRT. If you run `dotnet publish -r win-x64` or `linux-x64` or `osx-x64` and have the right requirements for CoreRT (things like C++ Build tools on windows, or clang and supporting libs on linux) it will output an executable that is MUCH faster (i.e. 10x).