I’m working on WinXp machine using the opengl pipe and I cannot use setColorBits to request any bits other than ‘1’. Anything else crashes Panda, including the same colotbits as base.win
rdb, tried to request more bits on his Linux box and ran into the same problem. Has anybody gotten this to work?
I’m trying to play with deferred rendering systems, and I would like to get more precision for normals storage and to play a bit with HDR.
import direct.directbase.DirectStart
from direct.showbase.DirectObject import DirectObject
from panda3d.core import FrameBufferProperties, GraphicsPipe, GraphicsOutput, Texture, WindowProperties
winprops = WindowProperties.size( 1024, 1024 )
fbprops = FrameBufferProperties()
fbprops.setColorBits(24)
fbprops.setAlphaBits(1)
fbprops.setDepthBits(1)
fbprops.setStencilBits (1)
objBuffer = base.graphicsEngine.makeOutput(base.pipe, 'hello', 10, fbprops, winprops, GraphicsPipe.BFRefuseWindow, base.win.getGsg(), base.win)
def foo():
for i in range(0, 10):
taskMgr.step()
foo()
print objBuffer.getFbProperties()
The error message that it gives is:
:display(error): Could not get requested FrameBufferProperties; abandoning window.
requested: depth_bits=1 color_bits=24 alpha_bits=1 stencil_bits=1
got: depth_bits=1 color_bits=1 alpha_bits=8 stencil_bits=1 multisamples=16 force_hardware=1d
:display:wgldisplay(error): Could not share texture contexts between wglGraphics
StateGuardians.
I’ve tried requesting a 64bit window to start with in the prc, but no matter values I choose, I always end up with the same 32bit window.
depth_bits=24 color_bits=32 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware = 1
Has anybody else had any luck?