RAW Shader
Thinking about bringing back the RAW Shader.
Q: Whats the RAW shader?
A: RAW is a Cinema4D channel shader that reads data directly from disc, rather than precaching it in memory.
A shader to read in height data, on demand, in realtime, rather than load this height or image data into memory, and waste your time and resources.
Why?
1. MemoryUsage
A small definable cache of 128kb and onwards is enough for the shader to work with. So if your data set is 50GB , you require at least 128kb of ram, as apposed to 50 GB of ram to work with the data.
2. Quick access to for files of unlimited size.
e.g. if you have a 30 GB height data, it would take ages for c4d to even load this as an image. And c4d would attempt to do that every time you render. Giving you a render initialization hit of a few minutes per frame, not including actually loading the data, in the first frame. The Raw shader doesn’t initialize anything, and only ever has to read what is visible at render time, as it is needed.
3.not just for height data.
Any image can be converted to raw and photoshop has had this ability for many years. It would however, be possible to modify the shader specifically to read in float height data, for those trying to work with extremely large data sets.
Pro
In this day and age, pretty much everyone has access to fast SSD, which eliminates the minor speed hit that the RAW shader had in some situations.
Yes memory is fast, and cheep, but, you first have to fill it, and once its filled, you cant use it for anything else. A shader, is surprisingly well suited to on demand data access, as the the actual image or data sample, is just small fraction of the surface calculation, meaning that it is almost blatantly wasteful to put images or height data into RAM, for the purposes of CPU based raytraced shading, in this day and age.
Contra
will only work with c4d render engines.
if your interested in this shader, and would like to see it redeveloped, or could use it now, get in touch , or vote for it on Uservoice..