sanostol Posted April 20, 2012 Share Posted April 20, 2012 (edited) When working with many shaders working with vexshaders that are not compiled, the ifd generation can take quite a while, especially when the shaders are quite complex, also the filesize gets quite big. When You compile it, mantra starts quite fast. what are Your way to deal with this, do You compile all Your shaders when you have a lot of shaders. what's your workflow? as long as the shader is not compiled You can easily modify it's way of working, at cost of speed. Do You have a vex/vop version for working on the actual shader and overwrite the compiled version, during development? Another issue is for example if You compile the mantrasurface shader shipped with houdini, you get errors with the compiled version (Bad parameter reference: "envMap"... ). killing that expression is no problem but why is it there, after compling? when using compiled shaders, ogl display does not work, too. if You copy paste that shader, houdini gives a warning about a warning "about invalid channel "vm_dispacebound" and "vm_truedisplace". again it renders but there is that warning message appearing, how can one avoid it? it only appears when copy/paste that compiled shader would be great if you share your thoughts / workflows EDIT: when working developing shaders with vex/vop and compiling them You have to switch the material pathes to the compiled one, sometimes materials can be set in different subnets, on obects, on soplevel, even in different takes. is there a way to find dependent nodes in python? the dependency pane gives you that info, but would be handy to have that in python, too, but I guess it is impossible to the them in other takes than the active Martin Edited April 21, 2012 by sanostol Quote Link to comment Share on other sites More sharing options...
sanostol Posted April 21, 2012 Author Share Posted April 21, 2012 ... ogl display does not work, too. adding OGL to the RenderMask in the Type properties fixed this Quote Link to comment Share on other sites More sharing options...
zarti Posted April 21, 2012 Share Posted April 21, 2012 .. would be great if you share your thoughts / workflows Martin i too am very interested to know more opinions and experiences in this context . !thanks Quote Link to comment Share on other sites More sharing options...
jim c Posted May 10, 2012 Share Posted May 10, 2012 Ditto, any takers? I'd love to know the workflow here, I've never done this myself. Quote Link to comment Share on other sites More sharing options...
old school Posted May 18, 2012 Share Posted May 18, 2012 Compile the shaders. If your scene has a single Mantra Surface shader in it and all objects reference it with parameter overrides, then you can get by without compiling. If your scene has more than one Mantra Surface Shader, compile it to your own .otl file saved on disk in the $HOUDINI_PATH like $HOME/houdini12/otls and use the compiled shaders. No more compilation hits when you render. There is an on-going discussion internally as to how to ship shaders. I toss my hat in to the shipping of pre-compiled shaders and if the user wishes to edit the shader, make a copy of the HDA and then allow editing of contents and make the modifications. 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.