POV-Ray : Newsgroups : povray.programming : Photons, radiosity ? : Re: Photons, radiosity ? Server Time
6 Oct 2024 14:01:36 EDT (-0400)
  Re: Photons, radiosity ?  
From: Rafal 'Raf256' Maj
Date: 21 Nov 2002 20:14:30
Message: <Xns92CE16398C73Araf256com@204.213.191.226>
"Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote in 
news:Xns### [at] 204213191226

> also think that adding 
> trace() function to it may improve isosurfaces.

...by pre-counting it into mesh, or as above into structure made from 3d 
points. While using simple 3d array is nonsense because even 500x500x500 
will almost totaly eat up memory, using structures that inteligently save 
lit areas might be usefull for some situations.

If we ignore trace() function, the solution for 1D is a modiffied binary 
tree :

0        32   48   64
         /-------\ /\  this shape will be saved +/- in format :

area 0..32 is totaly empty

area 32..64 is complicated:
  area 32..48 is toatly lit, shape L-border 
     in point 32 with normal __ , texture __ etc
  area 48-64 is complicated:
    area 48..56 is LIT, with R-border in 56 with normal __ etc
  [...]

So each parent has 2 childs, each child can be :
- pointer to actual child structure
- information that child area is 100% empty
- information that child area is 100% LIT

plus - some extra informations for borders like normals (maybe pigments)  

Ofcourse final version will should be much more sufisticated to get reale 
speed improvment

-- 
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M


Post a reply to this message

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