  | | | secondary ray | secondary ray 2005-03-31 - By Halfdan Ingvarsson
Back 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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859 (See http://iso-8859.ora-code.com)-1"> <TITLE></TITLE>
<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD> <BODY text=#000000 bgColor=#ffffff> <DIV><SPAN class=801153515-31032005><FONT face=Arial color=#0000ff size=2>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.</FONT></SPAN></DIV> <DIV><SPAN class=801153515-31032005><FONT face=Arial color=#0000ff size=2></FONT></SPAN> </DIV> <DIV><SPAN class=801153515-31032005><FONT face=Arial color=#0000ff size=2> - ½</FONT></SPAN></DIV> <BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid"> <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma size=2>-- --Original Message-- --<BR><B>From:</B> owner-xsi@(protected) [mailto:owner-xsi@(protected)]<B>On Behalf Of </B>Jim Rothrock<BR><B>Sent:</B> Wednesday, 30 March, 2005 21:05<BR><B>To:</B> XSI@(protected)<BR><B>Subject:</B> Re: secondary ray<BR><BR></FONT></DIV>Gerbrand Nel wrote: <BLOCKQUOTE cite=mid003201c53503$4509c790$1600a8c0@(protected) type="cite"> <META content="MSHTML 6.00.2900.2604" name=GENERATOR> <DIV><FONT face=Arial size=2>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????</FONT></DIV></BLOCKQUOTE>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:<BR><BR> <P><TT> miRAY_PRIMARY(raytype)</TT><BR> is true if the raytype is a primary or a transparency ray.<BR></P><PRE class=moz-signature cols="72">-- Jim Rothrock | Stan Winston Digital | <A class=moz-txt-link-abbreviated href= "mailto:jimr@(protected)">jimr@(protected)</A> </PRE>--- Unsubscribe? Mail Majordomo@(protected) with the following text in body: unsubscribe xsi </BLOCKQUOTE></BODY></HTML>
|
|
 |