Today I released an enormous update to my app Yttrium. This update is a complete rewrite and overhauls the entire way the app functions. Instead of using a layer-based system Yttrium now uses a node/graph-based system. Each object, material, and color has its own node. This makes creating a scene in Yttrium very visual and approachable. The great thing about node-based systems is that you can very quickly go from beginner- to intermediate- to expert-level. Start out with
Color nodes and scale up to writing custom geometry shaders.
Yttrium 2.0 also has a lot of other features besides the new UI:
You can finally rotate objects around all axis. This can be done in the
Positionnode. You might have to experiment with the values because they are not based on degrees.
There is also the ability to link custom objects. These objects aren't directly imported into your file, but rather linked to the original object file on your iPad/iPhone. This was done in order to keep files small and not overload older devices when opening files. When you reopen older files you might find, that you have to re-link custom objects, but I'm working on getting it all figured out.
With the inclusion of the material node, you can create materials with colors for diffuse, normal, reflection…. The nice thing about these options is, that you don't need to touch them if you don't want to. To change the color of a material, just connect a
Colornode to the diffuse property of the material.
Another option on a material is the
Geometry Shader. This allows you to connect a
Shadernode and write custom shader code for the geometry of the object. You can do some pretty cool stuff like animating water with this shader, that you can try out yourself, by copy-pasting this into a
float amp = 0.2;
float freq = 15.0;
vec2 nrm = _geometry.position.xz;
float len = length(nrm)+0.0001;
nrm /= len;
_geometry.position.xz = nrm * (len + amp * sin(freq * _geometry.position.y + u_time * 10.0));
There are many other small improvements that you will discover in the update. I didn't list them all, because some are specific to the new way that Yttrium operates.
I'm releasing this update knowing that 2.0 isn't perfect. Most things have gotten better, but some things have gotten worse (look at the AR preview for example). If you found a bug or have a feature request, please contact me. I'm very happy with the way Yttrium 2.0 turned out and am excited to improve it in future versions. Especially with the rumors in mind, that the next version of iOS will have a huge focus on productivity.