BUG: Scoping raytracing in VOPs

   4472   6   2
User Avatar
Member
7025 posts
Joined: July 2005
Offline
Hello,
Using the Trace VOP, I attach a Parameter set to List of Objects to the Scope input. When I try to use it, however, I notice a couple of unfortunate things. Blank means everything, which IMHO is wrong (should be * means everything!) and I cannot do /obj/nothing as a workaround, it also gives me everything!
Strangely, if I set my ROP to have Visible Objects set to only the obj with the raytrace shader on it, I can use another object that is not in the Visible Objects list, and that will effectively set the Trace scope to none.

Cheers,

Peter B
User Avatar
Staff
1449 posts
Joined: July 2005
Offline
I have submitted a bug to look into that. But, to clarify, the bug is about the inability to set nothing as a scope argument to the raytrace VOP, right?
User Avatar
Member
7025 posts
Joined: July 2005
Offline
Yeah, you should be able to set it to a blank field and have nothing be raytraced against (for that particular raytrace call).

Cheers,

Peter b
User Avatar
Staff
1449 posts
Joined: July 2005
Offline
BTW: asking around I've learnt that an empty string means to use the default reflection mask defined by the object which is probably set to “*”.
User Avatar
Member
7025 posts
Joined: July 2005
Offline
Hi Rafal,
Interesting and unintuitive ) I say unintuitive because it's called Reflection Mask, yet the raytrace scoping might be for something entirely unrelated… Ah well, now I know )

Cheers,

Peter B
User Avatar
Member
581 posts
Joined: July 2005
Offline
So raytrace calls in Mantra use the object reflection mask a an object set to know what againt to throw rays?
So i can use the reflection mask to limit the objects to throw rays to?
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
12485 posts
Joined: July 2005
Offline
Whats interesting about the VEX trace calls is that the instant you specify the “scope” argument that it'll ignore the Scope parameter in Object's parameters and use only what is specified to VEX. I personally wish the masks would be combined but what you can do is use the renderstate() function to find out what the object level mask should be and optionally use it instead. To this end it'd be great to have the Raytrace VOP support using the renderstate() functionality too.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
  • Quick Links