Would this work - Novel Approach to Real Time Raytracing

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 01 January 2014   #1
Would this work - Novel Approach to Real Time Raytracing

I had an idea for real time ray-tracing, and I was wondering if you could critique it. Here is the process:

1. A scene is ray traced from the light (I.E. backwards ray-tracing).

2. Instead of looking for intersections with the camera plane, rays are stored in a new 3d scene.

3. A program opens the 3d scene, and looks for intersections with the camera plane (which the user can move in real time) and uses that as the image.
 
Old 01 January 2014   #2
Originally Posted by superhomosapien97: I had an idea for real time ray-tracing, and I was wondering if you could critique it. Here is the process:

1. A scene is ray traced from the light (I.E. backwards ray-tracing).

To my knowledge that's forward path tracing, backward raytracing from the old '86 papers and on is tracing from the eye on.

Quote: 2. Instead of looking for intersections with the camera plane, rays are stored in a new 3d scene.

What do you mean with "rays are stored"?
Storing a photon map of the hits? Or all paths? From the following paragraph it sounds like the latter.

Quote: 3. A program opens the 3d scene, and looks for intersections with the camera plane (which the user can move in real time) and uses that as the image.

Unless you use a ridiculous amount of data, you bump into the usual importance problem. Populating even a small volume with a couple lights with enough paths to render even a 480p resolution would require a density beyond ridiculous.
Without even a camera to help define importance the datasets would probably be several GBs and would need to be readily accessible.
You'd probably be better off to run a massively long render with several importance filters until you populate a volume densely enough to satisfy film back density (still a ton of data), and work on some clever interpolants and re-tracing from there.

While the approach itself might have some novelty (though I doubt it, it's probably more discarded than novel), the problems themselves you mention are nothing new.
There's a few decades of literature, and in the last decade more so than at any previous time in the history of rendering, about both abstracts and concrete issues with path tracing (backwards, forwards, bidirectional), estimators, acceleration structures and data compilation suitable to solve the problems and everything involved.

Real time rendering isn't my speciality, but unless I'm overlooking a nugget of brilliance in there (which is perfectly possible), you might simply be over-simplifying a problem that's been analysed and broken down to its finest grain for years now.

Your approach also involves static lights, and dynamic lighting is an important component in the appeal of a real time solution, so at that point you might as well just bake the illumination to textures and only solve camera dependent problems.
__________________
Come, Join the Cult http://www.cultofrig.com - Rigging from First Principles

Last edited by ThE_JacO : 01 January 2014 at 11:05 PM.
 
Old 01 January 2014   #3
Cool idea.

The light does not send out one ray. It sends out an infinite number of them in all directions. A number of them hit the scene (let's say it's one orange). And when each of those rays hit the orange each of them scatters in infinite directions. So you've got a lot of rays filling up the model and your picture plane is going to slice through a lot of them most of which weren't meant for the plane at this specific view. This is why we have eyes, not picture planes.

I can think of two ... approaches, I won't say "solutions" to dealing with this.

Do what the old folks did - camera obscura. Filter your rays by which ones pass through a very very small circle in front of the plane. The smaller the circle the better your depth of field if you build your picture cumulatively rather than first ray-plane intersection.

Second idea isn't coming together quite in my head. I got it thinking about about the purely specular solution. Not imagining the diffuse situation well. Anyway... check for not just "what rays intersect the plane" too many, most of them wrong do. Check for which ones intersect perpendicularly.

You know, I think... yeah see here http://www-cs-faculty.stanford.edu/...cing/types.html Forward tracing is the basis of "photon tracing". Read up on that and you might find some helpful material.

Either option you're still dealing with order of inifinity squared rays. You'd want a storage model that sorts them well so you can avoid testing them all. You know... The plane is in octant 5 therefore only test rays in octant five. This probably gets harder for walking around IN a room and easier for flying around OUTSIDE a planet.

I'd like to see it implemented. Even with 10,000 rays or something. In one window you see the model with all the stored rays bouncing around and the picture plane navigating through them. In the other window you see the picture. Maybe in the model view window the rays are all dim and the ones that end up making the picture show in their real color. This would work best with lousy quality. A good quality picture would need the rays too dense to look cool as a model. So you show only every millionth ray or something.

[I think the idea is doomed but I hate to let my cynicism harsh the future. I thought horseless carriages were a fad.]
 
Old 01 January 2014   #4
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
__________________
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 12:36 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.