tjh@bucrf11.bu.edu (Tim Hall) (09/05/90)
'zdraw' only seems to work when in double buffer mode. When in singlebuffer mode things are drawn into the front buffer even when 'frontbuffer( FALSE )' and 'zdraw( TRUE )' have been called. Is this a bug or a feature? This is on a 4D-240 running 3.2. Will 'zdraw' ever be fully supported on PI's? -- -Tim Hall tjh@bu-pub.bu.edu The night is filled with the cries of dispossessed children in search of paradise. -Dead Can Dance
kurt@cashew.asd.sgi.com (Kurt Akeley) (09/05/90)
In article <1990Sep4.161847@bucrf11.bu.edu>, tjh@bucrf11.bu.edu (Tim Hall) writes: |> 'zdraw' only seems to work when in double buffer mode. When in singlebuffer |> mode things are drawn into the front buffer even when 'frontbuffer( FALSE )' |> and 'zdraw( TRUE )' have been called. Is this a bug or a feature? |> This is on a 4D-240 running 3.2. It is possible to disable drawing to the frontbuffer while zdraw is enabled and the GT/GTX is in singlebuffer mode. However, a coding error makes it difficult. On my 3.3 machine you must call frontbuffer(FALSE) after you call zdraw(TRUE) for this to work. The code was originally correct (I wrote it) but has since rotted because it is trying to do a complicated thing. The documents indicate that frontbuffer() is ignored while in singlebuffer mode. This made sense before zdraw() was introduced to the GL, but became a problem after. Our coding solution was to save the requested frontbuffer() state, but to disable drawing to the front buffer only while zdraw() was TRUE. Thus old code that counted on frontbuffer() being ignored in singlebuffer mode is unaffected, but drawing to the front buffer can be disabled while drawing to the zbuffer is enabled. Any way, a code change some time back caused frontbuffer state as well as actual enable to be changed only while either in doublebuffer mode or while zdraw is TRUE. Thus an initial call of frontbuffer(FALSE) is completely ignored, and a subsequent zdraw(TRUE) call cannot disable drawing to the frontbuffer. Only when frontbuffer(FALSE) is called while zdraw is TRUE can drawing to the frontbuffer disabled. |> |> Will 'zdraw' ever be fully supported on PI's? I don't do development for the Personal Iris, but from what I know of its hardware, I doubt it very much. -- kurt p.s. There is a good chance that future GL releases will NOT ignore frontbuffer() while in singlebuffer mode. This will simplify the code and probably satisfy current usage.