I'm trying to render a 3D scene into an array of color values and display it using xcb. I am inclined to rule out using xcb_poly_point() because it does not sound like it was designed for this.
According to this, if I want double buffering, I have to either use extensions that were already deprecated in 2009 or write to a pixmap and xcb_copy_area() it to the window, but I could not find any function to write pixels to pixmaps.
Another option I found was to use an XImage (or xcb_image_t I guess) instead of a pixmap, but there are no functions that manipulate the data array, which leads me to believe the operation is not exactly correct. Or is it?
Yet another option is to use shared memory. This seems closer to what I wanted to do ("I wrote into this array, use it"). Is this the way to go? Is there anything I should be aware of when writing to shared memory (never used it)? Should I be concerned that it is an extension?