POV-Ray : Newsgroups : povray.binaries.images : Brute force rendering : Re: Brute force rendering Server Time
2 Aug 2024 04:17:42 EDT (-0400)
  Re: Brute force rendering  
From: Warp
Date: 26 Feb 2008 09:11:10
Message: <47c41dfe@news.povray.org>
Severi Salminen wrote:
> Warp wrote:
> 
>>   Speaking of which, does it handle total internal reflection properly?
> 
> Yeah, I think it does. But I don't have proper objects to test it
> properly so I'm not 100% sure yet.

  Try with the example at wikipedia:
http://en.wikipedia.org/wiki/Image:Total_internal_reflection.jpg

>>   (OTOH, that would also be something which should be specified with a
>> physically accurate BRDF instead of being hard-coded into the renderer...)
> 
> I have no idea how to represent an arbitary BRDF or BSDF. But you get
> quite far even with traditional refraction/specular/diffuse models.

  The problem with the "traditional" lighting models is that they are
not physically accurate and thus do not produce completely realistic
results.

  The whole reason why the "traditional" lighting models were developed
was precisely to avoid having to send millions of rays from each
intersection point. They try to approximate (often poorly) what would
happen if you would send the millions of rays and have a physically
accurate BRDF, but they are only approximations.

  If you are bruteforce-rendering anyways, using these limited lighting
models kind of becomes moot. They were created precisely for
non-bruteforce rendering because bruteforce rendering was unfeasible.
Now that you are bruteforce-rendering, there's no need to use them. You
can use realistic BRDFs.

  In principle a BRDF is quite simple: It's a function which takes an
incoming direction vector and an outcoming direction vector as (const)
parameters, and returns a factor for each color component between 0.0
and 1.0. That's it. Its usage is equally simple: When you have
calculated a ray which intersects a surface and want to reflect that ray
to some direction, you shoot that reflected ray and then multiply the
color returned by that ray with the factor returned by the BRDF of that
surface. This will be the color returned by the original incoming ray.

  Of course implementing the BRDF to be physically accurate is not that
simple.


Post a reply to this message

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