Having some problems with volume procedurals I'm hoping someone can help me out with. If I load the density volume into a filecache and render the geo container straight, I get image A. If I load the density volume into a CVEX shader, perform a volume sample on it, and bind it to density, I don't get image A, I get something different. As I understand it all volumesample is doing is taking the volume primitive, getting a sample position, and returning the float value of the voxel at that position. So why is it giving a different result than a direct render? It looses a lot of detail. It also seems to put a ceiling limit on the density, and no amount of overcranking in the shader gets it back; Why would this happen?
Firstly, is my understanding of what is happening correct? Secondly, is there anything else going on with the volume procedural that I need to look out for? Octree divisions are set to 1 so that should just be a straight 1:1 voxel/sample right?
Have attached a simple debugging scene with a frame of a sim locked (hip file is ~210mb, sorry about that but I couldn't replicate the issue with a basic noisy volume to the same degree). I've just included the density for the sake of upload/download. You should just need to hit save to disk on the yellow filecache in pyro_direct so the procedural can read it, then render the 'mantra_direct' and 'mantra_procedural' to see the difference. Made initially in H16 but I resaved it with a H15.5 friendly volume shader. Any problems with the file let me know.
https://drive.google.com/open?id=0B_LM0kYodjpYNUpERkFBNWp3ZjA