THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 23/01/2003 at 18:59, xxxxxxxx wrote:
Cinema 4D Version: 8.012
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;
This is a complicated one to explain, here goes...
I'm trying to write a C++ channel shader based on the SDK 'Bitmap Distortion' shader. As with that shader, another shader is used as an input channel.
If Bhodinut 3D noise is used as that input channel, I can't get valid data out - and this problem exists with the SDK shader as well.
1. Create a new material, and apply it to a primitive object.
2. Add alpha channel to material, and select SDK Bitmap Distortion for the channel. Leave params as default (no distortion).
3. Select edit for the channel shader, and select Bhodinut 3D noise.
The preview looks fine, but when rendered you just get a uniform grey value instead.
Now, the odd thing is that I found that if a 'fusion' block (with 0% blend) is put in front of the 'Bitmap Distortion' and the '3d noise' then the render works properly, even though this shouldn't have any effect. (I.e. Material->Fusion->BitmapDistort->3DNoise).
Unfortunately, this workaround causes my second problem.
It seems that if I animate parameters for shaders that are beneath an SLA fusion shader, then the animation doesn't appear in the final render (though in some cases you can preview any frame and everything works fine - but attempting to render out a sequence results in the shader animations not appearing).
So, how can I get my shader to grab valid data from a 3D noise channel shader, without having to hide the whole thing under a fusion shader? I.e. what code changes does the 'SDK Bitmap Distortion' example need so that it works as it should?
Any help MUCH appreciated, as I've already wasted far too long trying to get around these problems, and I need this for a current project.
Cheers - Steve
On 28/01/2003 at 01:53, xxxxxxxx wrote:
The first issue still stands (the example that required Fusion), any comments?
Regarding the second issue, I've narrowed down the problem. I've created a new thread 'Object Links during render?' as the current thread title isn't approriate.
On 29/01/2003 at 15:08, xxxxxxxx wrote:
I have reproduced the problem you describe. My guess is that BhodiNut had to do some hacks to get the 3D noise shader to work. Only Fusion, being a Bhodi-shader as well, knows how the noise shader wants to be sampled. Perhaps it creates its own VolumeData for it.
I'll ask the programmer if there's a workaround. Sorry for the delay in replying. Your problem description was very accurate. I hope the Fusion hack will work good enough if this is impossible to fix.
On 30/01/2003 at 03:47, xxxxxxxx wrote:
Sorry, there's no way. The SDK Shader modifies uv coordinates only. Bhodinut uses a very complicated internal messaging system if several of their own shaders are stacked into each other.
Generally a distortion shader can either modify 3d points or UVWs - depending on what the sample shader will evaluate.
On 30/01/2003 at 05:18, xxxxxxxx wrote:
Ok, thanks for the info.