Stereo 3d view achieved within Game Engine?

Post Reply
DokLazlo
One Eyed Hopeful
Posts: 3
Joined: Thu Mar 05, 2009 9:17 pm

Stereo 3d view achieved within Game Engine?

Post by DokLazlo »

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
User avatar
BlackShark
Certif-Eyable!
Posts: 1156
Joined: Sat Dec 22, 2007 3:38 am
Location: Montpellier, France

Re: Stereo 3d view achieved within Game Engine?

Post by BlackShark »

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.
Passive 3D forever !
DIY polarised dual-projector setup :
2x Epson EH-TW3500 (2D 1080p)
Xtrem Screen Daylight 2.0, for polarized 3D
3D Vision gaming with signal converter : VNS Geobox 501
User avatar
Neil
3D Angel Eyes (Moderator)
Posts: 6882
Joined: Wed Dec 31, 1969 6:00 pm
Contact:

Re: Stereo 3d view achieved within Game Engine?

Post by Neil »

Try Unigine: http://www.unigine.com" onclick="window.open(this.href);return false;.

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

Regards,
Neil
DaveA
One Eyed Hopeful
Posts: 2
Joined: Wed Jun 10, 2009 3:09 pm

Re: Stereo 3d view achieved within Game Engine?

Post by DaveA »

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.
User avatar
phil
Cross Eyed!
Posts: 160
Joined: Sat Apr 26, 2008 4:23 pm
Location: Montréal, Canada
Contact:

Re: Stereo 3d view achieved within Game Engine?

Post by phil »

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? :)
Jadentheman
Binocular Vision CONFIRMED!
Posts: 284
Joined: Sun Nov 23, 2008 11:53 pm

Re: Stereo 3d view achieved within Game Engine?

Post by Jadentheman »

Blackshark. Skate 2 for the PS3 has a 3D anaglyph mode built in
rahuxx
One Eyed Hopeful
Posts: 21
Joined: Fri Jun 20, 2008 9:09 am

Re: Stereo 3d view achieved within Game Engine?

Post by rahuxx »

Neil wrote:Try Unigine: http://www.unigine.com" onclick="window.open(this.href);return false;.

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?
User avatar
Neil
3D Angel Eyes (Moderator)
Posts: 6882
Joined: Wed Dec 31, 1969 6:00 pm
Contact:

Re: Stereo 3d view achieved within Game Engine?

Post by Neil »

Where what is explained? How to implement 3D support?

Regards,
Neil
rahuxx
One Eyed Hopeful
Posts: 21
Joined: Fri Jun 20, 2008 9:09 am

Re: Stereo 3d view achieved within Game Engine?

Post by rahuxx »

Yes, i want to know about how exactly i can add stereo feature in builds made in Unigine.
What hardware is required for development?
User avatar
Neil
3D Angel Eyes (Moderator)
Posts: 6882
Joined: Wed Dec 31, 1969 6:00 pm
Contact:

Re: Stereo 3d view achieved within Game Engine?

Post by Neil »

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
Post Reply

Return to “General Stereoscopic 3D Discussion”