PreparedGraphicsObjects

from panda3d.core import PreparedGraphicsObjects
class PreparedGraphicsObjects

Bases: ReferenceCount

A table of objects that are saved within the graphics context for reference by handle later. Generally, this represents things like OpenGL texture objects or display lists (or their equivalent on other platforms).

This object simply records the pointers to the context objects created by the individual GSG’s; these context objects will contain enough information to reference or release the actual object stored within the graphics context.

These tables may potentially be shared between related graphics contexts, hence their storage here in a separate object rather than as a part of the GraphicsStateGuardian.

Inheritance diagram

Inheritance diagram of PreparedGraphicsObjects

__init__(*args, **kwargs)
dequeueGeom()

C++ Interface: dequeue_geom(const PreparedGraphicsObjects self, Geom geom)

/**
  • Removes a geom from the queued list of geoms to be prepared. Normally it

  • is not necessary to call this, unless you change your mind about preparing

  • it at the last minute, since the geom will automatically be dequeued and

  • prepared at the next frame.

  • The return value is true if the geom is successfully dequeued, false if it

  • had not been queued.

*/

dequeueIndexBuffer()

C++ Interface: dequeue_index_buffer(const PreparedGraphicsObjects self, GeomPrimitive data)

/**
  • Removes a buffer from the queued list of data arrays to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the data will automatically be

  • dequeued and prepared at the next frame.

  • The return value is true if the buffer is successfully dequeued, false if

  • it had not been queued.

*/

dequeueSampler()

