PhilY
05-21-2002, 04:13 AM
hi, I've posted something similar to this problem before; now I'm considering other alternatives that I think might work.
The previous post is here: http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/006339.html
Basically, I need to do some off-screen rendering using a certain extension that is not supported in software. Unfortunately, my card (3D Labs Oxygen GVX1) doesn't support auxiliary buffers or pbuffers.
Now I'm thinking... Can you create more than one device contexts (and the RC along with them) that will support hardware mode? If such is possible, this is what I'd wanna do with them:
1. Switch over to the newly created RC, but still displaying the original RC
2. Render stuff to the newly created RC, but still displaying the original RC
3. Read pixels from the newly created RC and store them in the memory
4. Switch over to the original RC and render stuff - whatever it was doing before.
Now, is that possible? How would I go about that?
If that's not possible, as I suspect it to be... I'm thinking of another way: expanding the screen resolution temporarily and render stuff "offscreen" I've tried to do that by just creating a viewport bigger than the current resolution; glreadpixels gave me just black screen when reading the not-displayed part.
So I'm thinking if I could make the resolution larger temporarily (say for 1024X768, something like 1800X768) and render stuff to the part that is not displayed on the monitor but still technically displayed since it's part of the screen resolution, I should be able to do read pixels. Screen clipping?
Does that sound too far-fetched? Is there any sources on the web that deal with stuff like this besides opengl.org? http://www.opengl.org/discussion_boards/ubb/smile.gif
I'd appreciate any input.
The previous post is here: http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/006339.html
Basically, I need to do some off-screen rendering using a certain extension that is not supported in software. Unfortunately, my card (3D Labs Oxygen GVX1) doesn't support auxiliary buffers or pbuffers.
Now I'm thinking... Can you create more than one device contexts (and the RC along with them) that will support hardware mode? If such is possible, this is what I'd wanna do with them:
1. Switch over to the newly created RC, but still displaying the original RC
2. Render stuff to the newly created RC, but still displaying the original RC
3. Read pixels from the newly created RC and store them in the memory
4. Switch over to the original RC and render stuff - whatever it was doing before.
Now, is that possible? How would I go about that?
If that's not possible, as I suspect it to be... I'm thinking of another way: expanding the screen resolution temporarily and render stuff "offscreen" I've tried to do that by just creating a viewport bigger than the current resolution; glreadpixels gave me just black screen when reading the not-displayed part.
So I'm thinking if I could make the resolution larger temporarily (say for 1024X768, something like 1800X768) and render stuff to the part that is not displayed on the monitor but still technically displayed since it's part of the screen resolution, I should be able to do read pixels. Screen clipping?
Does that sound too far-fetched? Is there any sources on the web that deal with stuff like this besides opengl.org? http://www.opengl.org/discussion_boards/ubb/smile.gif
I'd appreciate any input.