Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1127
  • Last Modified:

Bitmap background with OpenGL objects in front

Hi!

I have a bitmap (CBitmap) I want to use as a background when drawing OpenGL
objects on top of it (Visual C++ 4.0 in Windows 95), but I don't get it
right...
The OnDraw function works fine when drawing just the OpenGL objects, but
when trying to draw a background first, the screen just flash between the
OpenGL drawing and the background... (terrible!)
I use the following call to draw the background:

pDC->BitBlt(0, 0, m_cxWnd, m_cyWnd, m_pDCMem, 0, 0, SRCCOPY);

m_pDCMem is a DCD and gets a bitmap object from:  m_pDCMem->SelectObject(
pBM),  (pBM is a CBitmap object)

Do I have to use an OpenGL command to draw the background bitmap or is
there another solution?

Thanks!!
0
Krafer
Asked:
Krafer
1 Solution
 
RONSLOWCommented:
Don't use double buffering in OpenGL if you wish to mix GDI (eg BitBlt) with OpenGL.

If you still want the smoothness of double buffering, try rendering into an off-screen bitmap into which you first draw your background image (using BitBlt).

Using an off-screen bitmap for your rendering also gives you the advantage that you can print the view (you cannot directly render to a pritner device context)

For further info, you can eMail me on Roger_Onslow@compsys.com.au
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now