rendering somewhere into memory - not updating the window....

Hi folks,

i tried to get an opengl rendered scene onto a direct draw surface. The only problem i have is that each rendered scene refreshes the window - which overdraws the directdraw drawn part of the scene.
Is there a way (if yes, how) to set up opengl to render somewhere in memory without updating the window?

Please give me some ideas.
Thank’s in advance…

OpenGL+DirectDraw ~= Acid+Water in confined space

Wow,
a forum full of gurus!
I started 4 threads, basicly all the same question - how to get the f u c k i n g scene onto a directdraw surface. But not one constructive idea!

Thank’s for nothing!

WTF happened to the fine folks at SGI?

Omaha is right, you REALLY don’t wanna be trying to mix OpenGL and DirectDraw in the same device context. No amount of swearing on your part is going to change the fact that they don’t work well together.

Some options:

  1. Instead of using DirectDraw surfaces, use textured quads.
  2. Instead of rendering your 3d stuff with OpenGL, use Direct3D.

check the faq (www.opengl.org right side of page)

It is not good to mix the opengl with directx. If you want to use direct x also render with it…

It like good and evil, they just done mix well…

Originally posted by XFire:
[b]Hi folks,

i tried to get an opengl rendered scene onto a direct draw surface. The only problem i have is that each rendered scene refreshes the window - which overdraws the directdraw drawn part of the scene.
Is there a way (if yes, how) to set up opengl to render somewhere in memory without updating the window?

Please give me some ideas.
Thank’s in advance…[/b]

[This message has been edited by nexusone (edited 04-08-2002).]

Originally posted by XFire:
[b]Hi folks,

i tried to get an opengl rendered scene onto a direct draw surface. The only problem i have is that each rendered scene refreshes the window - which overdraws the directdraw drawn part of the scene.
Is there a way (if yes, how) to set up opengl to render somewhere in memory without updating the window?

Please give me some ideas.Thank’s in advance…[/b]

Just render to the back buffer and then you can use glReadPixels to get the pixels back. That is if you have a back buffer… what’s DirectDraw for? I suggest you listen to the others.

This method is not ideal actually. There is render to bitmap method (never tried it but MSDN had a demo) and then there are p-buffers (a bit complicated)

V-man

Asking a <dirty>X question in an OpenGL forum is like walking to an Porsche dealer and want them to fix your Volvo…

And as the others already pointed out <dirty>Draw/3D and OpenGL dont like each other.

I suggest that you ask this question 2 or 3 more times, because we opengl boys aren’t very clever and it takes us long to understand deep problems like yours.

hmm you kann render to offsreenbuffer (pbuffer). Donn’t if it help with you problem.