FrameBufferProperties

from panda3d.core import FrameBufferProperties
class FrameBufferProperties

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

Inheritance diagram

Inheritance diagram of FrameBufferProperties

__eq__(other: FrameBufferProperties)bool
__init__()
__init__(param0: FrameBufferProperties)
__ne__(other: FrameBufferProperties)bool
property accum_bitsint
addProperties(other: FrameBufferProperties)

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

property alpha_bitsint
property aux_floatint
property aux_hrgbaint
property aux_rgbaint
property back_buffersint
property blue_bitsint
clear()

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

property color_bitsint

Getter Setter

Sets the number of requested color bits as a single number that represents the sum of the individual numbers of red, green and blue bits. Panda won’t care how the individual bits are divided up.

See also setRgbaBits(), which allows you to specify requirements for the individual components.

property coverage_samplesint

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

property depth_bitsint

Individual queries.

Individual queries.

assigners.

Individual queries.

assigners.

property float_colorbool
property float_depthbool
property force_hardwarebool
property force_softwarebool
getAccumBits()int
getAlphaBits()int
getAuxFloat()int
getAuxHrgba()int
getAuxMask()int

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

getAuxRgba()int
getBackBuffers()int
getBlueBits()int
getBufferMask()int

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

getColorBits()int
getCoverageSamples()int

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

static getDefault()FrameBufferProperties

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

getDepthBits()int

Individual queries.

getFloatColor()bool
getFloatDepth()bool
getForceHardware()bool
getForceSoftware()bool
getGreenBits()int
getIndexedColor()bool
getMultisamples()int
getQuality(reqs: FrameBufferProperties)int

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.

getRedBits()int
getRgbColor()bool
getSrgbColor()bool
getStencilBits()int
getStereo()bool
property green_bitsint
property indexed_colorbool
isAnySpecified()bool

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

isBasic()bool

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.

isSingleBuffered()bool
isStereo()bool
property multisamplesint
output(out: ostream)

Generates a string representation.

property red_bitsint
property rgb_colorbool
setAccumBits(n: int)
setAllSpecified()

Marks all bits as having been specified.

setAlphaBits(n: int)
setAuxFloat(n: int)
setAuxHrgba(n: int)
setAuxRgba(n: int)
setBackBuffers(n: int)
setBlueBits(n: int)
setColorBits(n: int)

Sets the number of requested color bits as a single number that represents the sum of the individual numbers of red, green and blue bits. Panda won’t care how the individual bits are divided up.

See also setRgbaBits(), which allows you to specify requirements for the individual components.

setCoverageSamples(n: int)

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

setDepthBits(n: int)

Individual assigners.

setFloatColor(n: bool)
setFloatDepth(n: bool)
setForceHardware(n: bool)
setForceSoftware(n: bool)
setGreenBits(n: int)
setIndexedColor(n: bool)
setMultisamples(n: int)
setOneBitPerChannel()

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

setRedBits(n: int)
setRgbColor(n: bool)
setRgbaBits(r: int, g: int, b: int, a: int)

Convenience method for setting the red, green, blue and alpha bits in one go.

setSrgbColor(n: bool)
setStencilBits(n: int)
setStereo(n: bool)
setupColorTexture(tex: Texture)bool

Sets the texture up for render-to-texture matching these framebuffer properties.

Returns true if there was a format that had enough bits, false otherwise. Of course, this is no guarantee that a particular graphics back-end supports rendering to textures of that format.

setupDepthTexture(tex: Texture)bool

Sets the texture up for render-to-texture matching these framebuffer properties.

Returns true if there was a format that had enough bits, false otherwise. Of course, this is no guarantee that a particular graphics back-end supports rendering to textures of that format.

property srgb_colorbool
property stencil_bitsint
property stereobool
subsumes(other: FrameBufferProperties)bool

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

verifyHardwareSoftware(props: FrameBufferProperties, renderer: str)bool

Validates that the properties represent the desired kind of renderer (hardware or software). If not, prints out an error message and returns false.