FrameBufferProperties

from panda3d.core import FrameBufferProperties
class FrameBufferProperties

Bases: DTOOL_SUPER_BASE

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

__init__(*args, **kwargs)
accum_bits
addProperties()

C++ Interface: add_properties(const FrameBufferProperties self, const FrameBufferProperties other)

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

  • Leaves other properties unchanged.

*/

add_properties()

C++ Interface: add_properties(const FrameBufferProperties self, const FrameBufferProperties other)

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

  • Leaves other properties unchanged.

*/

alpha_bits
aux_float
aux_hrgba
aux_rgba
back_buffers
blue_bits
clear()

C++ Interface: clear(const FrameBufferProperties self)

/**
  • Unsets all properties that have been specified so far, and resets the

  • FrameBufferProperties structure to its initial empty state.

*/

color_bits
coverage_samples
depth_bits

Individual queries.

float_color
float_depth
force_hardware
force_software
getAccumBits()

C++ Interface: get_accum_bits(FrameBufferProperties self)

/**

*/

getAlphaBits()

C++ Interface: get_alpha_bits(FrameBufferProperties self)

/**

*/

getAuxFloat()

C++ Interface: get_aux_float(FrameBufferProperties self)

/**

*/

getAuxHrgba()

C++ Interface: get_aux_hrgba(FrameBufferProperties self)

/**

*/

getAuxMask()

C++ Interface: get_aux_mask(FrameBufferProperties self)

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

*/

getAuxRgba()

C++ Interface: get_aux_rgba(FrameBufferProperties self)

/**

*/

getBackBuffers()

C++ Interface: get_back_buffers(FrameBufferProperties self)

/**

*/

getBlueBits()

C++ Interface: get_blue_bits(FrameBufferProperties self)

/**

*/

getBufferMask()

C++ Interface: get_buffer_mask(FrameBufferProperties self)

/**
  • Converts the non-aux bitplanes of the framebuffer into a

  • RenderBuffer::Type.

*/

getColorBits()

C++ Interface: get_color_bits(FrameBufferProperties self)

/**

*/

getCoverageSamples()

C++ Interface: get_coverage_samples(FrameBufferProperties self)

/**
  • If coverage samples are specified, and there is hardware support, we use

  • coverage multisampling.

*/

getDefault()

C++ Interface: get_default()

/**
  • Returns a FrameBufferProperties structure with all of the default values

  • filled in according to the user’s config file.

*/

getDepthBits()

C++ Interface: get_depth_bits(FrameBufferProperties self)

// Individual queries.

// Individual queries.

/**

*/

getFloatColor()

C++ Interface: get_float_color(FrameBufferProperties self)

/**

*/

getFloatDepth()

C++ Interface: get_float_depth(FrameBufferProperties self)

/**

*/

getForceHardware()

C++ Interface: get_force_hardware(FrameBufferProperties self)

/**

*/

getForceSoftware()

C++ Interface: get_force_software(FrameBufferProperties self)

/**

*/

getGreenBits()

C++ Interface: get_green_bits(FrameBufferProperties self)

/**

*/

getIndexedColor()

C++ Interface: get_indexed_color(FrameBufferProperties self)

/**

*/

getMultisamples()

C++ Interface: get_multisamples(FrameBufferProperties self)

/**

*/

getQuality()

C++ Interface: get_quality(FrameBufferProperties self, const FrameBufferProperties reqs)

/**
  • 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()

C++ Interface: get_red_bits(FrameBufferProperties self)

/**

*/

getRgbColor()

C++ Interface: get_rgb_color(FrameBufferProperties self)

/**

*/

getSrgbColor()

C++ Interface: get_srgb_color(FrameBufferProperties self)

/**

*/

getStencilBits()

C++ Interface: get_stencil_bits(FrameBufferProperties self)

/**

*/

getStereo()

C++ Interface: get_stereo(FrameBufferProperties self)

/**

*/

get_accum_bits()

C++ Interface: get_accum_bits(FrameBufferProperties self)

