Panda3D
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties
Public Member Functions | Static Public Member Functions
FrameBufferProperties Class Reference

A container for the various kinds of properties we might ask to have on a graphics frameBuffer before we create a GSG. More...

List of all members.

Public Member Functions

 FrameBufferProperties ()
 FrameBufferProperties (FrameBufferProperties const copy)
 addProperties (FrameBufferProperties const other)
 Sets any properties that are explicitly specified in other on this object.
 clear ()
 Unsets all properties that have been specified so far, and resets the FrameBufferProperties structure to its initial empty state.
int getAccumBits ()
int getAlphaBits ()
int getAuxFloat ()
int getAuxHrgba ()
int getAuxMask ()
 Converts the aux bitplanes of the framebuffer into a RenderBuffer::Type.
int getAuxRgba ()
int getBackBuffers ()
int getBufferMask ()
 Converts the non-aux bitplanes of the framebuffer into a RenderBuffer::Type.
int getColorBits ()
int getCoverageSamples ()
 If coverage samples are specified, and there is hardware support, we use coverage multisampling.
int getDepthBits ()
int getForceHardware ()
int getForceSoftware ()
int getIndexedColor ()
int getMultisamples ()
int getQuality (FrameBufferProperties const reqs)
 Assumes that these properties are a description of a window.
int getRgbColor ()
int getStencilBits ()
int getStereo ()
bool isAnySpecified ()
 Returns true if any properties have been specified, false otherwise.
bool isBasic ()
 Returns true if the properties are extremely basic.
bool isSingleBuffered ()
bool isStereo ()
bool operator!= (FrameBufferProperties const other)
FrameBufferProperties operator= (FrameBufferProperties const copy)
bool operator== (FrameBufferProperties const other)
 output (ostream out)
 Sets any properties that are explicitly specified in other on this object.
 setAccumBits (int n)
 setAllSpecified ()
 sets all the specified bits.
 setAlphaBits (int n)
 setAuxFloat (int n)
 setAuxHrgba (int n)
 setAuxRgba (int n)
 setBackBuffers (int n)
 setColorBits (int n)
 setCoverageSamples (int n)
 If coverage samples are specified, and there is hardware support, we use coverage multisampling.
 setDepthBits (int n)
 setForceHardware (int n)
 setForceSoftware (int n)
 setIndexedColor (int n)
 setMultisamples (int n)
 setOneBitPerChannel ()
 If any of the depth, color, alpha, accum, or stencil properties is set to more than one, then they are reduced to one.
 setRgbColor (int n)
 setStencilBits (int n)
 setStereo (int n)
bool subsumes (FrameBufferProperties const other)
 Returns true if this set of properties makes strictly greater or equal demands of the framebuffer than the other set of framebuffer properties.
bool verifyHardwareSoftware (FrameBufferProperties const props, string renderer)
 Validates that the properties represent the desired kind of renderer (hardware or software).

Static Public Member Functions

static FrameBufferProperties const getDefault ()
 Returns a FrameBufferProperties structure with all of the default values filled in according to the user's config file.

Detailed Description

A container for the various kinds of properties we might ask to have on a graphics frameBuffer before we create a GSG.


Constructor & Destructor Documentation


Member Function Documentation

Sets any properties that are explicitly specified in other on this object.

Leaves other properties unchanged.

clear ( )

Unsets all properties that have been specified so far, and resets the FrameBufferProperties structure to its initial empty state.

Converts the aux bitplanes of the framebuffer into a RenderBuffer::Type.

Converts the non-aux bitplanes of the framebuffer into a RenderBuffer::Type.

If coverage samples are specified, and there is hardware support, we use coverage multisampling.

static FrameBufferProperties const getDefault ( ) [static]

Returns a FrameBufferProperties structure with all of the default values filled in according to the user's config file.

Assumes that these properties are a description of a window.

Measures how well this window satisfies a specified set of requirements. A higher quality number means that more requirements were satisfied. A quality of zero means that the window is unsuitable.

The routine deducts a lot if the window fails to provide a requested feature. It deducts less if the window provides a feature, but at a degraded level of functionality (ie, the user asks for rgba8, color, but the window only provides rgba4). The routine also deducts a small amount for unnecessary features. For example, if the window has an accumulation buffer when one is not requested will reduce quality slightly. Maximum quality is obtained when the window exactly matches the request.

If you want to know whether the window satisfies all of the requirements, use the "subsumes" function.

bool isAnySpecified ( )

Returns true if any properties have been specified, false otherwise.

bool isBasic ( )

Returns true if the properties are extremely basic.

The following count as basic: rgb or rgba, depth. If anything else is specified, the properties are non-basic.

bool isSingleBuffered ( )
bool isStereo ( )
bool operator!= ( FrameBufferProperties const  other)
FrameBufferProperties operator= ( FrameBufferProperties const  copy)
bool operator== ( FrameBufferProperties const  other)
output ( ostream  out)

Sets any properties that are explicitly specified in other on this object.

Leaves other properties unchanged.

setAccumBits ( int  n)

sets all the specified bits.

setAlphaBits ( int  n)
setAuxFloat ( int  n)
setAuxHrgba ( int  n)
setAuxRgba ( int  n)
setColorBits ( int  n)

If coverage samples are specified, and there is hardware support, we use coverage multisampling.

setDepthBits ( int  n)

If any of the depth, color, alpha, accum, or stencil properties is set to more than one, then they are reduced to one.

setRgbColor ( int  n)
setStereo ( int  n)
bool subsumes ( FrameBufferProperties const  other)

Returns true if this set of properties makes strictly greater or equal demands of the framebuffer than the other set of framebuffer properties.

bool verifyHardwareSoftware ( FrameBufferProperties const  props,
string  renderer 
)

Validates that the properties represent the desired kind of renderer (hardware or software).

If not, prints out an error message and returns false.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties