new Scatter Tool for Octane Standalone -mScatter-
Posted: Tue Jul 29, 2014 2:04 pm
Hi,
I coded scatter tool for Octane Standalone.
It takes heightmaps as inputs and painted distributions on the same heightmap and exports the scatter matrices into a .txt file.
That txt file is then loaded into a scatter node as usual.
It can also do random scattering.
It exports the scatter matrices according to the octane manual. The matrice format is fortunately standard transform matrix format like shown here. That made it easy.
http://www.cs.brandeis.edu/~cs155/Lecture_07_6.pdf
I coded it in a way, that it takes the heightmap and the painted distribution and calculates x,y,z position from that.
Then I apply some x,y,z scaling, some x,y,z rotation and some x,y,z shearing. Each of that gives a single matrix, and by matrix-multiplying all of them, you get one final matrix to be imported into the Octane Scatter node, and which combines translation, rotation, scaling and shearing. With all that, basically no instance looks like the other.
I did it mainly for self use a while ago, so that I can do landscapes in Octane. I am coming from landscape rendering. I am quite proficient on Matlab and quickly coded it there in a free minute. Unlucky, I have not done C for ages and have never done Lua.
If someone would like to translate the Code, then I am happy to share. It is all pretty basic coding.
I am sure, the Scatter tool can be done in Lua and with GUI.
Below are renders that I have done the last month.
Most vegetatation scenes have ~1GB GPU Ram in size and ~2000000 instances.
All rendered on my laptop with GTX780M/2GB
It is quite nice to see, how well Octane Standalone handles instancing.
Everything is CG, apart from skies in some pictures. The skies are composed photographs.
I coded scatter tool for Octane Standalone.
It takes heightmaps as inputs and painted distributions on the same heightmap and exports the scatter matrices into a .txt file.
That txt file is then loaded into a scatter node as usual.
It can also do random scattering.
It exports the scatter matrices according to the octane manual. The matrice format is fortunately standard transform matrix format like shown here. That made it easy.
http://www.cs.brandeis.edu/~cs155/Lecture_07_6.pdf
I coded it in a way, that it takes the heightmap and the painted distribution and calculates x,y,z position from that.
Then I apply some x,y,z scaling, some x,y,z rotation and some x,y,z shearing. Each of that gives a single matrix, and by matrix-multiplying all of them, you get one final matrix to be imported into the Octane Scatter node, and which combines translation, rotation, scaling and shearing. With all that, basically no instance looks like the other.
I did it mainly for self use a while ago, so that I can do landscapes in Octane. I am coming from landscape rendering. I am quite proficient on Matlab and quickly coded it there in a free minute. Unlucky, I have not done C for ages and have never done Lua.
If someone would like to translate the Code, then I am happy to share. It is all pretty basic coding.
I am sure, the Scatter tool can be done in Lua and with GUI.
Below are renders that I have done the last month.
Most vegetatation scenes have ~1GB GPU Ram in size and ~2000000 instances.
All rendered on my laptop with GTX780M/2GB
It is quite nice to see, how well Octane Standalone handles instancing.
Everything is CG, apart from skies in some pictures. The skies are composed photographs.