Stereo for soft viewer + renderman?

Something missing?
Post Reply
User avatar
steffen
Posts: 186
Joined: Fri 16. Jun 2006, 13:30
Location: TU Berlin
Contact:

Stereo for soft viewer + renderman?

Post by steffen » Sun 3. Sep 2006, 13:14

I'm currently thinking of stereo for the software viewer. We really should get this working for correct transparency (GFZ etc.). And, as soon as this works we can extend the renderman backend to write two rib files, trigger rendering of both pictures and then display these images in the same way the two software-rendered images are displayed.

Since quad-buffered stereo works now in jogl-backend, we can write a simple jogl stereo image viewer. This of course makes the stereo-software viewer depending on jogl. Or is there a way to render quad buffered from java2d?

Steffen.

timh
Posts: 28
Joined: Wed 28. Jun 2006, 20:30
Contact:

Post by timh » Thu 21. Sep 2006, 11:58

Stereo for the software viewer is of course possible. The most straight forward way would be to split the image the sw viewer renders into in half and to raster each triangle twice. Even simpler would be to flip the perspective projections every other frame, but one would have to to the whole traversion/transformation things twice each stereoframe and rendering time is the bottleneck anyway.

The new software viewer (currently under de.jreality.softveiwer) has a more or less working polygon intersection for ps export which in principle would make it possible to handle the transparency completely correct (the softviewer sill cannot render intersecting transparent triangles correctly) However that intersection algorithm is sill way to slow and has some numerical issues that need to be solved before it can become usefull.

Stereo for renderman should be straight forward as well. just geting the camera transformations for both of the eyes and seting them instead of the usuall projection matrix should do the job.

Quadbuffered stereo means you render in two offscreen buffers and then flip both with their two onscreen pals?

Tim

User avatar
steffen
Posts: 186
Joined: Fri 16. Jun 2006, 13:30
Location: TU Berlin
Contact:

Post by steffen » Fri 22. Sep 2006, 09:15

Even simpler would be to flip the perspective projections every other frame, but one would have to to the whole traversion/transformation things twice each stereoframe and rendering time is the bottleneck anyway.
This is how jogl backend renders stereo, but it sounds like this might cause synchronization problems - different scenes for both eyes. The best way would be to render both eyes in the same traversal.
Stereo for renderman should be straight forward as well. just geting the camera transformations for both of the eyes and seting them instead of the usuall projection matrix should do the job.
Charles already built in stereo support into the renderman backend. I thought of some sort of interactive renderman viewer, so that you can switch to some DisplayRenderman Viewer in the viewerapp. The viewer could be more or less the same as the software viewer when we seperate rendering into a (or two) BufferedImages and displaying these images.
Quadbuffered stereo means you render in two offscreen buffers and then flip both with their two onscreen pals?
Right - this is how one should render stereo if possible. Allows to show stereo not only in fullscreen mode but also in a frame with GUI.

Steffen.

timh
Posts: 28
Joined: Wed 28. Jun 2006, 20:30
Contact:

Post by timh » Fri 22. Sep 2006, 10:08

he best way would be to render both eyes in the same traversal.
True. better and easyer to do. I will look into that.
Charles already built in stereo support into the renderman backend. I thought of some sort of interactive renderman viewer, so that you can switch to some DisplayRenderman Viewer in the viewerapp. The viewer could be more or less the same as the software viewer when we seperate rendering into a (or two) BufferedImages and displaying these images.
Good. An interactive renderman viewer is of course not feasible. So it would only be a simple stereo image viewing. Stereo or not: a view renderman in the viewerApp would be nice. Aqsis has an xml and socket based based mechanism to feed the preview windows for its rendertasks. So It sould be possible and not too difficult to write a java client for that, which could receive the finished tiles and displays them in the viewerApp window. This would be aqsisi specific though.

Tim

Post Reply