It is currently Fri May 24, 2013 1:32 pm



Reply to topic  [ 10 posts ] 
 Stereo 3d view achieved within Game Engine? 
Author Message
One Eyed Hopeful

Joined: Thu Mar 05, 2009 9:17 pm
Posts: 3
After looking all over the web I came across your site and I was wondering if anyone here could help point me in the right direction, I am trying to produce a particular kind of stereo 3d game and educational application.

I have found out that there are ways to run more than one camera (with different color filters) in Maya and other rendering programs. This seems like it would be good for making a film or video where the creator produces the end result/scene that they want the viewer to see.

Then, there are other things out there (which I don't completely understand) that seem to take a frame (or series of frames in a scene) and split them into 2 images for viewing with various kinds of filters/glasses. However, I don't see how this does this correctly because, when a frame (or scene) is being split after completion, how does such a program know which objects are actually closer or further away (in order to split the view correctly)?

It would seem to me that, because the player/viewer may be closer to, or more distant from objects and backgrounds from one moment to the next, that the only way to determine which objects and backgrounds they are actually closer to, or more distant from (and to get an authentic camera separation from moment to moment) would need to be determined by various cameras in the actual GAME ENGINE itself. Correct me if I am wrong or if I have too naive of a view of the way things work (I am still a little new at this).

But, if I am correct, can you tell me name(s) of he game engine(s) that I would actually need to do this. Are there plugins involved? If this is possible, is it also possible to get more than one set of cameras and filters so that I can create a menu that my users could use to view the scenes with the various types of glasses/filters that are out there?

Basically, I want the player/viewer to be able to become two cameras with different filters (or more) rather than just one.

My current illustrator wants to use "Unity Engine." However, they have not yet written me back to let me know if it can do this or if it can be adapted to do this. Any help/info that anyone may have for me would be most appreciated. Thank you!

Regards,
Dok Lazlo


Thu Mar 05, 2009 10:23 pm
Profile
Certif-Eyable!
User avatar

Joined: Sat Dec 22, 2007 3:38 am
Posts: 1147
Location: Montpellier, France
Your intuition is good. Creating a stereoscopic image from normal flat images always has a flaw somewhere. There's always some part of the trick that doesn't look well.
The only way to provide flawless stereo vision is to have a true image for each eye. This implies for hollywood to shoot film with two cameras and 3d artists and games to render two views using two virtual cameras in the rendering engine.

Most 3D modeling and rendering programs have some way to create a set of cameras to render stereoscopic 3d, and most have plugins that make it easier and automatically for you).
Some rare game engines also have such a feature : the only game i know of to have such a feature is Trackmania United Forever (i think it's also in the free version "Trackmania Nations Forever", not sure). It can render the two views and output them as a video with the two views stacked side by side, or display it on any screen to watch with anaglyph coloured glasses (the good old and cheap red/cyan glasses).

Since almost all the other games we play do not have such a feature we use special drivers that modify the rendering process at the API level (DirectX) to create the two cameras and render the scene twice without the game knowing about it.
These drivers are like generic stereo3d plugin for all game engines at the same time : these drivers are the nvidia geforce 3Dvision driver, the iZ3D driver and the Tridef "DDD" driver.

These drivers are not perfect though, since the game developpers don't use them, and most do not even know about them, game developpers often use some programming tricks in their game engines that do not work anymore once you create a 2nd camera and move this camera : this produces visual anomalies or artifacts (stereo3D bugs). Sometimes stereo3d driver authors can find workarounds to make it work anyway but it requires a lot of time and ressources to do it and some bugs are simply impossible to solve without access to the actual game source code so do not expect perfect results in every game engine.

Once you get the two images you need some way to display them on the screen and this is when the filters mess is.
Coloured filters (anaglyph) is the ceapes and crappiest way to display stereoD because it needs to completely destroy a huge par of the colour information, but it works with every single screen in the world and is super cheap.
Finding a way to watch the images without destroying information is the goal of all stereod screens.

There are many different ways to do it (light polarisation, synchronized shutter systems, parallax barriers, head mounted displays with a different screen in front of each eye, etc...).
Yet there is no video transmission standard to send the two images from the computer to the display, so each display manufacturer decides it wants the images to be transmitter some way, and the 3d drivers on the computer must adapt to send the video information the way the screen manufacturer decided.
For technical reasons (mainly cost for implementing a technology), some screens cannot achieve full resolution for both images of the stereos3 pair, so the transmitted images do not require to be full resolution. This is why some 3D screens manage to claim they display stereo3D while using the same video cables and bandwidth as normal displays. Other 3D screens use two video cables in order to get the two images sent in full lossless quality.

So the stereo3D drivers need to adapt the rendered images to the transmit them to the display.
Unfortunately, not all 3d drivers are able to deal with all 3D displays, so depending on the display method you choose you will need a different driver.

If your application is not realtime (a video rendering) you can render both views in parallel, there are stereo3D video playback software able to grab the two video streams and convert them on the fly to the chosen 3D display transmission scheme.

If you give us more details on exactly what application you use and what display you are trying to display on we can give you more details on how to proceed.

_________________
Desktop : Intel Core i5-750, 4GB RAM, ATi HD5870, Windows 7 64bit
Laptop : Intel C2D-P8600, 4GB RAM, nvidia 9700M-GT, Windows Vista 64bit
Displaying Zalman Trimon 22" and 106" Passive polarised dual projector setup.
Watch my Stereo3D gaming video footage viewtopic.php?f=3&t=2020


Fri Mar 06, 2009 7:33 am
Profile
3D Angel Eyes (Moderator)
User avatar

Joined: Wed Dec 31, 1969 6:00 pm
Posts: 3883
Try Unigine: http://www.unigine.com.

They earned MTBS certification for implementing native stereoscopic 3D support.

Regards,
Neil

_________________
Image


Fri Mar 06, 2009 8:33 am
Profile WWW
One Eyed Hopeful

Joined: Wed Jun 10, 2009 3:09 pm
Posts: 2
The question was about "Unity Engine" my guess is he meant unity3d.com (it's free/cheap), rather than uniengine, which is not. I've got Unity (not Uni), and I'm also looking for iZ3D support.


Wed Jun 10, 2009 3:15 pm
Profile
Cross Eyed!
User avatar

Joined: Sat Apr 26, 2008 4:23 pm
Posts: 160
Location: Montréal, Canada
DokLazlo wrote:
...determine which objects and backgrounds they are actually closer to, or more distant from (and to get an authentic camera separation from moment to moment)...

Hi DokLazlo,
I might be misunderstanding your question; otherwise I wonder if you've maybe misunderstood how stereo images are captured/generated and displayed on a screen.
The two cameras do not need to replicate the converging behaviour of our eyes (turning inwards to converge on whichever object we're looking at). If they do that, the results will be very strange and geometrically wrong. The distance between the cameras doesn't need to change from moment to moment either (except to create unusual effects).
The geometry involved in creating natural stereo images is described here: link. In a nutshell: you space the cameras apart by the distance between your eyes, and then, in addition, you separate the two resulting images by that same distance on the physical screen surface. Nothing needs to change on the fly - all of the converging-on-objects is done by the viewer's real eyes when they view your stereo pair on the screen.

Does that answer your question, or have I totally misunderstood? :)


Thu Jun 11, 2009 3:36 am
Profile WWW
Binocular Vision CONFIRMED!

Joined: Sun Nov 23, 2008 11:53 pm
Posts: 284
Blackshark. Skate 2 for the PS3 has a 3D anaglyph mode built in


Thu Jun 11, 2009 1:36 pm
Profile
One Eyed Hopeful

Joined: Fri Jun 20, 2008 9:09 am
Posts: 21
Neil wrote:
Try Unigine: http://www.unigine.com.

They earned MTBS certification for implementing native stereoscopic 3D support.

Regards,
Neil


hey Neil,

Do you know any tutorial or document where it is explained?


Thu Jun 30, 2011 6:34 am
Profile
3D Angel Eyes (Moderator)
User avatar

Joined: Wed Dec 31, 1969 6:00 pm
Posts: 3883
Where what is explained? How to implement 3D support?

Regards,
Neil

_________________
Image


Thu Jun 30, 2011 1:21 pm
Profile WWW
One Eyed Hopeful

Joined: Fri Jun 20, 2008 9:09 am
Posts: 21
Yes, i want to know about how exactly i can add stereo feature in builds made in Unigine.
What hardware is required for development?


Fri Jul 01, 2011 12:41 am
Profile
3D Angel Eyes (Moderator)
User avatar

Joined: Wed Dec 31, 1969 6:00 pm
Posts: 3883
Ok, send me a PM with your email address, and I'll connect you with the right people. Are you a game developer? Please send all the pertinent details.

Regards,
Neil

_________________
Image


Fri Jul 01, 2011 10:01 am
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 10 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by STSoftware.