secondary ray 2005-03-31 - By Halfdan Ingvarsson
Back Well.. I believe it's due to the fact that mi_trace_transparency can now be used with scanline rendering and rapid motion (in a manner of speaking) without triggering a ray cast and associated BSP tree generation/lookup (if the eye ray isn't modifed by a lens shader). So it changed from a 'ray' to a part of a compositing operation, but only if preceded by an unmodified eye ray. Go figure .
Personally, I also think it was a little bit odd.
- �
> -- --Original Message-- -- > From: owner-xsi@(protected) > [mailto:owner-xsi@(protected)]On Behalf > Of Alan Jones > Sent: Thursday, 31 March, 2005 10:54 > To: XSI@(protected) > Subject: Re: secondary ray > > > Strange that they changed that - If you wanted it a ray to remain what > it was wouldn't you just use mi_trace_continue and not bother having > another state created? > > Cheers, > > Alan. > > > On Thu, 31 Mar 2005 10:35:59 -0500, Halfdan Ingvarsson > <hingvars@(protected)> wrote: > > > > Exactly. mental images changed the semantics of the > transparency ray around > > version 3.2 (from a secondary to a primary ray) but the > shader did not get > > updated to reflect this. > > > > - � > > > > -- --Original Message-- -- > > From: owner-xsi@(protected) > [mailto:owner-xsi@(protected)]On Behalf Of > > Jim Rothrock > > Sent: Wednesday, 30 March, 2005 21:05 > > To: XSI@(protected) > > Subject: Re: secondary ray > > > > Gerbrand Nel wrote: > > > > still feels like it shouldn't work this way, if I make > something 100 % > > transparent but still have highlights running on it, > everything behind that > > object should be a secondary ray... because it's a refraction on the > > transparent object, even if the index of refraction is 1 > ??? does anyone > > else agree????? the funny thing is it starts working the > moment you change > > the index of refraction. usefull sometimes but isn't that > what the sprite > > shader is for????Without having the source code to the > shader you are using, > > I can make a guess about what is happening. If the > relative index of > > refraction is not 1.0, the ray direction must change, so > the shader calls > > mi_trace_refraction(). If the relative IOR is 1.0, the ray > direction will > > not change, so mi_trace_transparent() is called instead. > This is a speed > > optimization. mi_trace_transparent() will have > approximately the same > > effect as mi_trace_refraction(result, state, &state->dir), > but transparency > > rays are considered to be primary rays. From the mental > ray documentation: > > > > > > > > miRAY_PRIMARY(raytype) > > is true if the raytype is a primary or a transparency ray. > > -- Jim Rothrock | Stan Winston Digital | jimr@(protected) --- > > Unsubscribe? Mail Majordomo@(protected) with the > following text in body: > > unsubscribe xsi > > --- > Unsubscribe? Mail Majordomo@(protected) with the following > text in body: > unsubscribe xsi >
--- Unsubscribe? Mail Majordomo@(protected) with the following text in body: unsubscribe xsi
|
|