Shortcut

Is there any method to draw an image held in texture memory straight to the frame buffer, without pulling it out to a bitmap first?

Um… a textured quad?

And you’re posting this in the Advanced forum? Boggle.

God, there seems to be a smugness about these forums. OK, to avoid the obvious -> without using textured geometry! i.e. draw it as a background image in window coordinates.

Um…A texture quad?

  1. Orthographic projection
  2. Render fullscreen textured quad
  3. Perspective projection
  4. draw rest of scene on top

…And you’re posting this in the Advanced forum? Boggle.

or maybe glDrawPixels. but that’s not an advanced technique either.

GreetingsFromMunich - ahh, I miss Munich - I don’t think glDrawPixels meets the requirement, because you can’t get a source pointer to texture memory.

geodude - actually I don’t think I was being smug. I’m so rusty these days that I tend to avoid the Advanced forum myself out of embarrassment. But if you’re going to ask a question which has a bleedin’ obvious answer, it’s only polite to explain up front why you refuse to accept that answer.

With no filtering, depth-test etc a textured quad is probably just as fast as your hypothetical pixel path. Maybe faster, since few driver writers care much about the pixel path these days.

hey mike, this may be not an advanced question at all, but when were you here for the last time- don’t say “in october” :stuck_out_tongue:

Oh, years and years ago. Around '96 I think. I was only there for about six months. And I missed the Oktoberfest by 2 weeks, dammit.

Fantastic place, though.

This may fit your needs. Not exactly texture memory though.

Overview

The buffer region extension is a mechanism that allows an area of
an OpenGL window to be saved in off-screen memory for quick
restores. The off-screen memory can either be frame buffer memory
or system memory, although frame buffer memory might offer optimal
performance.

A buffer region can be created for the front color, back color,
depth, and/or stencil buffer. Multiple buffer regions for the same
buffer type can exist.