kensonuken Posted October 14, 2009 Share Posted October 14, 2009 i have installed 3delight in H and would like to render only sss in 3delight and render other passes using the H. Can u guys help me out how to render sss since in Maya sss needs an rib statement to render out properly but in H i believe its not there any hack for this? or any way pls... Quote Link to comment Share on other sites More sharing options...
Jason Posted October 14, 2009 Share Posted October 14, 2009 Well, figuring out HOW to render SSS in 3Delight is one story that I cannot help you with but I'll tell you that a good technique for combining the results of two renders is to avoid trying to blend the results of two renders in the compositing stage. What you should try is: a) render a non-motion-blurred image of the SSS in 3delight. read this render in your mantra shader using an NDC-space lookup (and output the value into an output variable) This will help avoid sampling differences between the two renderers, as Mantra will be taking care of all the motion-blur (along with the bulk of the shader). Quote Link to comment Share on other sites More sharing options...
brianburke Posted October 14, 2009 Share Posted October 14, 2009 i have installed 3delight in H and would like to render only sss in 3delight and render other passes using the H. Can u guys help me out how to render sss since in Maya sss needs an rib statement to render out properly but in H i believe its not there any hack for this? or any way pls... Having done this in PRman, I would reccomend you read the 3delight docs and find out what it is you need to your RIB file. I would imagine it would be something like some output variables like _area and _radiance, as well as the flags to turn of raster oriented dicing, backface culling, and hidden surface elimitation in your bake pass. All of this stuff is avaliable from the edit rendering parameters dialog on your RenderMan ROP. If the 3delight workflow is the same as PRman (I imagine it is), it all works seamlessly with Houdini. You shouldn't need to do any sort of rib filtering or anything. The Houdini-Renderman workflow for this sort of baking stuff is really good, very transparent to the user (unlike the RFM stuff). gl dude Quote Link to comment Share on other sites More sharing options...
Pazuzu Posted October 15, 2009 Share Posted October 15, 2009 Hi!! Can you post a hip file that contains the necesary parameters in the renderman ROP for the baking process (pointclouds or shadowmaps)? Please!!! Thanks. Quote Link to comment Share on other sites More sharing options...
Farsheed Ashouri Posted October 22, 2009 Share Posted October 22, 2009 (edited) 3Delight has a very nice built-in SSS support. Back in my Maya days, I implemented my own way to fast injecting the necessary code to my RIB and Ma files. Here is part of a python code that I wrote for my in-house pipeline. This is 3Delight SSS shader part and you should define the variables first: contents = ''' surface SSS_%s( ) { float Ka = %f,Kd = %f,Ks = %f ,roughness = %f ; string SaraFaceColor = "%s"; string SaraFaceReflection="%s"; normal Nn = normalize(N); normal Nf = faceforward(Nn, I); vector V = normalize(-I); color faceM; color faceR; if ( SaraFaceColor != "") { faceM = color texture(SaraFaceColor); } else { faceM = 1; } if ( SaraFaceReflection != "") { faceR = color texture(SaraFaceReflection); } else { faceR = 0; } uniform string raytype = "unknown"; rayinfo( "type", raytype ); Oi = Os; if( raytype == "subsurface" ) { Ci = Oi* (Ka * ambient() * Cs * faceM + Kd * diffuse(Nn)); } else { Ci = Oi*((subsurface(P) * Cs * faceM) + (Ks * specular(Nf, V, roughness) * faceR )) ; } } ''' % (sufix, Ambient, Diffuse, Specular, Roughness,cmap ,rmap ) Also make sure that you add this line to your RIB file: Add_code = "\t\tAttribute \"visibility\" \"string subsurface\" \"marble\"\r\n\r\n\t\t# parameters taken from the original BSSRDF paper.\r\n\t\tAttribute \"subsurface\"\r\n\t\t\t\"scattering\" [%f %f %f ]\r\n\t\t\t\"absorption\" [%f %f %f]\r\n\t\t\t\"refractionindex\" %f\r\n\t\t\t\"shadingrate\" %f\r\n\t\t\t\"scale\" %f" % (Scat1, Scat2, Scat3, Abso1, Abso2, Abso3, RefIn, Shadr, sca) As I mentioned you must define all of the variables. for example: Scat1 = 3.19 Scat2 = 3.62 Scat3 = 5.00 Abso1 = 0.0001 Abso2 = 0.02 Abso3 = 0.08 RefIn = 1.50 Shadr = 16.0 sca = 0.50 cmap = <your texture address> rmap = <your texture address> amb, dif, spec, rough = (0.1, 0.9, 0.1, 0.4) for i in ('Ambient', 'Diffuse', 'Specular','Roughness'): globals()[i] = .7 Good luck and keep me posted with your results. Edited October 22, 2009 by Farsheed Ashouri Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.