If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
3D Stereo using eDimensional glasses and (non-game) OpenGL programs?
The Problem:
I would like to use low-cost, eDimensional (E-D Glasses, LCD flipping technology) stereo glasses with nVidia's stereo drivers in conjunction with an OpenGL program (written by me, its not a game). So far, I have not had any success in getting this to work. Any help would be appreciated. Details: The program displays a number O(10e2 - 10e5) of small particles as crudely rendered spheres (~17 vertices) that are false colored and flat shaded. The spheres move about in time in "animation mode", or can be rotated by a mouse when the animation is not playing ("static mode"). The program starts in static mode. The code is mature and works correctly under numerous Unix-like OSes and Windows 2K/XP (compiled with Microsoft Visual C++ 6.0/sp5 using Qt 3.x for the GUI and Windows port). For an example of the types of animations that are produced by this code, go to http://www.xipo.com/xpse and download one of the ''Sample Animations" near the end of the page. The test computer consists of a 933MHz PIII with a GeForce-2/GTS-Pro card (good enough for this purpose) and nVidia's XP-30.87 drivers with the stereo extensions installed. The glasses and drivers work GREAT with the driver demo and several standard games (e.g., Quake 2, Unreal Tornament, ...). I do not believe that I have any issues with the driver (as such) and hardware. The (lack of) solution so far: The problem is how to get my code to run as if it were a 3D game. I have tired renaming the executable to an (unused) game in the driver's program list that sets GL defaults. When I start my code with stereo enabled at the driver level, the program runs, but VERY slowly (e.g., ~1 frame per second!). There is absolutely no evidence that the image is being shifted left/right on frame buffer flips. When I exit the program, the system is generally unstable and I need to reboot after a short while!?! If I start the code and run without stereo enabled, the program works perfectly, easily achiving 10's of frames per second with 10e3 particles. I can easily vary the complexity of the scene and the number of verticies per particle,as well as add in additional geometric objects. Nothing has any effect on the 3D stereo results. The folks at Trolltech (writers of Qt) believe that the way they create the graphics widget and initialize GL is completely standard under Windows. They have never encountered anyone trying for 3D stereo codes with their product before. When animating particles, I use standard double buffering with front and rear buffers (NOT the stereo left/right buffers in GL). I doubt that regular games do anything different (but I could be wrong!). Other than the reference to the left-right stereo buffers, I see no other GL commands than relate to 3D stereo. Looking at nVidia's description of how the stereo drivers work, I see absolutely no reason why my code should not work correctly. I have tried to contact nVidia (and join their developer group) several times over the past year, but I have never had a response from them. 1. Does anyone have a small sample GL-based program that works with stereo glasses? 2. Is there some sort of "undocumented" (at least to me!) system or OpenGL call that can be used to toggle the glasses (flips) via the dongle? 3. As per 3, is there something I need to (or can) do in my code to initialize or enable the stereo mode of the nVidia drivers? tnx ... John G. Shaw |
Thread Tools | |
Display Modes | |
|
|