RSS< Twitter< etc
« Krakatoa MX 2 Wins 3D World Magazine's Best Plug-in CG Award 2012 | Main | XMesh Helps Hydraulx Bridge The Gap Between Max and Maya on The Avengers »
Thursday
Aug302012

Magma Loop Nodes and Genome Iterations Control Technology Preview

Loops are a powerful programming language feature, but the existing implementation of the Magma channel editing system only used implicit loops to visit each data record (particle, vertex, face etc.) and run the same operations on it. This system could be applied to a lot of cases where a single calculation is sufficient, but it did not allow for some more complex operations like evaluating all the neighbors of a given particle, vertex or face individually. 

The following First Look video shows a Work In Progress implementation of a Loop node which will soon be available in all Magma implementations (in Krakatoa MX, Genome MX and Ember MX). The Loop node is similar to the BLOP compound node already available in Magma and lets the user define an arbitrary number of inputs to be passed to the body of the Loop. Any number of these inputs can be specified as Modifiable, that means they become automatically outputs of the node and can be manipulated by the Loop's sub-flow. They can be used to accumulate values over multiple iterations or simply produce a final result based on the loop's calculations. The sub-flow of the Loop can define an exit condition and exposes the iteration counter to be used in calculations.

In this first example, we revisit an older Tutorial scene to demonstrate how a Loop node can make it more flexible and scalable:

But the Loop node does not solve another limitation of the existing Genome 1.0 modifier - in order to implement modifiers similar to the existing Relax, or to grow/shrink an existing selection, the complete modifier would have to be evaluated multiple times over its own results. To make these kinds of iterative modifiers possible, a new Iterations property will  be available in next version of the Genome modifier. The Iterations property is animatable and also allows 0 iterations, letting the user turn a modifier on and off over time, or to evaluate the same flow any number of times per frame.

In the following First Look video, you will see how a simple "Grow Face Selection" Genome modifier can turn into a surprisingly entertaining animation generator by just switching one logical test:

These new features are Work In Progress and are expected to become part of the shipping products later this year.