/**

*/

get_alpha_bits()

C++ Interface: get_alpha_bits(FrameBufferProperties self)

/**

*/

get_aux_float()

C++ Interface: get_aux_float(FrameBufferProperties self)

/**

*/

get_aux_hrgba()

C++ Interface: get_aux_hrgba(FrameBufferProperties self)

/**

*/

get_aux_mask()

C++ Interface: get_aux_mask(FrameBufferProperties self)

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

*/

get_aux_rgba()

C++ Interface: get_aux_rgba(FrameBufferProperties self)

/**

*/

get_back_buffers()

C++ Interface: get_back_buffers(FrameBufferProperties self)

/**

*/

get_blue_bits()

C++ Interface: get_blue_bits(FrameBufferProperties self)

/**

*/

get_buffer_mask()

C++ Interface: get_buffer_mask(FrameBufferProperties self)

/**
  • Converts the non-aux bitplanes of the framebuffer into a

  • RenderBuffer::Type.

*/

get_color_bits()

C++ Interface: get_color_bits(FrameBufferProperties self)

/**

*/

get_coverage_samples()

C++ Interface: get_coverage_samples(FrameBufferProperties self)

/**
  • If coverage samples are specified, and there is hardware support, we use

  • coverage multisampling.

*/

get_default()

C++ Interface: get_default()

/**
  • Returns a FrameBufferProperties structure with all of the default values

  • filled in according to the user’s config file.

*/

get_depth_bits()

C++ Interface: get_depth_bits(FrameBufferProperties self)

// Individual queries.

// Individual queries.

/**

*/

get_float_color()

C++ Interface: get_float_color(FrameBufferProperties self)

/**

*/

get_float_depth()

C++ Interface: get_float_depth(FrameBufferProperties self)

/**

*/

get_force_hardware()

C++ Interface: get_force_hardware(FrameBufferProperties self)

/**

*/

get_force_software()

C++ Interface: get_force_software(FrameBufferProperties self)

/**

*/

get_green_bits()

C++ Interface: get_green_bits(FrameBufferProperties self)

/**

*/

get_indexed_color()

C++ Interface: get_indexed_color(FrameBufferProperties self)

/**

*/

get_multisamples()

C++ Interface: get_multisamples(FrameBufferProperties self)

/**

*/

get_quality()

C++ Interface: get_quality(FrameBufferProperties self, const FrameBufferProperties reqs)

/**
  • 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.

*/

get_red_bits()

C++ Interface: get_red_bits(FrameBufferProperties self)

/**

*/

get_rgb_color()

C++ Interface: get_rgb_color(FrameBufferProperties self)

/**

*/

get_srgb_color()

C++ Interface: get_srgb_color(FrameBufferProperties self)

/**

*/

get_stencil_bits()

C++ Interface: get_stencil_bits(FrameBufferProperties self)

/**

*/

get_stereo()

C++ Interface: get_stereo(FrameBufferProperties self)

/**

*/

green_bits
indexed_color
isAnySpecified()

C++ Interface: is_any_specified(FrameBufferProperties self)

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

*/

isBasic()

C++ Interface: is_basic(FrameBufferProperties self)

/**
  • 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()

C++ Interface: is_single_buffered(FrameBufferProperties self)

/**

*/

isStereo()

C++ Interface: is_stereo(FrameBufferProperties self)

/**

*/

is_any_specified()

C++ Interface: is_any_specified(FrameBufferProperties self)

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

*/

is_basic()

C++ Interface: is_basic(FrameBufferProperties self)

/**
  • 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.

*/

is_single_buffered()

C++ Interface: is_single_buffered(FrameBufferProperties self)

/**

*/

is_stereo()

C++ Interface: is_stereo(FrameBufferProperties self)

/**

*/

multisamples
output()

C++ Interface: output(FrameBufferProperties self, ostream out)

/**
  • Generates a string representation.

*/

red_bits
rgb_color
setAccumBits()

C++ Interface: set_accum_bits(const FrameBufferProperties self, int n)