C++ Interface: dequeue_sampler(const PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Removes a sampler from the queued list of samplers to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the sampler will automatically

  • be dequeued and prepared at the next frame.

  • The return value is true if the sampler is successfully dequeued, false if

  • it had not been queued.

*/

dequeueShader()

C++ Interface: dequeue_shader(const PreparedGraphicsObjects self, Shader shader)

/**
  • Removes a shader from the queued list of shaders to be prepared. Normally

  • it is not necessary to call this, unless you change your mind about

  • preparing it at the last minute, since the shader will automatically be

  • dequeued and prepared at the next frame.

  • The return value is true if the shader is successfully dequeued, false if

  • it had not been queued.

*/

dequeueShaderBuffer()

C++ Interface: dequeue_shader_buffer(const PreparedGraphicsObjects self, ShaderBuffer data)

/**
  • Removes a buffer from the queued list of data arrays to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the data will automatically be

  • dequeued and prepared at the next frame.

  • The return value is true if the buffer is successfully dequeued, false if

  • it had not been queued.

*/

dequeueTexture()

C++ Interface: dequeue_texture(const PreparedGraphicsObjects self, Texture tex)

/**
  • Removes a texture from the queued list of textures to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the texture will automatically

  • be dequeued and prepared at the next frame.

  • The return value is true if the texture is successfully dequeued, false if

  • it had not been queued.

*/

dequeueVertexBuffer()

C++ Interface: dequeue_vertex_buffer(const PreparedGraphicsObjects self, GeomVertexArrayData data)

/**
  • Removes a buffer from the queued list of data arrays to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the data will automatically be

  • dequeued and prepared at the next frame.

  • The return value is true if the buffer is successfully dequeued, false if

  • it had not been queued.

*/

dequeue_geom()

C++ Interface: dequeue_geom(const PreparedGraphicsObjects self, Geom geom)

/**
  • Removes a geom from the queued list of geoms to be prepared. Normally it

  • is not necessary to call this, unless you change your mind about preparing

  • it at the last minute, since the geom will automatically be dequeued and

  • prepared at the next frame.

  • The return value is true if the geom is successfully dequeued, false if it

  • had not been queued.

*/

dequeue_index_buffer()

C++ Interface: dequeue_index_buffer(const PreparedGraphicsObjects self, GeomPrimitive data)

/**
  • Removes a buffer from the queued list of data arrays to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the data will automatically be

  • dequeued and prepared at the next frame.

  • The return value is true if the buffer is successfully dequeued, false if

  • it had not been queued.

*/

dequeue_sampler()

C++ Interface: dequeue_sampler(const PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Removes a sampler from the queued list of samplers to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the sampler will automatically

  • be dequeued and prepared at the next frame.

  • The return value is true if the sampler is successfully dequeued, false if

  • it had not been queued.

*/

dequeue_shader()

C++ Interface: dequeue_shader(const PreparedGraphicsObjects self, Shader shader)

/**
  • Removes a shader from the queued list of shaders to be prepared. Normally

  • it is not necessary to call this, unless you change your mind about

  • preparing it at the last minute, since the shader will automatically be

  • dequeued and prepared at the next frame.

  • The return value is true if the shader is successfully dequeued, false if

  • it had not been queued.

*/

dequeue_shader_buffer()

C++ Interface: dequeue_shader_buffer(const PreparedGraphicsObjects self, ShaderBuffer data)

/**
  • Removes a buffer from the queued list of data arrays to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the data will automatically be

  • dequeued and prepared at the next frame.

  • The return value is true if the buffer is successfully dequeued, false if

  • it had not been queued.

*/

dequeue_texture()

C++ Interface: dequeue_texture(const PreparedGraphicsObjects self, Texture tex)

/**
  • Removes a texture from the queued list of textures to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the texture will automatically

  • be dequeued and prepared at the next frame.

  • The return value is true if the texture is successfully dequeued, false if

  • it had not been queued.

*/

dequeue_vertex_buffer()

C++ Interface: dequeue_vertex_buffer(const PreparedGraphicsObjects self, GeomVertexArrayData data)

/**
  • Removes a buffer from the queued list of data arrays to be prepared.

  • Normally it is not necessary to call this, unless you change your mind

  • about preparing it at the last minute, since the data will automatically be

  • dequeued and prepared at the next frame.

  • The return value is true if the buffer is successfully dequeued, false if

  • it had not been queued.

*/

enqueueGeom()

C++ Interface: enqueue_geom(const PreparedGraphicsObjects self, Geom geom)

/**
  • Indicates that a geom would like to be put on the list to be prepared when

  • the GSG is next ready to do this (presumably at the next frame).

*/

enqueueIndexBuffer()

C++ Interface: enqueue_index_buffer(const PreparedGraphicsObjects self, GeomPrimitive data)

/**
  • Indicates that a buffer would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueueSampler()

C++ Interface: enqueue_sampler(const PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Indicates that a sampler would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueueShader()

C++ Interface: enqueue_shader(const PreparedGraphicsObjects self, Shader shader)

/**
  • Indicates that a shader would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueueShaderBuffer()

C++ Interface: enqueue_shader_buffer(const PreparedGraphicsObjects self, ShaderBuffer data)

/**
  • Indicates that a buffer would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueueTexture()

C++ Interface: enqueue_texture(const PreparedGraphicsObjects self, Texture tex)

/**
  • Indicates that a texture would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueueVertexBuffer()

C++ Interface: enqueue_vertex_buffer(const PreparedGraphicsObjects self, GeomVertexArrayData data)

/**
  • Indicates that a buffer would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueue_geom()

C++ Interface: enqueue_geom(const PreparedGraphicsObjects self, Geom geom)

/**
  • Indicates that a geom would like to be put on the list to be prepared when

  • the GSG is next ready to do this (presumably at the next frame).

*/

enqueue_index_buffer()

C++ Interface: enqueue_index_buffer(const PreparedGraphicsObjects self, GeomPrimitive data)

/**
  • Indicates that a buffer would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueue_sampler()

C++ Interface: enqueue_sampler(const PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Indicates that a sampler would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueue_shader()

C++ Interface: enqueue_shader(const PreparedGraphicsObjects self, Shader shader)

/**
  • Indicates that a shader would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueue_shader_buffer()

C++ Interface: enqueue_shader_buffer(const PreparedGraphicsObjects self, ShaderBuffer data)

/**
  • Indicates that a buffer would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueue_texture()

C++ Interface: enqueue_texture(const PreparedGraphicsObjects self, Texture tex)

/**
  • Indicates that a texture would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

enqueue_vertex_buffer()

C++ Interface: enqueue_vertex_buffer(const PreparedGraphicsObjects self, GeomVertexArrayData data)

/**
  • Indicates that a buffer would like to be put on the list to be prepared

  • when the GSG is next ready to do this (presumably at the next frame).

*/

getGraphicsMemoryLimit()

C++ Interface: get_graphics_memory_limit(PreparedGraphicsObjects self)

/**
  • Returns the artificial cap on graphics memory that will be imposed on this

  • GSG. See set_graphics_memory_limit().

*/

getName()

C++ Interface: get_name(PreparedGraphicsObjects self)

/**
  • Returns the name of the PreparedGraphicsObjects structure. This is an

  • arbitrary name that serves mainly to uniquify the context for PStats

  • reporting.

*/

getNumPrepared()

C++ Interface: get_num_prepared(PreparedGraphicsObjects self)

/**
  • Returns the number of objects of any kind that have already been prepared

  • on this GSG.

*/

getNumPreparedGeoms()

C++ Interface: get_num_prepared_geoms(PreparedGraphicsObjects self)

/**
  • Returns the number of geoms that have already been prepared on this GSG.

*/

getNumPreparedIndexBuffers()

C++ Interface: get_num_prepared_index_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of index buffers that have already been prepared on this

  • GSG.

*/

getNumPreparedSamplers()

C++ Interface: get_num_prepared_samplers(PreparedGraphicsObjects self)

/**
  • Returns the number of samplers that have already been prepared on this GSG.

*/

getNumPreparedShaderBuffers()

C++ Interface: get_num_prepared_shader_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of index buffers that have already been prepared on this

  • GSG.

*/

getNumPreparedShaders()

C++ Interface: get_num_prepared_shaders(PreparedGraphicsObjects self)

/**
  • Returns the number of shaders that have already been prepared on this GSG.

*/

getNumPreparedTextures()

C++ Interface: get_num_prepared_textures(PreparedGraphicsObjects self)

/**
  • Returns the number of textures that have already been prepared on this GSG.

*/

getNumPreparedVertexBuffers()

C++ Interface: get_num_prepared_vertex_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of vertex buffers that have already been prepared on

  • this GSG.

*/

getNumQueued()

C++ Interface: get_num_queued(PreparedGraphicsObjects self)

/**
  • Returns the number of objects of any kind that have been enqueued to be

  • prepared on this GSG.

*/

getNumQueuedGeoms()

C++ Interface: get_num_queued_geoms(PreparedGraphicsObjects self)

/**
  • Returns the number of geoms that have been enqueued to be prepared on this

  • GSG.

*/

getNumQueuedIndexBuffers()

C++ Interface: get_num_queued_index_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of index buffers that have been enqueued to be prepared

  • on this GSG.

*/

getNumQueuedSamplers()

C++ Interface: get_num_queued_samplers(PreparedGraphicsObjects self)

/**
  • Returns the number of samplers that have been enqueued to be prepared on

  • this GSG.

*/

getNumQueuedShaderBuffers()

C++ Interface: get_num_queued_shader_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of index buffers that have been enqueued to be prepared

  • on this GSG.

*/

getNumQueuedShaders()

C++ Interface: get_num_queued_shaders(PreparedGraphicsObjects self)

/**
  • Returns the number of shaders that have been enqueued to be prepared on

  • this GSG.

*/

getNumQueuedTextures()

C++ Interface: get_num_queued_textures(PreparedGraphicsObjects self)

/**
  • Returns the number of textures that have been enqueued to be prepared on

  • this GSG.

*/

getNumQueuedVertexBuffers()

C++ Interface: get_num_queued_vertex_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of vertex buffers that have been enqueued to be prepared

  • on this GSG.

*/

get_graphics_memory_limit()

C++ Interface: get_graphics_memory_limit(PreparedGraphicsObjects self)

/**
  • Returns the artificial cap on graphics memory that will be imposed on this

  • GSG. See set_graphics_memory_limit().

*/

get_name()

C++ Interface: get_name(PreparedGraphicsObjects self)

/**
  • Returns the name of the PreparedGraphicsObjects structure. This is an

  • arbitrary name that serves mainly to uniquify the context for PStats

  • reporting.

*/

get_num_prepared()

C++ Interface: get_num_prepared(PreparedGraphicsObjects self)

/**
  • Returns the number of objects of any kind that have already been prepared

  • on this GSG.

*/

get_num_prepared_geoms()

C++ Interface: get_num_prepared_geoms(PreparedGraphicsObjects self)

/**
  • Returns the number of geoms that have already been prepared on this GSG.

*/

get_num_prepared_index_buffers()

C++ Interface: get_num_prepared_index_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of index buffers that have already been prepared on this

  • GSG.

*/

get_num_prepared_samplers()

C++ Interface: get_num_prepared_samplers(PreparedGraphicsObjects self)

/**
  • Returns the number of samplers that have already been prepared on this GSG.

*/

get_num_prepared_shader_buffers()

C++ Interface: get_num_prepared_shader_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of index buffers that have already been prepared on this

  • GSG.

*/

get_num_prepared_shaders()

C++ Interface: get_num_prepared_shaders(PreparedGraphicsObjects self)

/**
  • Returns the number of shaders that have already been prepared on this GSG.

*/

get_num_prepared_textures()

C++ Interface: get_num_prepared_textures(PreparedGraphicsObjects self)

/**
  • Returns the number of textures that have already been prepared on this GSG.

*/

get_num_prepared_vertex_buffers()

C++ Interface: get_num_prepared_vertex_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of vertex buffers that have already been prepared on

  • this GSG.

*/

get_num_queued()

C++ Interface: get_num_queued(PreparedGraphicsObjects self)

/**
  • Returns the number of objects of any kind that have been enqueued to be

  • prepared on this GSG.

*/

get_num_queued_geoms()

C++ Interface: get_num_queued_geoms(PreparedGraphicsObjects self)

/**
  • Returns the number of geoms that have been enqueued to be prepared on this

  • GSG.

*/

get_num_queued_index_buffers()

C++ Interface: get_num_queued_index_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of index buffers that have been enqueued to be prepared

  • on this GSG.

*/

get_num_queued_samplers()

C++ Interface: get_num_queued_samplers(PreparedGraphicsObjects self)

/**
  • Returns the number of samplers that have been enqueued to be prepared on

  • this GSG.

*/

get_num_queued_shader_buffers()

C++ Interface: get_num_queued_shader_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of index buffers that have been enqueued to be prepared

  • on this GSG.

*/

get_num_queued_shaders()

C++ Interface: get_num_queued_shaders(PreparedGraphicsObjects self)

/**
  • Returns the number of shaders that have been enqueued to be prepared on

  • this GSG.

*/

get_num_queued_textures()

C++ Interface: get_num_queued_textures(PreparedGraphicsObjects self)

/**
  • Returns the number of textures that have been enqueued to be prepared on

  • this GSG.

*/

get_num_queued_vertex_buffers()

C++ Interface: get_num_queued_vertex_buffers(PreparedGraphicsObjects self)

/**
  • Returns the number of vertex buffers that have been enqueued to be prepared

  • on this GSG.

*/

isGeomPrepared()

C++ Interface: is_geom_prepared(PreparedGraphicsObjects self, const Geom geom)

/**
  • Returns true if the vertex buffer has been prepared on this GSG, false

  • otherwise.

*/

isGeomQueued()

C++ Interface: is_geom_queued(PreparedGraphicsObjects self, const Geom geom)

/**
  • Returns true if the geom has been queued on this GSG, false otherwise.

*/

isIndexBufferPrepared()

C++ Interface: is_index_buffer_prepared(PreparedGraphicsObjects self, const GeomPrimitive data)

/**
  • Returns true if the index buffer has been prepared on this GSG, false

  • otherwise.

*/

isIndexBufferQueued()

C++ Interface: is_index_buffer_queued(PreparedGraphicsObjects self, const GeomPrimitive data)

/**
  • Returns true if the index buffer has been queued on this GSG, false

  • otherwise.

*/

isSamplerPrepared()

C++ Interface: is_sampler_prepared(PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Returns true if the sampler has been prepared on this GSG, false otherwise.

*/

isSamplerQueued()

C++ Interface: is_sampler_queued(PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Returns true if the sampler has been queued on this GSG, false otherwise.

*/

isShaderBufferPrepared()

C++ Interface: is_shader_buffer_prepared(PreparedGraphicsObjects self, const ShaderBuffer data)

/**
  • Returns true if the index buffer has been prepared on this GSG, false

  • otherwise.

*/

isShaderBufferQueued()

C++ Interface: is_shader_buffer_queued(PreparedGraphicsObjects self, const ShaderBuffer data)

/**
  • Returns true if the index buffer has been queued on this GSG, false

  • otherwise.

*/

isShaderPrepared()

C++ Interface: is_shader_prepared(PreparedGraphicsObjects self, const Shader shader)

/**
  • Returns true if the shader has been prepared on this GSG, false otherwise.

*/

isShaderQueued()

C++ Interface: is_shader_queued(PreparedGraphicsObjects self, const Shader shader)

/**
  • Returns true if the shader has been queued on this GSG, false otherwise.

*/

isTexturePrepared()

C++ Interface: is_texture_prepared(PreparedGraphicsObjects self, const Texture tex)

/**
  • Returns true if the texture has been prepared on this GSG, false otherwise.

*/

isTextureQueued()

C++ Interface: is_texture_queued(PreparedGraphicsObjects self, const Texture tex)

/**
  • Returns true if the texture has been queued on this GSG, false otherwise.

*/

isVertexBufferPrepared()

C++ Interface: is_vertex_buffer_prepared(PreparedGraphicsObjects self, const GeomVertexArrayData data)

/**
  • Returns true if the vertex buffer has been prepared on this GSG, false

  • otherwise.

*/

isVertexBufferQueued()

C++ Interface: is_vertex_buffer_queued(PreparedGraphicsObjects self, const GeomVertexArrayData data)

/**
  • Returns true if the vertex buffer has been queued on this GSG, false

  • otherwise.

*/

is_geom_prepared()

C++ Interface: is_geom_prepared(PreparedGraphicsObjects self, const Geom geom)

/**
  • Returns true if the vertex buffer has been prepared on this GSG, false

  • otherwise.

*/

is_geom_queued()

C++ Interface: is_geom_queued(PreparedGraphicsObjects self, const Geom geom)

/**
  • Returns true if the geom has been queued on this GSG, false otherwise.

*/

is_index_buffer_prepared()

C++ Interface: is_index_buffer_prepared(PreparedGraphicsObjects self, const GeomPrimitive data)

/**
  • Returns true if the index buffer has been prepared on this GSG, false

  • otherwise.

*/

is_index_buffer_queued()

C++ Interface: is_index_buffer_queued(PreparedGraphicsObjects self, const GeomPrimitive data)

/**
  • Returns true if the index buffer has been queued on this GSG, false

  • otherwise.

*/

is_sampler_prepared()

C++ Interface: is_sampler_prepared(PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Returns true if the sampler has been prepared on this GSG, false otherwise.

*/

is_sampler_queued()

C++ Interface: is_sampler_queued(PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Returns true if the sampler has been queued on this GSG, false otherwise.

*/

is_shader_buffer_prepared()

C++ Interface: is_shader_buffer_prepared(PreparedGraphicsObjects self, const ShaderBuffer data)

/**
  • Returns true if the index buffer has been prepared on this GSG, false

  • otherwise.

*/

is_shader_buffer_queued()

C++ Interface: is_shader_buffer_queued(PreparedGraphicsObjects self, const ShaderBuffer data)

/**
  • Returns true if the index buffer has been queued on this GSG, false

  • otherwise.

*/

is_shader_prepared()

C++ Interface: is_shader_prepared(PreparedGraphicsObjects self, const Shader shader)

/**
  • Returns true if the shader has been prepared on this GSG, false otherwise.

*/

is_shader_queued()

C++ Interface: is_shader_queued(PreparedGraphicsObjects self, const Shader shader)

/**
  • Returns true if the shader has been queued on this GSG, false otherwise.

*/

is_texture_prepared()

C++ Interface: is_texture_prepared(PreparedGraphicsObjects self, const Texture tex)

/**
  • Returns true if the texture has been prepared on this GSG, false otherwise.

*/

is_texture_queued()

C++ Interface: is_texture_queued(PreparedGraphicsObjects self, const Texture tex)

/**
  • Returns true if the texture has been queued on this GSG, false otherwise.

*/

is_vertex_buffer_prepared()

C++ Interface: is_vertex_buffer_prepared(PreparedGraphicsObjects self, const GeomVertexArrayData data)

/**
  • Returns true if the vertex buffer has been prepared on this GSG, false

  • otherwise.

*/

is_vertex_buffer_queued()

C++ Interface: is_vertex_buffer_queued(PreparedGraphicsObjects self, const GeomVertexArrayData data)

/**
  • Returns true if the vertex buffer has been queued on this GSG, false

  • otherwise.

*/

prepareGeomNow()

C++ Interface: prepare_geom_now(const PreparedGraphicsObjects self, Geom geom, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new GeomContext for the indicated geom and returns

  • it. This assumes that the GraphicsStateGuardian is the currently active

  • rendering context and that it is ready to accept new geoms. If this is not

  • necessarily the case, you should use enqueue_geom() instead.

  • Normally, this function is not called directly. Call Geom::prepare_now()

  • instead.

  • The GeomContext contains all of the pertinent information needed by the GSG

  • to keep track of this one particular geom, and will exist as long as the

  • geom is ready to be rendered.

  • When either the Geom or the PreparedGraphicsObjects object destructs, the

  • GeomContext will be deleted.

*/

prepareIndexBufferNow()

C++ Interface: prepare_index_buffer_now(const PreparedGraphicsObjects self, GeomPrimitive data, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new IndexBufferContext for the indicated data and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new datas. If this

  • is not necessarily the case, you should use enqueue_index_buffer() instead.

  • Normally, this function is not called directly. Call Data::prepare_now()

  • instead.

  • The IndexBufferContext contains all of the pertinent information needed by

  • the GSG to keep track of this one particular data, and will exist as long

  • as the data is ready to be rendered.

  • When either the Data or the PreparedGraphicsObjects object destructs, the

  • IndexBufferContext will be deleted.

*/

prepareShaderBufferNow()

C++ Interface: prepare_shader_buffer_now(const PreparedGraphicsObjects self, ShaderBuffer data, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new BufferContext for the indicated data and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new datas. If this

  • is not necessarily the case, you should use enqueue_shader_buffer() instead.

  • Normally, this function is not called directly. Call Data::prepare_now()

  • instead.

  • The BufferContext contains all of the pertinent information needed by

  • the GSG to keep track of this one particular data, and will exist as long

  • as the data is ready to be rendered.

  • When either the Data or the PreparedGraphicsObjects object destructs, the

  • BufferContext will be deleted.

*/

prepareShaderNow()

C++ Interface: prepare_shader_now(const PreparedGraphicsObjects self, Shader shader, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new ShaderContext for the indicated shader and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new shaders. If

  • this is not necessarily the case, you should use enqueue_shader() instead.

  • Normally, this function is not called directly. Call Shader::prepare_now()

  • instead.

  • The ShaderContext contains all of the pertinent information needed by the

  • GSG to keep track of this one particular shader, and will exist as long as

  • the shader is ready to be rendered.

  • When either the Shader or the PreparedGraphicsObjects object destructs, the

  • ShaderContext will be deleted.

*/

prepareTextureNow()

C++ Interface: prepare_texture_now(const PreparedGraphicsObjects self, Texture tex, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new TextureContext for the indicated texture and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new textures. If

  • this is not necessarily the case, you should use enqueue_texture() instead.

  • Normally, this function is not called directly. Call

  • Texture::prepare_now() instead.

  • The TextureContext contains all of the pertinent information needed by the

  • GSG to keep track of this one particular texture, and will exist as long as

  • the texture is ready to be rendered.

  • When either the Texture or the PreparedGraphicsObjects object destructs,

  • the TextureContext will be deleted.

*/

prepareVertexBufferNow()

C++ Interface: prepare_vertex_buffer_now(const PreparedGraphicsObjects self, GeomVertexArrayData data, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new VertexBufferContext for the indicated data and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new datas. If this

  • is not necessarily the case, you should use enqueue_vertex_buffer()

  • instead.

  • Normally, this function is not called directly. Call Data::prepare_now()

  • instead.

  • The VertexBufferContext contains all of the pertinent information needed by

  • the GSG to keep track of this one particular data, and will exist as long

  • as the data is ready to be rendered.

  • When either the Data or the PreparedGraphicsObjects object destructs, the

  • VertexBufferContext will be deleted.

*/

prepare_geom_now()

C++ Interface: prepare_geom_now(const PreparedGraphicsObjects self, Geom geom, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new GeomContext for the indicated geom and returns

  • it. This assumes that the GraphicsStateGuardian is the currently active

  • rendering context and that it is ready to accept new geoms. If this is not

  • necessarily the case, you should use enqueue_geom() instead.

  • Normally, this function is not called directly. Call Geom::prepare_now()

  • instead.

  • The GeomContext contains all of the pertinent information needed by the GSG

  • to keep track of this one particular geom, and will exist as long as the

  • geom is ready to be rendered.

  • When either the Geom or the PreparedGraphicsObjects object destructs, the

  • GeomContext will be deleted.

*/

prepare_index_buffer_now()

C++ Interface: prepare_index_buffer_now(const PreparedGraphicsObjects self, GeomPrimitive data, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new IndexBufferContext for the indicated data and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new datas. If this

  • is not necessarily the case, you should use enqueue_index_buffer() instead.

  • Normally, this function is not called directly. Call Data::prepare_now()

  • instead.

  • The IndexBufferContext contains all of the pertinent information needed by

  • the GSG to keep track of this one particular data, and will exist as long

  • as the data is ready to be rendered.

  • When either the Data or the PreparedGraphicsObjects object destructs, the

  • IndexBufferContext will be deleted.

*/

prepare_shader_buffer_now()

C++ Interface: prepare_shader_buffer_now(const PreparedGraphicsObjects self, ShaderBuffer data, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new BufferContext for the indicated data and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new datas. If this

  • is not necessarily the case, you should use enqueue_shader_buffer() instead.

  • Normally, this function is not called directly. Call Data::prepare_now()

  • instead.

  • The BufferContext contains all of the pertinent information needed by

  • the GSG to keep track of this one particular data, and will exist as long

  • as the data is ready to be rendered.

  • When either the Data or the PreparedGraphicsObjects object destructs, the

  • BufferContext will be deleted.

*/

prepare_shader_now()

C++ Interface: prepare_shader_now(const PreparedGraphicsObjects self, Shader shader, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new ShaderContext for the indicated shader and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new shaders. If

  • this is not necessarily the case, you should use enqueue_shader() instead.

  • Normally, this function is not called directly. Call Shader::prepare_now()

  • instead.

  • The ShaderContext contains all of the pertinent information needed by the

  • GSG to keep track of this one particular shader, and will exist as long as

  • the shader is ready to be rendered.

  • When either the Shader or the PreparedGraphicsObjects object destructs, the

  • ShaderContext will be deleted.

*/

prepare_texture_now()

C++ Interface: prepare_texture_now(const PreparedGraphicsObjects self, Texture tex, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new TextureContext for the indicated texture and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new textures. If

  • this is not necessarily the case, you should use enqueue_texture() instead.

  • Normally, this function is not called directly. Call

  • Texture::prepare_now() instead.

  • The TextureContext contains all of the pertinent information needed by the

  • GSG to keep track of this one particular texture, and will exist as long as

  • the texture is ready to be rendered.

  • When either the Texture or the PreparedGraphicsObjects object destructs,

  • the TextureContext will be deleted.

*/

prepare_vertex_buffer_now()

C++ Interface: prepare_vertex_buffer_now(const PreparedGraphicsObjects self, GeomVertexArrayData data, GraphicsStateGuardianBase gsg)

/**
  • Immediately creates a new VertexBufferContext for the indicated data and

  • returns it. This assumes that the GraphicsStateGuardian is the currently

  • active rendering context and that it is ready to accept new datas. If this

  • is not necessarily the case, you should use enqueue_vertex_buffer()

  • instead.

  • Normally, this function is not called directly. Call Data::prepare_now()

  • instead.

  • The VertexBufferContext contains all of the pertinent information needed by

  • the GSG to keep track of this one particular data, and will exist as long

  • as the data is ready to be rendered.

  • When either the Data or the PreparedGraphicsObjects object destructs, the

  • VertexBufferContext will be deleted.

*/

releaseAll()

C++ Interface: release_all(const PreparedGraphicsObjects self)

/**
  • Releases all prepared objects of all kinds at once.

*/

releaseAllGeoms()

C++ Interface: release_all_geoms(const PreparedGraphicsObjects self)

/**
  • Releases all geoms at once. This will force them to be reloaded into geom

  • memory for all GSG’s that share this object. Returns the number of geoms

  • released.

*/

releaseAllIndexBuffers()

C++ Interface: release_all_index_buffers(const PreparedGraphicsObjects self)

/**
  • Releases all datas at once. This will force them to be reloaded into data

  • memory for all GSG’s that share this object. Returns the number of datas

  • released.

*/

releaseAllSamplers()

C++ Interface: release_all_samplers(const PreparedGraphicsObjects self)

/**
  • Releases all samplers at once. This will force them to be reloaded for all

  • GSG’s that share this object. Returns the number of samplers released.

*/

releaseAllShaderBuffers()

C++ Interface: release_all_shader_buffers(const PreparedGraphicsObjects self)

/**
  • Releases all datas at once. This will force them to be reloaded into data

  • memory for all GSG’s that share this object. Returns the number of datas

  • released.

*/

releaseAllShaders()

C++ Interface: release_all_shaders(const PreparedGraphicsObjects self)

/**
  • Releases all shaders at once. This will force them to be reloaded into

  • shader memory for all GSG’s that share this object. Returns the number of

  • shaders released.

*/

releaseAllTextures()

C++ Interface: release_all_textures(const PreparedGraphicsObjects self)

/**
  • Releases all textures at once. This will force them to be reloaded into

  • texture memory for all GSG’s that share this object. Returns the number of

  • textures released.

*/

releaseAllVertexBuffers()

C++ Interface: release_all_vertex_buffers(const PreparedGraphicsObjects self)

/**
  • Releases all datas at once. This will force them to be reloaded into data

  • memory for all GSG’s that share this object. Returns the number of datas

  • released.

*/

releaseGeom()

C++ Interface: release_geom(const PreparedGraphicsObjects self, GeomContext gc)

/**
  • Indicates that a geom context, created by a previous call to

  • prepare_geom(), is no longer needed. The driver resources will not be

  • freed until some GSG calls update(), indicating it is at a stage where it

  • is ready to release geoms–this prevents conflicts from threading or

  • multiple GSG’s sharing geoms (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_geom is called).

*/

releaseIndexBuffer()

C++ Interface: release_index_buffer(const PreparedGraphicsObjects self, IndexBufferContext ibc)

/**
  • Indicates that a data context, created by a previous call to

  • prepare_index_buffer(), is no longer needed. The driver resources will not

  • be freed until some GSG calls update(), indicating it is at a stage where

  • it is ready to release datas–this prevents conflicts from threading or

  • multiple GSG’s sharing datas (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_index_buffer is called).

*/

releaseSampler()

C++ Interface: release_sampler(const PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Indicates that a sampler context, created by a previous call to

  • prepare_sampler(), is no longer needed. The driver resources will not be

  • freed until some GSG calls update(), indicating it is at a stage where it

  • is ready to release samplers.

*/

/**
  • Releases a sampler if it has already been prepared, or removes it from the

  • preparation queue.

*/

releaseShader()

C++ Interface: release_shader(const PreparedGraphicsObjects self, ShaderContext sc)

/**
  • Indicates that a shader context, created by a previous call to

  • prepare_shader(), is no longer needed. The driver resources will not be

  • freed until some GSG calls update(), indicating it is at a stage where it

  • is ready to release shaders–this prevents conflicts from threading or

  • multiple GSG’s sharing shaders (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_shader is called).

*/

releaseShaderBuffer()

C++ Interface: release_shader_buffer(const PreparedGraphicsObjects self, BufferContext bc)

/**
  • Indicates that a data context, created by a previous call to

  • prepare_shader_buffer(), is no longer needed. The driver resources will not

  • be freed until some GSG calls update(), indicating it is at a stage where

  • it is ready to release datas–this prevents conflicts from threading or

  • multiple GSG’s sharing datas (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_shader_buffer is called).

*/

releaseTexture()

C++ Interface: release_texture(const PreparedGraphicsObjects self, Texture tex) release_texture(const PreparedGraphicsObjects self, TextureContext tc)

/**
  • Indicates that a texture context, created by a previous call to

  • prepare_texture(), is no longer needed. The driver resources will not be

  • freed until some GSG calls update(), indicating it is at a stage where it

  • is ready to release textures–this prevents conflicts from threading or

  • multiple GSG’s sharing textures (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_texture is called).

*/

/**
  • Releases a texture if it has already been prepared, or removes it from the

  • preparation queue.

*/

releaseVertexBuffer()

C++ Interface: release_vertex_buffer(const PreparedGraphicsObjects self, VertexBufferContext vbc)

/**
  • Indicates that a data context, created by a previous call to

  • prepare_vertex_buffer(), is no longer needed. The driver resources will

  • not be freed until some GSG calls update(), indicating it is at a stage

  • where it is ready to release datas–this prevents conflicts from threading

  • or multiple GSG’s sharing datas (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_vertex_buffer is called).

*/

release_all()

C++ Interface: release_all(const PreparedGraphicsObjects self)

/**
  • Releases all prepared objects of all kinds at once.

*/

release_all_geoms()

C++ Interface: release_all_geoms(const PreparedGraphicsObjects self)

/**
  • Releases all geoms at once. This will force them to be reloaded into geom

  • memory for all GSG’s that share this object. Returns the number of geoms

  • released.

*/

release_all_index_buffers()

C++ Interface: release_all_index_buffers(const PreparedGraphicsObjects self)

/**
  • Releases all datas at once. This will force them to be reloaded into data

  • memory for all GSG’s that share this object. Returns the number of datas

  • released.

*/

release_all_samplers()

C++ Interface: release_all_samplers(const PreparedGraphicsObjects self)

/**
  • Releases all samplers at once. This will force them to be reloaded for all

  • GSG’s that share this object. Returns the number of samplers released.

*/

release_all_shader_buffers()

C++ Interface: release_all_shader_buffers(const PreparedGraphicsObjects self)

/**
  • Releases all datas at once. This will force them to be reloaded into data

  • memory for all GSG’s that share this object. Returns the number of datas

  • released.

*/

release_all_shaders()

C++ Interface: release_all_shaders(const PreparedGraphicsObjects self)

/**
  • Releases all shaders at once. This will force them to be reloaded into

  • shader memory for all GSG’s that share this object. Returns the number of

  • shaders released.

*/

release_all_textures()

C++ Interface: release_all_textures(const PreparedGraphicsObjects self)

/**
  • Releases all textures at once. This will force them to be reloaded into

  • texture memory for all GSG’s that share this object. Returns the number of

  • textures released.

*/

release_all_vertex_buffers()

C++ Interface: release_all_vertex_buffers(const PreparedGraphicsObjects self)

/**
  • Releases all datas at once. This will force them to be reloaded into data

  • memory for all GSG’s that share this object. Returns the number of datas

  • released.

*/

release_geom()

C++ Interface: release_geom(const PreparedGraphicsObjects self, GeomContext gc)

/**
  • Indicates that a geom context, created by a previous call to

  • prepare_geom(), is no longer needed. The driver resources will not be

  • freed until some GSG calls update(), indicating it is at a stage where it

  • is ready to release geoms–this prevents conflicts from threading or

  • multiple GSG’s sharing geoms (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_geom is called).

*/

release_index_buffer()

C++ Interface: release_index_buffer(const PreparedGraphicsObjects self, IndexBufferContext ibc)

/**
  • Indicates that a data context, created by a previous call to

  • prepare_index_buffer(), is no longer needed. The driver resources will not

  • be freed until some GSG calls update(), indicating it is at a stage where

  • it is ready to release datas–this prevents conflicts from threading or

  • multiple GSG’s sharing datas (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_index_buffer is called).

*/

release_sampler()

C++ Interface: release_sampler(const PreparedGraphicsObjects self, const SamplerState sampler)

/**
  • Indicates that a sampler context, created by a previous call to

  • prepare_sampler(), is no longer needed. The driver resources will not be

  • freed until some GSG calls update(), indicating it is at a stage where it

  • is ready to release samplers.

*/

/**
  • Releases a sampler if it has already been prepared, or removes it from the

  • preparation queue.

*/

release_shader()

C++ Interface: release_shader(const PreparedGraphicsObjects self, ShaderContext sc)

/**
  • Indicates that a shader context, created by a previous call to

  • prepare_shader(), is no longer needed. The driver resources will not be

  • freed until some GSG calls update(), indicating it is at a stage where it

  • is ready to release shaders–this prevents conflicts from threading or

  • multiple GSG’s sharing shaders (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_shader is called).

*/

release_shader_buffer()

C++ Interface: release_shader_buffer(const PreparedGraphicsObjects self, BufferContext bc)

/**
  • Indicates that a data context, created by a previous call to

  • prepare_shader_buffer(), is no longer needed. The driver resources will not

  • be freed until some GSG calls update(), indicating it is at a stage where

  • it is ready to release datas–this prevents conflicts from threading or

  • multiple GSG’s sharing datas (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_shader_buffer is called).

*/

release_texture()

C++ Interface: release_texture(const PreparedGraphicsObjects self, Texture tex) release_texture(const PreparedGraphicsObjects self, TextureContext tc)

/**
  • Indicates that a texture context, created by a previous call to

  • prepare_texture(), is no longer needed. The driver resources will not be

  • freed until some GSG calls update(), indicating it is at a stage where it

  • is ready to release textures–this prevents conflicts from threading or

  • multiple GSG’s sharing textures (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_texture is called).

*/

/**
  • Releases a texture if it has already been prepared, or removes it from the

  • preparation queue.

*/

release_vertex_buffer()

C++ Interface: release_vertex_buffer(const PreparedGraphicsObjects self, VertexBufferContext vbc)

/**
  • Indicates that a data context, created by a previous call to

  • prepare_vertex_buffer(), is no longer needed. The driver resources will

  • not be freed until some GSG calls update(), indicating it is at a stage

  • where it is ready to release datas–this prevents conflicts from threading

  • or multiple GSG’s sharing datas (we have no way of knowing which graphics

  • context is currently active, or what state it’s in, at the time

  • release_vertex_buffer is called).

*/

setGraphicsMemoryLimit()

C++ Interface: set_graphics_memory_limit(const PreparedGraphicsObjects self, int limit)

/**
  • Sets an artificial cap on graphics memory that will be imposed on this GSG.

  • This limits the total amount of graphics memory, including texture memory

  • and vertex buffer memory, that will be consumed by the GSG, regardless of

  • whether the hardware claims to provide more graphics memory than this. It

  • is useful to put a ceiling on graphics memory consumed, since some drivers

  • seem to allow the application to consume more memory than the hardware can

  • realistically support.

*/

set_graphics_memory_limit()

C++ Interface: set_graphics_memory_limit(const PreparedGraphicsObjects self, int limit)

/**
  • Sets an artificial cap on graphics memory that will be imposed on this GSG.

  • This limits the total amount of graphics memory, including texture memory

  • and vertex buffer memory, that will be consumed by the GSG, regardless of

  • whether the hardware claims to provide more graphics memory than this. It

  • is useful to put a ceiling on graphics memory consumed, since some drivers

  • seem to allow the application to consume more memory than the hardware can

  • realistically support.

*/

showGraphicsMemoryLru()

C++ Interface: show_graphics_memory_lru(PreparedGraphicsObjects self, ostream out)

/**
  • Writes to the indicated ostream a report of how the various textures and

  • vertex buffers are allocated in the LRU.

*/

showResidencyTrackers()

C++ Interface: show_residency_trackers(PreparedGraphicsObjects self, ostream out)

/**
  • Writes to the indicated ostream a report of how the various textures and

  • vertex buffers are allocated in the LRU.

*/

show_graphics_memory_lru()

C++ Interface: show_graphics_memory_lru(PreparedGraphicsObjects self, ostream out)

/**
  • Writes to the indicated ostream a report of how the various textures and

  • vertex buffers are allocated in the LRU.

*/

show_residency_trackers()

C++ Interface: show_residency_trackers(PreparedGraphicsObjects self, ostream out)

/**
  • Writes to the indicated ostream a report of how the various textures and

  • vertex buffers are allocated in the LRU.

*/