Thanks eceryone for your help, I figured it out half way. First of
all, I decided to get it to work just on Windows
for right now, I tried getPixel and setPixel in a loop to read and
write all the pixels to/from a buffer,
it works but it is just too slow. It takes 6 seconds to read all
pixels and 3 seconds to write them.
Now I'm using GetDIBits to capture a screenshot to a buffer which is
very fast and I can even
save it to a bitmap file. and I can change colors in buffer. The part
that I couldn't get it to work is
the SetDIBits which is suppose to show the buffer on screen.
On Jun 3, 5:55 pm, "jbwest" <jbw...@[EMAIL PROTECTED]
> wrote:
> "fungus" <openglMYSO...@[EMAIL PROTECTED]
> wrote in message
>
> news:9f7d5e71-68cc-41e2-84d7-d7e0b02462c2@[EMAIL PROTECTED]
>
> > On Jun 3, 9:59 am, Jonno <jo...@[EMAIL PROTECTED]
> wrote:
> >> There is no glGetPixel or glSetPixel in OpenGL.
> >> Windows API has GetPixel and SetPixel, and these (like all Windows
GDI
> >> functions) can draw to anywhere on thescreen, including other
programs'
> >> windows. But if you do this, the other programs will overwrite your
> >> pixels the next time they redraw.
>
> > I'm not sure even this works any more on Windows Vista.
>
> > --
> > <\___/>
> > / O O \
> > \_____/ FTB. Remove my socks for email address.
>
> Even if it did (a similar grab can be done in X11) its not quite what
was
> asked for.
> If anything on thescreenis changing in any way, this snap & replace
> approach won't be right.
> You'd have to snap & replace at refresh rate to make it "right" -- tough
to
> do.
>
> jbw


|