|
|
Hello,
I think that I have some idea that may speed up renders, BUT i'm still
"lame" in Pov code, so following ideas might seem very stupid :-/ is so -
please tell me ;)
I see that using photons and/or radiosity (both - with big count/spacing)
terrible slows down render.
If I understood corretly - each photons is saved, and most important
function needs to check if there is a photon that hits some (x,y,z) point
(with some tollerance ofcourse).
Let's discuss this problem in 2-D version - photons shining on plane (on
line) :
12345678 = x
-------- plane y=0
**-*----
there are 2 photons, and bin-tree (in 3d - octall-tree) stors them in
format :
is there any photon in 1..4 ? etc...
root
/ \
1-4 5-8(no)
/ \
1-2 2-3(no)
/ \
* *
is this correct ?
If so, then searching this tree (for large numbers of photons, like 80 MB
ram) tooks so much time and slows down *render* time (I know that photon-
shooting is ofcourse bigger fot bigger count).
So, any algrithm that will be able to
a) remember (x,y,z) point
b) tell is ther some point in (x,y,z) - (x+e,y+e,z+e) area
that will be faster then current implementation - will speed up rendering ?
If so - I have some promising ideas to test :)
Any opinions, suggestions are welcomed, I want to do somthing for POV but
need Yours help :P
--
#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
|
|