pberto Posted November 3, 2007 Share Posted November 3, 2007 Hi there. I am very new with Houdini, so apologize if the question is basic. Are the RSL shading functions hardcoded in Houdini or can I extend them at my pleasure? If so, how? For example, can I add the 'pointbased' argument to occlusion()? And how can I add a new shading function? For example I do not see area(). Thanks, Paolo Quote Link to comment Share on other sites More sharing options...
Jason Posted November 3, 2007 Share Posted November 3, 2007 Hi there.I am very new with Houdini, so apologize if the question is basic. Are the RSL shading functions hardcoded in Houdini or can I extend them at my pleasure? If so, how? For example, can I add the 'pointbased' argument to occlusion()? And how can I add a new shading function? For example I do not see area(). Thanks, Paolo Welcome Paolo, This is a very common issue with VOP nodes, unfortunately; even of VEX itself let alone RSL. Many of the base functions can take more arguments or have different argument sets which are not included/supported by the current VOP set. Hopefully SESI will one day extend the VOP feature-set to include all possible comibinations and variadic arguments - a lot of people have asked for this - and I'm sure it'd only take a day or two to make a complete sweep of all the VEX and RendermanSL functions. But! There is hope if you're willing to get your hands a little dirty. There are two or three or four ways to extend it: 1) The easy way is to use an Inline Code VOP - this allows you to insert your own code into the tree whereever you desire. 2) The next easiest (and I do this ALL the time) is using the RMB node menu, Operator Type Manager, you can duplicate the VOP (in the Houdini distribution) of your choice which is most similar to the function you're trying to add or modify - since most of them are just stored in OTLs (as opposed to C++ nodes). In your local copy you can modify it to accept more arguments. 3) Write your own VOP node HDA completely from scratch. 4) Write a complete shader in the text editor of your choice. See CustomOperators. Quote Link to comment Share on other sites More sharing options...
pberto Posted November 4, 2007 Author Share Posted November 4, 2007 Welcome Paolo, Thanks Jason! This is a very common issue with VOP nodes, unfortunately; even of VEX itself let alone RSL. Many of the base functions can take more arguments or have different argument sets which are not included/supported by the current VOP set. Hopefully SESI will one day extend the VOP feature-set to include all possible comibinations and variadic arguments - a lot of people have asked for this - and I'm sure it'd only take a day or two to make a complete sweep of all the VEX and RendermanSL functions.But! There is hope if you're willing to get your hands a little dirty. There are two or three or four ways to extend it: 1) The easy way is to use an Inline Code VOP - this allows you to insert your own code into the tree whereever you desire. 2) The next easiest (and I do this ALL the time) is using the RMB node menu, Operator Type Manager, you can duplicate the VOP (in the Houdini distribution) of your choice which is most similar to the function you're trying to add or modify - since most of them are just stored in OTLs (as opposed to C++ nodes). In your local copy you can modify it to accept more arguments. 3) Write your own VOP node HDA completely from scratch. 4) Write a complete shader in the text editor of your choice. See CustomOperators. Ok, looking into these solutions. Probably more questions will pop up (pop, not POP ). Since I am at it... is it also possible to extend the GUI for the renderer of my choice in order to support all its features? Example, I want to put some extra parameters for 3Delight. What is the workflow? And a stupid question: what would be the equivalent of the Maya .mel Attribute Editors? .OTLs? Tnx again, Paolo Quote Link to comment Share on other sites More sharing options...
kleer001 Posted November 5, 2007 Share Posted November 5, 2007 Not a stupid question. The OP's parameters is closest to the Attribute Editor. There you can add more parameters, copy and paste channels and expressions, oh the expressions. Here is one huge difference between Houdini and Maya. Expressions are channel based, not object based. What that means is that instead of the usual Maya workflow of putting all the expressions to control an object's channels in one string space each channel has its own expression space. I don't have a production based opinion on that method yet, but I think it could be a little cumbersome for new acolites. Another difference is that in Maya most objets have a transform node automagically tied to the object in question. In Houdini the transform node is at the user's discretion. One last tidbit. In my experience it is 10 times easier to build custom interfaces in Houdini than Maya. Did that answer your question? Was I way off? cheers, Clear And a stupid question: what would be the equivalent of the Maya .mel Attribute Editors? .OTLs?Tnx again, Paolo 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.