branch free adaptive camera back
(L) [2006/07/09] [hanatos] [branch free adaptive camera] Wayback!Hey everyone.
i'm new here but have been reading your posts with quite some interest.. i must say, some very impressive results here.
not sure if an adaptive camera is acceptable for your needs. i thought it might be interesting for you as it helps me to get my inferior raytracing core to near realtime rates at near fullscreen [SMILEY Wink]
especially because i read about the idea to compile a raytracing game, as i think the camera would be particularily suited for that purpose.
quick outline of the algorithm:
- cast very few samples (one per 16x16 block or so) and construct kind of an importance map using a laplace filter and some heuristic.
- create a window-sized probability density function from that
- use 2d inversion method to sample more rays (as in [LINK http://www.cs.utah.edu/npr/papers/ajsecord_rw2002.pdf] here)
- use GL to draw some splats with size at about 1/sqrt(density*number of rays)
and some nice pictures as well:
[IMG #1 ]
thai statue with 6 256x256 blocks and 4096 additional rays each after probability density estimation
[IMG #2 ]
venus with same configuration
[IMG #3 ]
only additional rays
[IMG #4 ]
just 1024 extra/block
[IMG #5 ]
512 extra rays per block
note that the density is not exceeding 1 ray per pixel [SMILEY Smile]
as i use it for my GPL-raytracer, the source should be accessible here:
svn co [LINK https://svn.sourceforge.net/svnroot/rearview]
(rearview.sf.net is the homepage)
regards....[/img]
[IMG #1]:
![[IMG:#0]](images/20d8a062d06a878ef9eba1ace3bb50dfb1bd061f9ca1677accac9520cbe0cb13.jpg)
[IMG #2]:
![[IMG:#1]](images/35caf644b7b509a9f42ce9a2809f4ab43dde7a39e29289a0cc2c99bacbfd05ba.jpg)
[IMG #3]:
![[IMG:#2]](images/fb4ddf489ec7f8de89744e81b238c703d753e40e9e2037ef9202732f14ad50bc.jpg)
[IMG #4]:
![[IMG:#3]](images/3fa0ab5408329057ded013274b867834fe42dcb94c479de05b034daf57736188.jpg)
[IMG #5]:
(L) [2006/07/09] [Phantom] [branch free adaptive camera] Wayback!Nice pictures. And welcome on the board!
I'm not sure if your approach will help a lot; I think the rays are quite incoherent in your algorithm. Right now we cast several million of rays per second at models of that complexity (I believe Thai Statue is 10M?), so there's no need for approximations.
By the way, how does the adaptive camera handle materials (texturing, reflections) and shadows?
_________________
--------------------------------------------------------------
Whatever
(L) [2006/07/09] [hanatos] [branch free adaptive camera] Wayback!sorry if i wasn't very concise [SMILEY Smile]
it is still a recursive raytracer (even if the lighting here is restricted to spherical harmonics without shadows..), the camera is only just used to produce primary rays.
as the functions used to re-distribute the points over the viewing image are the cummulative density functions, the positions will -after the transformation- still be next to each other in the same way.
true that some are apart quite a bit, but at the denser parts the rays could still be cast in packets.
true also that at the end of the day approximations are not what anyone is after.. as i don't want to reproduce some kind of rasterization either [SMILEY Wink] just thought interactive framerates would be cool, because secondary rays will be incoherent at some point.
thai statue (yes, 10M), above config is running at 1.5 fps on my lousy 1.6 gig centrino with 512 megs ram which is about a very lousy 50k rays per second (while it's not paging..). would have been cool to see with a serious raytracer [SMILEY Wink]
(L) [2006/07/09] [Guest] [branch free adaptive camera] Wayback!...oh. maybe i missed your point: it adapts to color difference, not object boundaries. if that's what you hinted at with the shadows and reflections.
(L) [2006/07/09] [Phantom] [branch free adaptive camera] Wayback!Could that be changed to use depth info instead of color differences? I used something like that for adaptive super sampling.
_________________
--------------------------------------------------------------
Whatever
(L) [2006/07/09] [hanatos] [branch free adaptive camera] Wayback!..could, but would miss features like shadows.
(L) [2006/07/23] [Ono-Sendai] [branch free adaptive camera] Wayback!Neat idea hanatos!
_________________
[LINK http://indigorenderer.com/]
back