Apply a surface material to everything in camera view?
I seem to recall a mention on the old board of a way to apply surface material settings to everything in the camera view, something like adding a Surface root to a Camera shader. Every time I try that, I crash DS. Was I completely misunderstanding that there was such a capability?
The reason I'm asking is that most of the "Geometry" bricks either won't hook up to an Imager root, or cause a crash on attempt to render, often with an error like
3Delight message #145 (Severity 1): S2073: 'SceneMin' is not a parameter of shader 'brickyard/{f3eb71f3-b546-44ee-bca1-1be75c26bfc5}/shader_Imager'
But I know, for example, that there ought to be a way to make a camera that assigns a grayscale value based on depth. And I'm pretty sure there ought to be a way to assign a value based on normal direction-- not as slick as the multipass outline I've been working on, but perhaps nice for some purposes.
Any suggestions?
Comments
Does anyone know if this kind of thing would be covered in the 3Delight or Renderman docs, and if so, where in those docs I might look? I'm not sure what the root nodes look like in RSL, but if anyone knows of an RSL camera shader that does something like this, I might be able to figure out a few more steps than I currently have....
I came across this and thought someone else might find it helpful:
http://www.vga.hr/resources/tutorials/3d/rsl/html/chapter_01.htm
This doesn't answer my question of the day, but it helps put some of the other docs I'm reading into context.
Wasn't that covered or something similar in the long thread on depth cue cameras.
http://forumarchive.daz3d.com/viewtopic.php?p=1924514#1924514
You need to change the forum.daz3d to forumarchive.daz3d to get any of the links to work
http://forumarchive.daz3d.com/viewtopic.php?t=116624
I just posted a thread with the links working in that compiled link list of Pen's...
http://www.daz3d.com/forums/discussion/8482/
The depth camera info is there, thanks, but my question about surfaces is not in that thread or the one immediately linked. JustTheBast referred to it here:
http://forumarchive.daz3d.com/viewtopic.php?p=3073138#3073138
But I've never seen a working example of a Surface root node in a camera shader. Whenever I try it, either DS crashes, or the render generates an error that prevents any further rendering until DS is restarted.
I used a Google site:forumarchive.daz3d.com search to see if I could find any other references to specifying surface parameters in a camera, but failed.
So I spent the evening experimenting with volume roots in camera shaders. No crashes, but I can't get Edge Blend or Toon Outline to create any effect in the image. :( I tried feeding different variables in to see if it just needed an array of points or something like that, but no luck. Then I tried a series of vector math attempts with normal, I, E, etc., and got nowhere with any of that, either.
Pendraia had an Edge Blend/Toon Outline shader with a Volume root working in an earlier version (.37? Does that sound right?) but I had a later version at that time, and couldn't get it to work. Now I'm left wondering if the effect Pen got was due to a bug, or if there's a bug now.... :-S
Did you try space transform? I had problems with my outline, but with the appropriate transform it worked fine. I suppose you must transform current to camera.
I haven't tried that yet. Were you also using a Volume root? It does seem likely that the fix will be something like a transform or a way to specify the coordinates somehow.
I haven't tried that yet. Were you also using a Volume root? It does seem likely that the fix will be something like a transform or a way to specify the coordinates somehow.
No, I don't work with volume, only surface. But in renderman shading lenguage transform is valid for volume blocks.
I can get a surface shader to work even without applying a transform. I can't get the volume shader to show the effect of any of the geometric functions, even with a transform. I suppose the problem is that the "Volume Atmosphere" wants to apply whatever effect I set up to the whole scene, and "Volume Interior" doesn't seem to do anything in a camera.
It's annoying, because I had some interesting ideas I wanted to try in a camera, but it looks like they can only be done with surfaces. I suppose I could create an "apply to all surfaces" script.... I just didn't want to touch the surface settings at all, so this would be an alternate render method for the same scene.