More please! It would also be remarkably awesome if you included the source code for some/all of these. I know that makes licencing tricky but you're relying on good will for the pricing so I think most people would do the right thing.
Recent community posts
"Update August 2018: The project is now freely available under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 license"
This is awesome and very generous. I'm really chuffed you've decided to do this and I'm hoping it will encourage more people to get involved.
However... CC licences aren't really meant for code: https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-softw...
The ShareAlike bit probably maps closest to a GPL licence which might be what you're really after.
The Non-commercial bit is trickier. It might be that GPL is all you need. It's pretty hard for people to abuse your code commercially if they have to release the source code. However - if you really need to restrict it further then this Quora question might be helpful: https://www.quora.com/Is-there-a-license-like-the-CC-BY-NC-SA-for-software - but bear in mind "non-commercial is a very tricky thing to define and can cause problems for projects that you probably would intuitively expect to regard themselves as non-commercial.
The real benefit to releasing this under an open licence is hopefully that other people can contribute to the project. With that in mind, will you be releasing the full source code?
> I'd love to see any code or snippets or general feedback on doing it in a way that's not too hacky!
I think it's more of a UI problem than it is a code problem. Where is 'cell' useful and how can you elegantly allow it to be used to modify other values.
One of the reasons I started messing around with Klak is that this feels like it should be a node-based graph thing rather than the hierarchy based UI you've currently got.
However - logically speaking you can create graphs with the inspector UI - they are just harder to visualise.
I think compiling a set of potential use-cases for 'cell' might help clarify both the code structure and the UI
1. Applying materials to a subset of cells based on a rule
2. Applying modifiers to a subset of cells based on a rule
3. Choosing primitives (or whole subtrees) based on the cell value and a rule
Hi. I hacked together a simple integration with Keijiro Takahashi's Klak ( https://github.com/keijiro/klak ) to allow procedural animation of raymarch inputs.
Grab it from here: https://github.com/IxxyXR/Klak-Raymarch
I also plan to implement a custom timeline clip type for animating the raymarcher - maybe similar to https://github.com/keijiro/ProceduralMotionTrack
Hi. I've been hacking the generated shaders to get effects such as shown below. I'd like to start modifying the built-in shader templates and snippets to make this reusable (and even animatable).
The changes are fairly simple.
1. Add an out parameter to the modifier snippet so that I can also return the value of cell
2. Declare cell in map() and add the extra parameter
3. Modify the radius in the function call to sphere() based on the value of cell.
4. Modify the material ID that map() returns based on the value of cell.
Obviously though - if I change the templates and snippets I've essentially forked your code and the burden for future updates will be on my shoulders.
So I wondered if you'd be interested in incorporating this feature in the official codebase? There's some further work needed to make this less hacky - probably the ability to add multiple materials to primitives and other ways to make use of the cell value.
It's something fairly easy to fix as other devs I've notified of the same problem fixed it instantly. I think it's something to do with the metadata regarding compatibility you set when you upload it to itch.
The itch.io app reports this as "Not available on Windows" which is obviously not right. It's probably incorrect metadata of some kind. Can you take a look as it's impossible to install via the app currently.
Isometric: (in technical or architectural drawing) incorporating a method of showing projection or perspective in which the three principal dimensions are represented by three axes 120° apart.