Surface data

Stuart Bennett sb476 at cam.ac.uk
Mon Sep 12 12:41:48 BST 2011


On 09/09/11 13:53, Wookey wrote:
> +++ Stuart Bennett [2011-09-09 13:39 +0100]:
>> Maybe it doesn't like me using the free opengl drivers :)
>
> You can submit a bugrep here: http://trac.survex.com/

"Service Temporarily Unavailable"

> (I've cc:ed the mailing list)
>
> Wookey

After more digging the problem appears to be some disagreement about 
Aven's rendering choices.

GLACanvas::FinishDrawing() calls wxGLCanvas::SwapBuffers() which in turn 
calls glXSwapBuffers(), to swap the front and back rendering buffers. 
Unfortunately Aven hasn't requested a double buffered visual, and 
(admittedly in nonconformity with the spec) glXSwapBuffers doesn't like it.

Changing SwapBuffers() to glFlush() in GLACanvas::FinishDrawing() fixes 
it (adopting a single buffer rendering model), or changing
	if (!InitGLVisual(NULL)) {
in aven.cc to
	int attribList[] = { WX_GL_DOUBLEBUFFER, 1, 0 };
	if (!InitGLVisual(attribList)) {
also works by requesting a double buffered visual to start with.

S



More information about the Survex mailing list