In my quest for hiding the platform-specific details of pbuffer
manipulation in my engine, I am now trying to get this to work
on the Macintosh. The Apple documentation is not enough
to help me over the rough spots (may05devdoc.dmg and its
associated OpenGL pdf)--a verbal description of the order of
calls and what they do, but not a single code sample to go with
it. Sorry, Apple folks, but some of us are not mind readers. I
downloaded the sample Xcode project, GLCarbon1ContextPbuffer,
but found it quite awkward and hackish--the pbuffer code and
application code are intertwined. A cleaner separation would
have been more instructive for me.
I appear to have gotten close, but no cigar. The pbuffer image,
attached as a texture to a screen polygon, is inverted (a reflection
in the y direction) and in the upper-left corner of my screen, but the
PC/Linux versions correctly display this in the lower-left corner.
The lower-left on the Mac has some garbage. Worse, the screen
polygon is flashing and my machine sounds like the hard disk was
given steroids, perhaps a whole lot of memory allocation I was not
expecting, causing swapping to disk. (I was also unable to get the
aglChoosePixelFormat approach to work, instead just sharing the
main renderer's context and creating a pbuffer from it--the opposite
problem that I had on my Linux box.)
At any rate, I am looking for a sample to learn from that is better
written than the Apple one. Anyone have any links to such a beast?