POV-Ray : Newsgroups : povray.newusers : Mirror Reflection : Re: Mirror Reflection Server Time
28 Sep 2024 07:36:55 EDT (-0400)
  Re: Mirror Reflection  
From: clipka
Date: 6 Jun 2012 20:59:38
Message: <4fcffcfa@news.povray.org>
Am 06.06.2012 22:47, schrieb ptsneves:
> clipka<ano### [at] anonymousorg>  wrote:
>> Am 06.06.2012 12:34, schrieb ptsneves:
>>> Hello I know this must sound an obvious question but i have taken the optics
>>> demo apart to ray trace a scene which reflects a directional photon beam with a
>>> mirror. The problem is that the beam stops at the mirror. I have tried to set
>>> the max_trace_level to higher numbers and still can't figure out why this
>>> doesn't work.
>>
>> As Stephen already mentioned, this is a known bug in 3.7 RC5; the next
>> release will fix it.
>
> Yep it seems that the original code i pasted works under 3.6 and not on 3.7. Is
> there a patch i can apply instead of waiting. The difference in render time is
> quite obvious

If you're using Linux, or have a way to build 3.7 RC5 for your system, 
then it should be quite simple. Change the backend/render/trace.cpp file 
as follows:

At the end of the function Trace::ComputeReflection() (somewhere near 
line 1290), replace the lines

   Colour tmpCol;
   TraceRay(nray, tmpCol, weight, ticket, false);
   RGBColour tmpCol2(tmpCol);
   if (finish->Irid > 0.0)
     ComputeIridColour(finish, Vector3d(nray.Direction),
                       Vector3d(ray.Direction), normal, ipoint, tmpCol2);
   colour += Colour(tmpCol2);

with

   if (!ray.IsPhotonRay() && (finish->Irid > 0.0))
   {
     Colour tmpCol;
     TraceRay(nray, tmpCol, weight, ticket, false);
     RGBColour tmpCol2(tmpCol);
     ComputeIridColour(finish, Vector3d(nray.Direction),
                       Vector3d(ray.Direction), normal, ipoint, tmpCol2);
     colour += Colour(tmpCol2);
   }
   else
   {
     TraceRay(nray, colour, weight, ticket, false);
   }

Then rebuild. That'll fix it.

If you can't build a modified 3.7 RC5 for your system, I'm afraid you'll 
have to wait for RC6.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.