I asked in UnityAnswers, but I don’t think anyone really knows the answer, I’m hoping for someone from “the inside” could be able to answer this… Does or will Unity have support for QuadBuffer technology? If not native, via DLLs can I force quadbuffering?
It seems from some of the posts on multiscreen how to’s, that a number of Unity users are looking to build complex simulators. Of which we are too. Quad buffered stereo would be nice to have for these environments.
All the applications of stereoscopy in Unity that I’ve seen are done with passive technology. I sort of need some information about the possibility of Unity ever having native (or at least external if not already possible) support for QuadBuffer technology. If I can be sure that it can be done, I’m pretty sure I have a good chance of convincing the company I work for to migrate to Unity…
We would also like to have this option in Unity. We are developing ship inspection simulator named Survey Simulator and we are also incorporating stereoscopic rendering. Some info about our app can be found in link given in this topic:
We have achieved stereoscopic image through rendering odd frames for one eye and even frames for second eye. This works but it requires vsync to be enabled - synchronization is achieved through drivers but when frames per second value drops just a little below refresh rate value whole 3D effect is no longer visible. There are also problems with synchronizing frames to the proper eye. Quad buffered stereo option (no matter native or possible to force through external dlls) would greatly reduce our problems.
Are you talking about the package you sent me last time.If yes, then i agree as i also tried many things to achieve this, so i also request to add this feature. (if you have anything new in it, please provide me that i can test it and add if i can do something better with it)
Not only for me but for it will be important for unity too, because all other game designing software are adding this features, and whole game industry is currently talking about it.
rahuxx, we didn’t add anything new to the stereoscopy in our application.
Unity Team - could anyone respond if support for quad bufferin will be added to Unity some time in the future? It is quite crucial for what we are doing in our company. And I think it would open Unity for new market - stereoscopy is a very hot topic recently and many companies are developing applications for stereo displays. It would be very nice feature of Unity if support for quad buffering was added.
Yes Ekzuzy,
I stand with you on requirement of stereo 3d support.
I request all the people searching this option to vote here and put some pressure on Unity team.
If you want to achieve something you should work with some strategy and starting with research I think. In that case the first thing you will find is that posting here with a clear attitude to get on someones nuts will at best help you getting banned if you are pesky, which I neither think is your intend nor would it help your desire the slightest bit
If you want the feature to gain attention, put your votes on it on http://feedback.unity3d.com, thats how new features are requested and brought to attention
Kaeldur, we are not using shutter glasses. We use Infitec glasses with different wavelength filters for each eye (they preserve colors). Projector displays frame for one eye, then for second eye, again for first one - it also has wavelength filter which is applied to image (based on signal received from graphics card). So glasses doesn’t require any additional synchronization. With quad buffer stereo this would work “automagically” - graphics card generates proper signal for projector, no matter what is the FPS count at the moment. And it would allow us to control what image is displayed for each eye.
As long as the video card supports it, you should be able to set it up natively yourself in Unity. Not something I am going to look at for a few months but those links have some good information including the last one at the opengl site with some documents linked further in the thread.
The stereo effect we have achieved in the easies way possible right now (due to lack of quadbuffer support in Unity).
As I’ve written earlier, we are rendering one frame for first eye, another frame for the second eye, another frame for the first eye etc. This everything we do inside Unity, really.
Rest is managed by the graphics card drivers. We have Nvidia Quadro FX 3800 cards with stereo output. Drivers have the option to “force stereo shuttering”. Which means graphics card generates stereo synchronization signal not based on OpenGL’s quadbuffer rendering but based on the screen refreash rate (it starts to sync odd frames for one eye and even frames for second eye). Than, we are enabling vsync option in the driver, so we have steady 60 frames / sec. This way we can display stereoscopic image without native stereo support in application.
But this solution has flaws I’ve described earlier (serious ones). We can’t control which frame is displayed for which eye. So sometimes application can display wrong frames for each eye. In this situation we have to manually “swap the eyes” inside application (via hotkey - we just render one eye twice in a row).
Another flaw is that if we can’t have steady 60 FPS, we don’t have 3D. If scene is too complex to be displayed in 60 frames/sec or above - this scene can’t be watched in 3D. If something goes on in the background (i.e. operating system would do something computationally expensive), eyes can be switched again doe to wrong sync (because one or more frames were rendered longer than required and 60 frames couldn’t be rendered in one second). It would cause very noticeable flicker and eyes one again have to be swapped manually via the hotkey.
Right now we can’t overcome these problems, so many scenes, we have created, can’t be watched in 3D. Only some of them. Quadbuffer feature in Unity would greatly help us in repairing this issue because it allows to display 3D no matter how many frames/sec You have.
I hope I’ve helped some of You with this explanation. If something is unclear, do not hesitate to ask.
you have always helped!
what if i have geforce 9800 GT or a laptop with gefoece 330 GTM. Is there any option to improve stereo and let me say we are getting stereo on this cards too but with same issues like yours, but if nvidia can do stereo on geforce why we can’t?
I don’t know the answer to this question. I think Nvidia does it internally through the graphics drivers. It isn’t hard to offset the camera a bit to the left and a bit to the right and it can be done inside drivers without the need to change anything inside application or game engine. Problem is that it doesn’t give developer any control on how stereo image is displayed (i.e. stereo separation, focal length or camera projection type). Some of these things can be controlled by user but only if drivers provide some kind of interface.
I was once testing stereo on laptop through stereo drivers installed separately. They allowed to enable stereo in 3D applications without any changes in software itself. It worked, we’ve tested with different apps - but in Unity 3D made applications, unfortunately, it caused many glitches (errors in shaders like color changes, wrong lighting :-|). This particular solution was deprecated by Nvidia, I think. Now there is 3D Vision and technology is probably much improved. But we haven’t tested it so I can’t say anything about it.
Hi, Can you tell me How to achive stereoscopic image? I wanna to get the unity image and do some additional works such as geometric correction and then give it back to the graphic card to show a non-distorted image on a curve screen projected by projectors. thanks