/**

*/

setAllSpecified()

C++ Interface: set_all_specified(const FrameBufferProperties self)

/**
  • Marks all bits as having been specified.

*/

setAlphaBits()

C++ Interface: set_alpha_bits(const FrameBufferProperties self, int n)

/**

*/

setAuxFloat()

C++ Interface: set_aux_float(const FrameBufferProperties self, int n)

/**

*/

setAuxHrgba()

C++ Interface: set_aux_hrgba(const FrameBufferProperties self, int n)

/**

*/

setAuxRgba()

C++ Interface: set_aux_rgba(const FrameBufferProperties self, int n)

/**

*/

setBackBuffers()

C++ Interface: set_back_buffers(const FrameBufferProperties self, int n)

/**

*/

setBlueBits()

C++ Interface: set_blue_bits(const FrameBufferProperties self, int n)

/**

*/

setColorBits()

C++ Interface: set_color_bits(const FrameBufferProperties self, int n)

/**
  • 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 set_rgba_bits, which allows you to specify requirements for the

  • individual components.

*/

setCoverageSamples()

C++ Interface: set_coverage_samples(const FrameBufferProperties self, int n)

/**
  • If coverage samples are specified, and there is hardware support, we use

  • coverage multisampling

*/

setDepthBits()

C++ Interface: set_depth_bits(const FrameBufferProperties self, int n)

// Individual assigners.

// Individual assigners.

/**

*/

setFloatColor()

C++ Interface: set_float_color(const FrameBufferProperties self, bool n)

/**

*/

setFloatDepth()

C++ Interface: set_float_depth(const FrameBufferProperties self, bool n)

/**

*/

setForceHardware()

C++ Interface: set_force_hardware(const FrameBufferProperties self, bool n)

/**

*/

setForceSoftware()

C++ Interface: set_force_software(const FrameBufferProperties self, bool n)

/**

*/

setGreenBits()

C++ Interface: set_green_bits(const FrameBufferProperties self, int n)

/**

*/

setIndexedColor()

C++ Interface: set_indexed_color(const FrameBufferProperties self, bool n)

/**

*/

setMultisamples()

C++ Interface: set_multisamples(const FrameBufferProperties self, int n)

/**

*/

setOneBitPerChannel()

C++ Interface: set_one_bit_per_channel(const FrameBufferProperties self)

/**
  • If any of the depth, color, alpha, accum, or stencil properties is set to

  • more than one, then they are reduced to one.

*/

setRedBits()

C++ Interface: set_red_bits(const FrameBufferProperties self, int n)

/**

*/

setRgbColor()

C++ Interface: set_rgb_color(const FrameBufferProperties self, bool n)

/**

*/

setRgbaBits()

C++ Interface: set_rgba_bits(const FrameBufferProperties self, int r, int g, int b, int a)

/**
  • Convenience method for setting the red, green, blue and alpha bits in one

  • go.

*/

setSrgbColor()

C++ Interface: set_srgb_color(const FrameBufferProperties self, bool n)

/**

*/

setStencilBits()

C++ Interface: set_stencil_bits(const FrameBufferProperties self, int n)

/**

*/

setStereo()

C++ Interface: set_stereo(const FrameBufferProperties self, bool n)

/**

*/

set_accum_bits()

C++ Interface: set_accum_bits(const FrameBufferProperties self, int n)

/**

*/

set_all_specified()

C++ Interface: set_all_specified(const FrameBufferProperties self)

/**
  • Marks all bits as having been specified.

*/

set_alpha_bits()

C++ Interface: set_alpha_bits(const FrameBufferProperties self, int n)

/**

*/

set_aux_float()

C++ Interface: set_aux_float(const FrameBufferProperties self, int n)

/**

*/

set_aux_hrgba()

C++ Interface: set_aux_hrgba(const FrameBufferProperties self, int n)

/**

*/

set_aux_rgba()

C++ Interface: set_aux_rgba(const FrameBufferProperties self, int n)

