By looking at unexpected artworks in other OpenGL programs, I did some excavations and found that you can upgrade Ubuntu OpenGL stack:
After updating, all GL rendering was faster (under the speed doubled below in my test programs) and without artifacts .
So to answer your own question: how can glFlush () define accuracy? When driver bugs are there.
=== Original Question ===
Or more correctly, What is the original bug with my classic ineffective non-shah ader-VBO-stuff?
cdef struct xyz: float x, y, z cdef inline zero_normal (xyz b, xyz a): glNormal3f (ax-bx, ay-bye, az-bz) cdef inline void _draw_quad (Xyz a, xyz b, xyz c, xyz d): glVertex3f glVertex3f (bx, by, bez) glVertex3f (cx, cy, cz) glVertex3f (dx, dy, dz) cdef void _draw_grid (xyz a, xyz b, xyz c, xyz d) Xyz a, xyz b, xyz c, xyz d): glBegin (GL_LINE_LOOP) _draw_quad (a, b, c, d) glend () .... # The main loop while releasing the appropriate functions through my data array ._buf.remaining ()> 0: op = self._buf.read_char () if op == _COLOR: col = self._buf.read_rgb () #print col glColor3f (col.r, col.g, col.b) Alief op (_BOX, _GRID) ): TL, tr, br, bl, trb, brb, tlb, blb = self._buf.read_xyz (), self._buf.read_xyz (), \ self._buf.read_xyz (), self._buf.read_xyz () , \ Self._buf.read_xyz (), self._buf.read_xyz (), \ self._buf.read_xyz (), self._buf.read_xyz () if op == _BOX: # print "box", colonel glBegin (GL_QUADS ) Func = _draw_quad other: # print "grid", colonel fanc = _draw_grid_normal (tlb, tl) func (tl, tr, br, bl) _normal (tl, tr) func (tr, trb, brb, br) _normal Tr, Tl) func (tl, tlb, blb, bl) _normal (tr, tl) func (tl, tlb, trb, tr) _normal (tl, tr) func (bl, blb, brb, br) _normal (tl, tlb) Func (tlb, trb, brb, blb) if op == _BOX: glend () #glFlush () Other: Increase exception ("corrupt sequence If I have a flush after each cube or wireframe, then I get this right rendering:
If I leave the flush - and I do not want to flush out clearly, even though I am not running the optimal open Gail path - I get this rendering wrong [/ em> , and this is a bug I do not understand:
I can not say right why not glFlush ()
calls unwanted results, but you want to ask a question about the question you asked some time ago You can. There can be some useful information in it.
For the solution, maybe a glaff ()
, in contrast to each cube, after the whole scene is rendered.
Comments
Post a Comment