JohnnyBGoode Posted October 11, 2005 Share Posted October 11, 2005 Hi all VOPs question.. The only way i seem to be able to orient my environment map to stay in world space (rather than camera space)with the Chrome Env VOP is by changing space to reference another objectt in the world - in my case a geo with a null at sop level (i couldnt get it working with just a null at object level) This is fine as it allows me to move the camera, and the environment map stays nicely in line with the world....however.... ..how can i make it so that it doesnt need to do this? I mean, everytime i want to use an environment map with my shader in this way, I will have to have an object to reference - as will anyone else wanting to use it. - which leads me to add that another problem seems to occur when i create a parameter to choose the object at shop level, it doesnt work at all! When i just choose an object in VOPs and make it default (ie dont create a parameter to choose it at SHOPs level) it works fine. confused, would appreciate help thanks guys J Quote Link to comment Share on other sites More sharing options...
Mario Marengo Posted October 11, 2005 Share Posted October 11, 2005 Hi there, The VEX shading contexts do not have a built-in "world" space. This is a long-standing RFE for some, and a non-issue for others... I'm squarely in the first camp, but I don't expect to see this implemented anytime soon, if ever. Passing a reference geometry (not null) object, which must be displayed at render time (!) and is usually empty, is currently, AFAIK, the only way in which to duplicate the "world space" functionality. As a side comment, it's interesting to note that some of the factory shaders (e.g: VEX Glass) that *do* make an "environment()" call (as opposed to a "reflectlight()" call), transform the lookup vector into *object* space... leading to all sorts of interesting and unexpected "special effects" I'm not sure what's going on with your SHOP parameter though, as it works fine over here... maybe you're forgetting to display the reference object when you render? Quote Link to comment Share on other sites More sharing options...
AndrewVK Posted October 11, 2005 Share Posted October 11, 2005 >> i couldnt get it working with just a null at object level Create Null object...jump to Render tab...activate "Output transform as render space" Quote Link to comment Share on other sites More sharing options...
JohnnyBGoode Posted October 12, 2005 Author Share Posted October 12, 2005 Hey guys - Thanks AndrewVK, solved the parameter problem. Thanks for the explanation Mario, I cant believe that this is the case, i find it quite annoying. As a basic explanation, all I am doing is using the Chome Env so that I can also mulitply that by a monocrome texture to use as a mask for the surface of my object - thus giving the impression that certain part of the surface are more reflective than others. I would have thought world space would be logical for a spherical environment map - i mean, the world IS the environment. Is there any other way I can do this - im sure reflect, but doesnt that bring its own issues as you mention? and I know you can put env maps into the diffuse and reflect sections of lights, but then how could i mask them for the surface in the same way (i suppose only reflect could do this)? Anyway, what i have now works fine and produces exactly what I want, its just a big shame to have to create a reference object each time - and expecting any artist who takes the shader to understand that. Quote Link to comment Share on other sites More sharing options...
sibarrick Posted October 12, 2005 Share Posted October 12, 2005 I use labels to add notes to shaders that need things like this. Artists tend to ignore them but when they scream it isn't working it reminds me why and makes me you good when I can instantly tell them why it isn't working. It's all job creation 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.