/**

*/

set_back_buffers()

C++ Interface: set_back_buffers(const FrameBufferProperties self, int n)

/**

*/

set_blue_bits()

C++ Interface: set_blue_bits(const FrameBufferProperties self, int n)

/**

*/

set_color_bits()

C++ Interface: set_color_bits(const FrameBufferProperties self, int n)

/**
  • 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 set_rgba_bits, which allows you to specify requirements for the

  • individual components.

*/

set_coverage_samples()

C++ Interface: set_coverage_samples(const FrameBufferProperties self, int n)

/**
  • If coverage samples are specified, and there is hardware support, we use

  • coverage multisampling

*/

set_depth_bits()

C++ Interface: set_depth_bits(const FrameBufferProperties self, int n)

// Individual assigners.

// Individual assigners.

/**

*/

set_float_color()

C++ Interface: set_float_color(const FrameBufferProperties self, bool n)

/**

*/

set_float_depth()

C++ Interface: set_float_depth(const FrameBufferProperties self, bool n)

/**

*/

set_force_hardware()

C++ Interface: set_force_hardware(const FrameBufferProperties self, bool n)

/**

*/

set_force_software()

C++ Interface: set_force_software(const FrameBufferProperties self, bool n)

/**

*/

set_green_bits()

C++ Interface: set_green_bits(const FrameBufferProperties self, int n)

/**

*/

set_indexed_color()

C++ Interface: set_indexed_color(const FrameBufferProperties self, bool n)

/**

*/

set_multisamples()

C++ Interface: set_multisamples(const FrameBufferProperties self, int n)

/**

*/

set_one_bit_per_channel()

C++ Interface: set_one_bit_per_channel(const FrameBufferProperties self)

/**
  • If any of the depth, color, alpha, accum, or stencil properties is set to

  • more than one, then they are reduced to one.

*/

set_red_bits()

C++ Interface: set_red_bits(const FrameBufferProperties self, int n)

/**

*/

set_rgb_color()

C++ Interface: set_rgb_color(const FrameBufferProperties self, bool n)

/**

*/

set_rgba_bits()

C++ Interface: set_rgba_bits(const FrameBufferProperties self, int r, int g, int b, int a)

/**
  • Convenience method for setting the red, green, blue and alpha bits in one

  • go.

*/

set_srgb_color()

C++ Interface: set_srgb_color(const FrameBufferProperties self, bool n)

/**

*/

set_stencil_bits()

C++ Interface: set_stencil_bits(const FrameBufferProperties self, int n)

/**

*/

set_stereo()

C++ Interface: set_stereo(const FrameBufferProperties self, bool n)

/**

*/

setupColorTexture()

C++ Interface: setup_color_texture(FrameBufferProperties self, Texture tex)

/**
  • 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()

C++ Interface: setup_depth_texture(FrameBufferProperties self, Texture tex)

/**
  • 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.

*/

setup_color_texture()

C++ Interface: setup_color_texture(FrameBufferProperties self, Texture tex)

/**
  • 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.

*/

setup_depth_texture()

C++ Interface: setup_depth_texture(FrameBufferProperties self, Texture tex)

/**
  • 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.

*/

srgb_color
stencil_bits
stereo
subsumes()

C++ Interface: subsumes(FrameBufferProperties self, const FrameBufferProperties other)

/**
  • Returns true if this set of properties makes strictly greater or equal

  • demands of the framebuffer than the other set of framebuffer properties.

*/

verifyHardwareSoftware()

C++ Interface: verify_hardware_software(FrameBufferProperties self, const FrameBufferProperties props, str renderer)

/**
  • Validates that the properties represent the desired kind of renderer

  • (hardware or software). If not, prints out an error message and returns

  • false.

*/

verify_hardware_software()

C++ Interface: verify_hardware_software(FrameBufferProperties self, const FrameBufferProperties props, str renderer)

/**
  • Validates that the properties represent the desired kind of renderer

  • (hardware or software). If not, prints out an error message and returns

  • false.

*/