OpenGL Stereoscopic Display with 3D Vision and Samsung LCD Shutter Glass and display synch
I am developing my own stereoscopic 3D viewer using OpenGL with 380 card.
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
[quote name='gzhang207' post='979660' date='Jan 11 2010, 11:34 PM']I am developing my own stereoscopic 3D viewer using OpenGL with 380 card.
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
Can anybody help?
Thanks
Gary[/quote]
Hi Gary,
I'm also trying the same thing. I've read that someone use the extension wglSwapIntervalEXT
to sync the two images during glSwapBuffer.
Btw, which graphic card are you using? 380, you mean gtx 280?
I've observe that in my 285 I'm not able to set the PFD_STEREO flag...
did you already solve this problem?
I'm also trying the same thing. I've read that someone use the extension wglSwapIntervalEXT
to sync the two images during glSwapBuffer.
Btw, which graphic card are you using? 380, you mean gtx 280?
I've observe that in my 285 I'm not able to set the PFD_STEREO flag...
did you already solve this problem?
Thanks[/quote]
jhano,
It has to be a Quadro card. The GeForce GTX 285 will not work.
[url="http://www.nvidia.com/object/quadro_pro_graphics_boards.html"]NVIDIA 3D Vision for Quadro[/url]
[quote name='gzhang207' post='979660' date='Jan 11 2010, 05:34 PM']I am developing my own stereoscopic 3D viewer using OpenGL with 380 card.
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
This looks similar to what we use except we don't set PFD_SUPPORT_GDI. I found the latest 191.78 driver doesn't work well with our software. Only the middle of the screen will show good stereo, the top and bottom thirds of the screen will have severe crosstalk. I had to go back to the 191.00 driver to get decent results.
This looks similar to what we use except we don't set PFD_SUPPORT_GDI. I found the latest 191.78 driver doesn't work well with our software. Only the middle of the screen will show good stereo, the top and bottom thirds of the screen will have severe crosstalk. I had to go back to the 191.00 driver to get decent results.
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
Can anybody help?
Thanks
Gary
Pixel format set up.
static PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER | PFD_STEREO | PFD_SUPPORT_GDI,
PFD_TYPE_RGBA ,
32, // bit depth
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16, // z-buffer depth
0, 0, 0, 0, 0, 0, 0,
};
// Get device context only once.
hdc = GetDC()->m_hDC;
// Pixel format.
m_nPixelFormat = ChoosePixelFormat(hdc, &pfd);
SetPixelFormat(hdc, m_nPixelFormat, &pfd);
// Create the OpenGL Rendering Context.
hrc = wglCreateContext(hdc);
wglMakeCurrent(hdc, hrc);
Rendering Part.
/////////////////////////////////////////////////////
glDrawBuffer(GL_BACK_LEFT);
glClear(GL_COLOR_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos2i(x0, y0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glDrawPixels(g_img_width, g_img_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, gp_img_left);
////////////////////////////////////////////////////
glDrawBuffer(GL_BACK_RIGHT);
glClear(GL_COLOR_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos2i(x0, y0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glDrawPixels(g_img_width, g_img_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, gp_img_right);
SwapBuffers(hdc);
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
Can anybody help?
Thanks
Gary
Pixel format set up.
static PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER | PFD_STEREO | PFD_SUPPORT_GDI,
PFD_TYPE_RGBA ,
32, // bit depth
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16, // z-buffer depth
0, 0, 0, 0, 0, 0, 0,
};
// Get device context only once.
hdc = GetDC()->m_hDC;
// Pixel format.
m_nPixelFormat = ChoosePixelFormat(hdc, &pfd);
SetPixelFormat(hdc, m_nPixelFormat, &pfd);
// Create the OpenGL Rendering Context.
hrc = wglCreateContext(hdc);
wglMakeCurrent(hdc, hrc);
Rendering Part.
/////////////////////////////////////////////////////
glDrawBuffer(GL_BACK_LEFT);
glClear(GL_COLOR_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos2i(x0, y0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glDrawPixels(g_img_width, g_img_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, gp_img_left);
////////////////////////////////////////////////////
glDrawBuffer(GL_BACK_RIGHT);
glClear(GL_COLOR_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos2i(x0, y0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glDrawPixels(g_img_width, g_img_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, gp_img_right);
SwapBuffers(hdc);
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
Can anybody help?
Thanks
Gary[/quote]
Hi Gary,
I'm also trying the same thing. I've read that someone use the extension wglSwapIntervalEXT
to sync the two images during glSwapBuffer.
Btw, which graphic card are you using? 380, you mean gtx 280?
I've observe that in my 285 I'm not able to set the PFD_STEREO flag...
did you already solve this problem?
Thanks
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
Can anybody help?
Thanks
Gary
Hi Gary,
I'm also trying the same thing. I've read that someone use the extension wglSwapIntervalEXT
to sync the two images during glSwapBuffer.
Btw, which graphic card are you using? 380, you mean gtx 280?
I've observe that in my 285 I'm not able to set the PFD_STEREO flag...
did you already solve this problem?
Thanks
I'm also trying the same thing. I've read that someone use the extension wglSwapIntervalEXT
to sync the two images during glSwapBuffer.
Btw, which graphic card are you using? 380, you mean gtx 280?
I've observe that in my 285 I'm not able to set the PFD_STEREO flag...
did you already solve this problem?
Thanks[/quote]
jhano,
It has to be a Quadro card. The GeForce GTX 285 will not work.
[url="http://www.nvidia.com/object/quadro_pro_graphics_boards.html"]NVIDIA 3D Vision for Quadro[/url]
I'm also trying the same thing. I've read that someone use the extension wglSwapIntervalEXT
to sync the two images during glSwapBuffer.
Btw, which graphic card are you using? 380, you mean gtx 280?
I've observe that in my 285 I'm not able to set the PFD_STEREO flag...
did you already solve this problem?
Thanks
jhano,
It has to be a Quadro card. The GeForce GTX 285 will not work.
NVIDIA 3D Vision for Quadro
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
Can anybody help?
Thanks
Gary
Pixel format set up.
static PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER | PFD_STEREO | PFD_SUPPORT_GDI,
PFD_TYPE_RGBA ,
32, // bit depth
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16, // z-buffer depth
0, 0, 0, 0, 0, 0, 0,
};
// Get device context only once.
hdc = GetDC()->m_hDC;
// Pixel format.
m_nPixelFormat = ChoosePixelFormat(hdc, &pfd);
SetPixelFormat(hdc, m_nPixelFormat, &pfd);
// Create the OpenGL Rendering Context.
hrc = wglCreateContext(hdc);
wglMakeCurrent(hdc, hrc);
Rendering Part.
/////////////////////////////////////////////////////
glDrawBuffer(GL_BACK_LEFT);
glClear(GL_COLOR_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos2i(x0, y0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glDrawPixels(g_img_width, g_img_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, gp_img_left);
////////////////////////////////////////////////////
glDrawBuffer(GL_BACK_RIGHT);
glClear(GL_COLOR_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos2i(x0, y0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glDrawPixels(g_img_width, g_img_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, gp_img_right);
SwapBuffers(hdc);[/quote]
Gary,
This looks similar to what we use except we don't set PFD_SUPPORT_GDI. I found the latest 191.78 driver doesn't work well with our software. Only the middle of the screen will show good stereo, the top and bottom thirds of the screen will have severe crosstalk. I had to go back to the 191.00 driver to get decent results.
The nVidia Photo viewer works fine, but my own photo viewer has severe crosstalk, i.e. the left and right eyes are not in good
sync with the shutter glasses. The following are the major set up in MFC environment.
Can anybody help?
Thanks
Gary
Pixel format set up.
static PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER | PFD_STEREO | PFD_SUPPORT_GDI,
PFD_TYPE_RGBA ,
32, // bit depth
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16, // z-buffer depth
0, 0, 0, 0, 0, 0, 0,
};
// Get device context only once.
hdc = GetDC()->m_hDC;
// Pixel format.
m_nPixelFormat = ChoosePixelFormat(hdc, &pfd);
SetPixelFormat(hdc, m_nPixelFormat, &pfd);
// Create the OpenGL Rendering Context.
hrc = wglCreateContext(hdc);
wglMakeCurrent(hdc, hrc);
Rendering Part.
/////////////////////////////////////////////////////
glDrawBuffer(GL_BACK_LEFT);
glClear(GL_COLOR_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos2i(x0, y0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glDrawPixels(g_img_width, g_img_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, gp_img_left);
////////////////////////////////////////////////////
glDrawBuffer(GL_BACK_RIGHT);
glClear(GL_COLOR_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos2i(x0, y0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glDrawPixels(g_img_width, g_img_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, gp_img_right);
SwapBuffers(hdc);
Gary,
This looks similar to what we use except we don't set PFD_SUPPORT_GDI. I found the latest 191.78 driver doesn't work well with our software. Only the middle of the screen will show good stereo, the top and bottom thirds of the screen will have severe crosstalk. I had to go back to the 191.00 driver to get decent results.