[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: OpenGL question
You could always allocate yourself an OpenGL texture and write to the
pixels before rendering it to the screen.
Checkout the tutorials at
There are a lot of examples of using textures.
----- Original Message -----
From: "Stephen J Baker" <email@example.com>
Sent: Tuesday, February 11, 2003 12:58 PM
Subject: Re: OpenGL question
> On Tue, 11 Feb 2003 firstname.lastname@example.org wrote:
> > does anybody knows if and how can I do a thing like
> > this in OpenGL?
> > unsigned char* pA000 = vga_getgraphmem();
> > pA000[pos] = color;
> You can't (nor are you ever likely to be able to).
> There are multiple problems with such a thing:
> 1) The graphics card is HEAVILY pipelined during OpenGL
> operations - when you draw a polygon, it may not appear
> on the screen until several milliseconds later. If you
> could just do raw screen accesses, who knows what partial
> junk you'd read.
> 2) There is no guarantee that there *are* any pixels laid
> out simply in memory. The if you are doing FSAA with the
> nVidia GeForce cards (for example), they are rending to a
> multi-sample buffer with up to four RGB samples per pixel.
> The new GeForceFX (if it ever appears) aparrently adaptively
> stores either whole pixels or partial sub-pixels depending
> on whether the pixel lies on the edge of a polygon or not.
> 3) What about windows that are partially overlaid by other
> Basically, this has not been possible since maybe the second generation
> of 3D graphics cards - and it's NEVER likely to be possible again.
> The simplistic idea that one memory-location == one pixel == one
> spot on the display is no longer valid with windowing systems,
> 3D and antialiasing.
> > With svgalib i can do this, but in OpenGL? Is there
> > a way to access the screen like an array (not only 320x200,
> > but also 640x480, etc.)
> No...nor should there be. Raw screen access died a couple of
> generations of hardware ago - and I didn't shed a tear to see it
> I would lay very good odds that whatever it is that you are
> trying to do with raw screen access could be done more efficiently
> using the OpenGL API.
> Steve Baker (817)619-2657 (Vox/Vox-Mail)
> L3Com/Link Simulation & Training (817)619-2466 (Fax)
> Work: email@example.com http://www.link.com
> Home: firstname.lastname@example.org http://www.sjbaker.org