#include <crGraphicsStateGuardian.h>
Inheritance diagram for CRGraphicsStateGuardian:
Public Member Functions | |
CRGraphicsStateGuardian (GraphicsWindow *win) | |
~CRGraphicsStateGuardian () | |
virtual void | reset () |
Resets all internal state as if the gsg were newly created. | |
virtual void | clear (const RenderBuffer &buffer) |
Clears all of the indicated buffers to their assigned colors. | |
virtual void | clear (const RenderBuffer &buffer, const DisplayRegion *region) |
Clears all of the indicated buffers to their assigned colors. | |
virtual void | prepare_display_region () |
Prepare a display region for rendering (set up scissor region and viewport). | |
virtual bool | prepare_lens () |
Makes the current lens (whichever lens was most recently specified with push_lens()) active, so that it will transform future rendered geometry. | |
virtual void | draw_point (GeomPoint *geom, GeomContext *gc) |
virtual void | draw_line (GeomLine *geom, GeomContext *gc) |
virtual void | draw_linestrip (GeomLinestrip *geom, GeomContext *gc) |
virtual void | draw_sprite (GeomSprite *geom, GeomContext *gc) |
virtual void | draw_polygon (GeomPolygon *geom, GeomContext *gc) |
virtual void | draw_quad (GeomQuad *geom, GeomContext *gc) |
virtual void | draw_tri (GeomTri *geom, GeomContext *gc) |
virtual void | draw_tristrip (GeomTristrip *geom, GeomContext *gc) |
virtual void | draw_trifan (GeomTrifan *geom, GeomContext *gc) |
virtual void | draw_sphere (GeomSphere *geom, GeomContext *gc) |
virtual TextureContext * | prepare_texture (Texture *tex) |
Creates a new retained-mode representation of the given texture, and returns a newly-allocated TextureContext pointer to reference it. | |
virtual void | apply_texture (TextureContext *tc) |
Makes the texture the currently available texture for rendering. | |
virtual void | release_texture (TextureContext *tc) |
Frees the GL resources previously allocated for the texture. | |
virtual GeomNodeContext * | prepare_geom_node (GeomNode *node) |
Prepares the indicated GeomNode for retained-mode rendering. | |
virtual void | draw_geom_node (GeomNode *node, const RenderState *state, GeomNodeContext *gnc) |
Draws a GeomNode previously indicated by a call to prepare_geom_node(). | |
virtual void | release_geom_node (GeomNodeContext *gnc) |
Frees the resources previously allocated via a call to prepare_geom_node(), including deleting the GeomNodeContext itself, if necessary. | |
virtual void | copy_texture (TextureContext *tc, const DisplayRegion *dr) |
Copy the pixel region indicated by the display region from the framebuffer into texture memory. | |
virtual void | copy_texture (TextureContext *tc, const DisplayRegion *dr, const RenderBuffer &rb) |
virtual void | texture_to_pixel_buffer (TextureContext *tc, PixelBuffer *pb) |
virtual void | texture_to_pixel_buffer (TextureContext *tc, PixelBuffer *pb, const DisplayRegion *dr) |
virtual void | copy_pixel_buffer (PixelBuffer *pb, const DisplayRegion *dr) |
virtual void | copy_pixel_buffer (PixelBuffer *pb, const DisplayRegion *dr, const RenderBuffer &rb) |
virtual void | draw_pixel_buffer (PixelBuffer *pb, const DisplayRegion *dr, const NodeTransitions &na=NodeTransitions()) |
virtual void | draw_pixel_buffer (PixelBuffer *pb, const DisplayRegion *dr, const RenderBuffer &rb, const NodeTransitions &na=NodeTransitions()) |
virtual void | apply_material (const Material *material) |
void | apply_fog (Fog *fog) |
virtual void | issue_transform (const TransformState *transform) |
Sends the indicated transform matrix to the graphics API to be applied to future vertices. | |
virtual void | issue_tex_matrix (const TexMatrixAttrib *attrib) |
virtual void | issue_texture (const TextureAttrib *attrib) |
virtual void | issue_material (const MaterialAttrib *attrib) |
virtual void | issue_render_mode (const RenderModeAttrib *attrib) |
virtual void | issue_texture_apply (const TextureApplyAttrib *attrib) |
virtual void | issue_color_write (const ColorWriteAttrib *attrib) |
virtual void | issue_depth_test (const DepthTestAttrib *attrib) |
virtual void | issue_depth_write (const DepthWriteAttrib *attrib) |
virtual void | issue_cull_face (const CullFaceAttrib *attrib) |
virtual void | issue_fog (const FogAttrib *attrib) |
virtual void | issue_depth_offset (const DepthOffsetAttrib *attrib) |
virtual void | bind_light (PointLight *light, int light_id) |
Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties. | |
virtual void | bind_light (DirectionalLight *light, int light_id) |
Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties. | |
virtual void | bind_light (Spotlight *light, int light_id) |
Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties. | |
virtual bool | wants_normals (void) const |
virtual bool | wants_texcoords (void) const |
virtual bool | depth_offset_decals () |
Returns true if this GSG can implement decals using a DepthOffsetAttrib, or false if that is unreliable and the three-step rendering process should be used instead. | |
virtual CoordinateSystem | get_internal_coordinate_system () const |
Should be overridden by derived classes to return the coordinate system used internally by the GSG, if any one particular coordinate system is used. | |
virtual float | compute_distance_to (const LPoint3f &point) const |
This function may only be called during a render traversal; it will compute the distance to the indicated point, assumed to be in modelview coordinates, from the camera plane. | |
void | print_gfx_visual () |
Prints a description of the current visual selected. | |
void | dump_state (void) |
const LMatrix4f & | get_current_color_mat () const |
const float & | get_current_alpha_offset () const |
const float & | get_current_alpha_scale () const |
void | issue_transformed_color (const Colorf &color) const |
Transform the color by the current color matrix, and calls the appropriate chromium.Color function. | |
virtual TypeHandle | get_type (void) const |
virtual TypeHandle | force_init_type () |
void | release_all_textures () |
Frees the resources for all textures associated with this GSG. | |
void | release_all_geoms () |
Frees the resources for all Geoms and GeomNodes associated with this GSG. | |
const FrameBufferProperties & | get_properties () const |
Returns the frame buffer properties requested for this GSG. | |
GraphicsPipe * | get_pipe () const |
Returns the graphics pipe on which this GSG was created. | |
const GraphicsThreadingModel & | get_threading_model () const |
Returns the threading model that was used to create this GSG. | |
void | set_scene (SceneSetup *scene_setup) |
Sets the SceneSetup object that indicates the initial camera position, etc. | |
SceneSetup * | get_scene () const |
Returns the SceneSetup object. | |
virtual GeomContext * | prepare_geom (Geom *geom) |
Prepares the indicated Geom for retained-mode rendering. | |
virtual void | release_geom (GeomContext *gc) |
Frees the resources previously allocated via a call to prepare_geom(), including deleting the GeomContext itself, if necessary. | |
virtual void | set_state_and_transform (const RenderState *state, const TransformState *transform) |
Simultaneously resets the render state and the transform state. | |
virtual void | set_color_clear_value (const Colorf &value) |
Sets the color that the next do_clear() command will set the color buffer to. | |
virtual void | set_depth_clear_value (const float value) |
Sets the depth that the next do_clear() command will set the depth buffer to. | |
virtual void | do_clear (const RenderBuffer &buffer)=0 |
void | clear (ClearableRegion *clearable) |
Clears the framebuffer within the current DisplayRegion, according to the flags indicated by the given ClearableRegion object. | |
void | clear (DisplayRegion *dr) |
Clears the framebuffer within the indicated DisplayRegion, according to the flags indicated by the DisplayRegion object (inheriting from ClearableRegion). | |
void | enable_normals (bool val) |
virtual bool | begin_frame () |
Called before each frame is rendered, to allow the GSG a chance to do any internal cleanup before beginning the frame. | |
virtual bool | begin_scene () |
Called between begin_frame() and end_frame() to mark the beginning of drawing commands for a "scene" (usually a particular DisplayRegion) within a frame. | |
virtual void | end_scene () |
Called between begin_frame() and end_frame() to mark the end of drawing commands for a "scene" (usually a particular DisplayRegion) within a frame. | |
virtual void | end_frame () |
Called after each frame is rendered, to allow the GSG a chance to do any internal cleanup after rendering the frame, and before the window flips. | |
virtual bool | wants_colors () const |
Returns true if the GSG should issue geometry color commands, false otherwise. | |
virtual ConstPointerTo< RenderState > | begin_decal_base_first () |
Called during draw to begin a three-step rendering phase to draw decals. | |
virtual ConstPointerTo< RenderState > | begin_decal_nested () |
Called during draw to begin a three-step rendering phase to draw decals. | |
virtual ConstPointerTo< RenderState > | begin_decal_base_second () |
Called during draw to begin a three-step rendering phase to draw decals. | |
virtual void | finish_decal () |
Called during draw to clean up after decals are finished. | |
void | reset_if_new () |
Calls reset() to initialize the GSG, but only if it hasn't been called yet. | |
void | modify_state (const RenderState *state) |
Applies the attributes indicated in the state set to the current state, and issues the changes to the graphics hardware. | |
void | set_state (const RenderState *state) |
Applies the attributes indicated in the state set to the current state, and issues the changes to the graphics hardware. | |
void | set_transform (const TransformState *transform) |
Sets the world transform that will be applied to subsequent geometry. | |
RenderBuffer | get_render_buffer (int buffer_type) |
Returns a RenderBuffer object suitable for operating on the requested set of buffers. | |
const DisplayRegion * | get_current_display_region (void) const |
Returns the current display region being rendered to, as set by the last call to push_display_region() (or restored by pop_display_region()). | |
const Lens * | get_current_lens () const |
Returns the current lens being rendered with, as set by the last call to push_lens() (or restored by pop_lens()). | |
DisplayRegionStack | push_display_region (const DisplayRegion *dr) |
Saves the current display region information and sets up a new display region for rendering. | |
void | pop_display_region (DisplayRegionStack &node) |
Restores the display region previously in effect, before the matching call to push_display_region(). | |
FrameBufferStack | push_frame_buffer (const RenderBuffer &buffer, const DisplayRegion *dr) |
Saves the contents of the frame buffer (within the indicated display region only) so that rendering may be performed (for instance, to render a partial in a multipass algorithm) and the frame buffer later restored via a matching call to pop_frame_buffer(). | |
void | pop_frame_buffer (FrameBufferStack &node) |
Restores the contents of the frame buffer as saved by a previous call to push_frame_buffer(). | |
LensStack | push_lens (const Lens *lens) |
Saves the current lens information and sets up a new lens for rendering. | |
void | pop_lens (LensStack &stack) |
Restores the lens previously in effect, before the matching call to push_lens(). | |
bool | set_lens (const Lens *lens) |
Sets a new lens for rendering without bothering to push or pop. | |
void | set_coordinate_system (CoordinateSystem cs) |
Changes the coordinate system in effect on this particular gsg. | |
CoordinateSystem | get_coordinate_system () const |
Returns the coordinate system in effect on this particular gsg. | |
virtual void | issue_color_scale (const ColorScaleAttrib *attrib) |
virtual void | issue_color (const ColorAttrib *attrib) |
This method is defined in the base class because it is likely that this functionality will be used for all (or at least most) kinds of GraphicsStateGuardians--it's not specific to any one rendering backend. | |
virtual void | issue_light (const LightAttrib *attrib) |
The default implementation of issue_light() assumes we have a limited number of hardware lights available. | |
virtual void | issue_transparency (const TransparencyAttrib *attrib) |
virtual void | issue_color_blend (const ColorBlendAttrib *attrib) |
virtual void | issue_clip_plane (const ClipPlaneAttrib *attrib) |
This is fundametically similar to issue_light(), with calls to slot_new_clip_plane(), apply_clip_plane(), and enable_clip_planes(), as appropriate. | |
void | traverse_prepared_textures (bool(*pertex_callbackfn)(TextureContext *, void *), void *callback_arg) |
virtual void | issue_alpha_test (const AlphaTestAttrib *) |
virtual void | issue_tex_gen (const TexGenAttrib *) |
virtual void | issue_stencil (const StencilAttrib *) |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. | |
int | get_ref_count () const |
Returns the current reference count. | |
int | ref () const |
Explicitly increments the reference count. | |
int | unref () const |
Explicitly decrements the reference count. | |
void | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. | |
Static Public Member Functions | |
GraphicsStateGuardian * | make_GlGraphicsStateGuardian (const FactoryParams ¶ms) |
TypeHandle | get_class_type (void) |
void | init_type (void) |
Static Public Attributes | |
PStatCollector | _vertices_display_list_pcollector |
PStatCollector | _total_texusage_pcollector |
PStatCollector | _active_texusage_pcollector |
PStatCollector | _total_geom_pcollector |
PStatCollector | _active_geom_pcollector |
PStatCollector | _total_geom_node_pcollector |
PStatCollector | _active_geom_node_pcollector |
PStatCollector | _total_texmem_pcollector |
PStatCollector | _used_texmem_pcollector |
PStatCollector | _texmgrmem_total_pcollector |
PStatCollector | _texmgrmem_resident_pcollector |
PStatCollector | _vertices_pcollector |
PStatCollector | _vertices_tristrip_pcollector |
PStatCollector | _vertices_trifan_pcollector |
PStatCollector | _vertices_tri_pcollector |
PStatCollector | _vertices_other_pcollector |
PStatCollector | _state_changes_pcollector |
PStatCollector | _transform_state_pcollector |
PStatCollector | _texture_state_pcollector |
PStatCollector | _nodes_pcollector |
PStatCollector | _geom_nodes_pcollector |
PStatCollector | _frustum_cull_volumes_pcollector |
PStatCollector | _frustum_cull_transforms_pcollector |
PStatCollector | _set_state_pcollector |
PStatCollector | _draw_primitive_pcollector |
PStatCollector | _transform_states_pcollector |
PStatCollector | _transform_states_unused_pcollector |
PStatCollector | _render_states_pcollector |
PStatCollector | _render_states_unused_pcollector |
Protected Types | |
enum | ColorTransform { CT_offset = 0x01, CT_scale = 0x02 } |
Protected Member Functions | |
virtual void | enable_lighting (bool enable) |
Intended to be overridden by a derived class to enable or disable the use of lighting overall. | |
virtual void | set_ambient_light (const Colorf &color) |
Intended to be overridden by a derived class to indicate the color of the ambient light that should be in effect. | |
virtual void | enable_light (int light_id, bool enable) |
Intended to be overridden by a derived class to enable the indicated light id. | |
virtual void | begin_bind_lights () |
Called immediately before bind_light() is called, this is intended to provide the derived class a hook in which to set up some state (like transform) that might apply to several lights. | |
virtual void | end_bind_lights () |
Called after before bind_light() has been called one or more times (but before any geometry is issued or additional state is changed), this is intended to clean up any temporary changes to the state that may have been made by begin_bind_lights(). | |
virtual void | set_blend_mode (ColorWriteAttrib::Mode color_write_mode, ColorBlendAttrib::Mode color_blend_mode, TransparencyAttrib::Mode transparency_mode) |
Called after any of these three blending states have changed; this function is responsible for setting the appropriate color blending mode based on the given properties. | |
void | free_pointers () |
Frees some memory that was explicitly allocated within the crgsg. | |
virtual PointerTo< SavedFrameBuffer > | save_frame_buffer (const RenderBuffer &buffer, ConstPointerTo< DisplayRegion > dr) |
Saves the indicated planes of the frame buffer (within the indicated display region) and returns it in some meaningful form that can be restored later via restore_frame_buffer(). | |
virtual void | restore_frame_buffer (SavedFrameBuffer *frame_buffer) |
Restores the frame buffer that was previously saved. | |
void | activate () |
Sets this context to be the active context for future GL commands. | |
void | call_glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) |
void | call_glClearDepth (GLclampd depth) |
void | call_glClearStencil (GLint s) |
void | call_glClearAccum (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) |
void | call_glDrawBuffer (GLenum mode) |
void | call_glReadBuffer (GLenum mode) |
void | call_glShadeModel (GLenum mode) |
Set the shading model to be either GL_FLAT or GL_SMOOTH. | |
void | call_glBlendFunc (GLenum sfunc, GLenum dfunc) |
void | call_glCullFace (GLenum mode) |
void | call_glScissor (GLint x, GLint y, GLsizei width, GLsizei height) |
void | call_glViewport (GLint x, GLint y, GLsizei width, GLsizei height) |
void | call_glLightModelLocal (GLboolean local) |
void | call_glLightModelTwoSide (GLboolean twoside) |
void | call_glStencilFunc (GLenum func, GLint refval, GLuint mask) |
void | call_glStencilOp (GLenum fail, GLenum zfail, GLenum pass) |
void | call_glClipPlane (GLenum plane, const double equation[4]) |
void | call_glLineWidth (GLfloat width) |
void | call_glPointSize (GLfloat size) |
void | call_glFogMode (GLint mode) |
void | call_glFogStart (GLfloat start) |
void | call_glFogEnd (GLfloat end) |
void | call_glFogDensity (GLfloat density) |
void | call_glFogColor (const Colorf &color) |
void | call_glAlphaFunc (GLenum func, GLclampf ref) |
void | call_glPolygonMode (GLenum mode) |
void | set_pack_alignment (GLint alignment) |
void | set_unpack_alignment (GLint alignment) |
void | enable_multisample (bool val) |
void | enable_line_smooth (bool val) |
void | enable_point_smooth (bool val) |
void | enable_texturing (bool val) |
void | enable_scissor (bool val) |
void | enable_dither (bool val) |
void | enable_stencil_test (bool val) |
void | enable_clip_plane (int clip_plane, bool val) |
Intended to be overridden by a derived class to enable the indicated plane id. | |
void | enable_multisample_alpha_one (bool val) |
void | enable_multisample_alpha_mask (bool val) |
void | enable_blend (bool val) |
void | enable_depth_test (bool val) |
void | enable_fog (bool val) |
void | enable_alpha_test (bool val) |
void | enable_polygon_offset (bool val) |
GLenum | get_light_id (int index) const |
Convert index to gl light id. | |
GLenum | get_clip_plane_id (int index) const |
Convert index to gl clip plane id. | |
void | issue_scene_graph_color () |
Checks whether the scene graph color needs to be issued, and sends the appropriate chromium.Color command if it does. | |
void | set_draw_buffer (const RenderBuffer &rb) |
Sets up the chromium.DrawBuffer to render into the buffer indicated by the RenderBuffer object. | |
void | set_read_buffer (const RenderBuffer &rb) |
Sets up the chromium.ReadBuffer to render into the buffer indicated by the RenderBuffer object. | |
void | bind_texture (TextureContext *tc) |
void | specify_texture (Texture *tex) |
bool | apply_texture_immediate (Texture *tex) |
Sends the texture image to GL. | |
GLenum | get_texture_wrap_mode (Texture::WrapMode wm) |
Maps from the Texture's internal wrap mode symbols to GL's. | |
GLenum | get_texture_filter_type (Texture::FilterType ft) |
Maps from the Texture's internal filter type symbols to GL's. | |
GLenum | get_image_type (PixelBuffer::Type type) |
Maps from the PixelBuffer's internal Type symbols to GL's. | |
GLenum | get_external_image_format (PixelBuffer::Format format) |
Maps from the PixelBuffer's Format symbols to GL's. | |
GLenum | get_internal_image_format (PixelBuffer::Format format) |
Maps from the PixelBuffer's Format symbols to a suitable internal format for GL textures. | |
GLint | get_texture_apply_mode_type (TextureApplyProperty::Mode am) const |
GLint | get_texture_apply_mode_type (TextureApplyAttrib::Mode am) const |
Maps from the texture environment's mode types to the corresponding OpenGL ids. | |
GLenum | get_depth_func_type (DepthTestProperty::Mode m) const |
GLenum | get_depth_func_type (DepthTestAttrib::Mode m) const |
Maps from the depth func modes to gl version. | |
GLenum | get_stencil_func_type (StencilProperty::Mode m) const |
GLenum | get_stencil_action_type (StencilProperty::Action a) const |
GLenum | get_fog_mode_type (Fog::Mode m) const |
void | build_phony_mipmaps (Texture *tex) |
Generates a series of colored mipmap levels to aid in visualizing the mipmap levels as the hardware applies them. | |
void | build_phony_mipmap_level (int level, int xsize, int ysize) |
Generates a single colored mipmap level. | |
void | save_mipmap_images (Texture *tex) |
Saves out each mipmap level of the indicated texture (which must also be the currently active texture in the GL state) as a separate image file to disk. | |
Light * | get_light (int light_id) const |
Returns the Light object that is bound to the indicated id, or NULL if no Light is bound. | |
virtual bool | slot_new_light (int light_id) |
This will be called by the base class before a particular light id will be used for the first time. | |
PlaneNode * | get_clip_plane (int plane_id) const |
Returns the PlaneNode object that is bound to the indicated id, or NULL if no PlaneNode is bound. | |
virtual bool | slot_new_clip_plane (int plane_id) |
This will be called by the base class before a particular clip plane id will be used for the first time. | |
virtual void | enable_clip_planes (bool enable) |
Intended to be overridden by a derived class to enable or disable the use of clipping planes overall. | |
virtual void | begin_bind_clip_planes () |
Called immediately before bind_clip_plane() is called, this is intended to provide the derived class a hook in which to set up some state (like transform) that might apply to several planes. | |
virtual void | bind_clip_plane (PlaneNode *plane, int pane_id) |
Called the first time a particular clipping plane has been bound to a given id within a frame, this should set up the associated hardware (or API) clipping plane with the plane's properties. | |
virtual void | end_bind_clip_planes () |
Called after before bind_clip_plane() has been called one or more times (but before any geometry is issued or additional state is changed), this is intended to clean up any temporary changes to the state that may have been made by begin_bind_clip_planes(). | |
bool | mark_prepared_texture (TextureContext *tc) |
This is intended to be called from within prepare_texture(). | |
bool | unmark_prepared_texture (TextureContext *tc) |
This is intended to be called from within release_texture(). | |
bool | mark_prepared_geom (GeomContext *gc) |
This is intended to be called from within prepare_geom(). | |
bool | unmark_prepared_geom (GeomContext *gc) |
This is intended to be called from within release_geom(). | |
bool | mark_prepared_geom_node (GeomNodeContext *gnc) |
This is intended to be called from within prepare_geom_node(). | |
bool | unmark_prepared_geom_node (GeomNodeContext *gnc) |
This is intended to be called from within release_geom_node(). | |
virtual void | close_gsg () |
This is called by the associated GraphicsWindow when close_window() is called. | |
void | init_frame_pstats () |
void | add_to_texture_record (TextureContext *) |
void | add_to_geom_record (GeomContext *) |
void | add_to_geom_node_record (GeomNodeContext *) |
void | record_state_change (TypeHandle) |
Static Protected Member Functions | |
ConstPointerTo< RenderState > | get_unlit_state () |
ConstPointerTo< RenderState > | get_unclipped_state () |
ConstPointerTo< RenderState > | get_untextured_state () |
Protected Attributes | |
GLclampf | _clear_color_red |
GLclampf | _clear_color_green |
GLclampf | _clear_color_blue |
GLclampf | _clear_color_alpha |
GLclampd | _clear_depth |
GLint | _clear_stencil |
GLclampf | _clear_accum_red |
GLclampf | _clear_accum_green |
GLclampf | _clear_accum_blue |
GLclampf | _clear_accum_alpha |
GLenum | _draw_buffer_mode |
GLenum | _read_buffer_mode |
GLenum | _shade_model_mode |
GLint | _scissor_x |
GLint | _scissor_y |
GLsizei | _scissor_width |
GLsizei | _scissor_height |
GLint | _viewport_x |
GLint | _viewport_y |
GLsizei | _viewport_width |
GLsizei | _viewport_height |
GLboolean | _lmodel_local |
GLboolean | _lmodel_twoside |
Colorf | _material_ambient |
Colorf | _material_diffuse |
Colorf | _material_specular |
float | _material_shininess |
Colorf | _material_emission |
GLenum | _stencil_func |
GLenum | _stencil_op |
GLfloat | _line_width |
GLfloat | _point_size |
GLenum | _blend_source_func |
GLenum | _blend_dest_func |
GLboolean | _depth_mask |
GLint | _fog_mode |
GLfloat | _fog_start |
GLfloat | _fog_end |
GLfloat | _fog_density |
Colorf | _fog_color |
GLenum | _alpha_func |
GLclampf | _alpha_func_ref |
GLenum | _polygon_mode |
GLint | _pack_alignment |
GLint | _unpack_alignment |
bool | _multisample_enabled |
bool | _line_smooth_enabled |
bool | _point_smooth_enabled |
bool | _scissor_enabled |
bool | _texturing_enabled |
bool | _dither_enabled |
bool | _stencil_test_enabled |
bool | _multisample_alpha_one_enabled |
bool | _multisample_alpha_mask_enabled |
bool | _blend_enabled |
bool | _depth_test_enabled |
bool | _fog_enabled |
bool | _dithering_enabled |
bool | _alpha_test_enabled |
bool | _polygon_offset_enabled |
int | _decal_level |
int | _cur_light_id |
LMatrix4f | _current_projection_mat |
int | _projection_mat_stack_count |
int | _max_clip_planes |
PointerToArray< PlaneNode * > | _available_clip_plane_ids |
bool * | _clip_plane_enabled |
bool * | _cur_clip_plane_enabled |
int | _cur_clip_plane_id |
ConstPointerTo< DisplayRegion > | _actual_display_region |
int | _pass_number |
PointerTo< SceneSetup > | _scene_setup |
ConstPointerTo< RenderState > | _state |
ConstPointerTo< TransformState > | _transform |
int | _buffer_mask |
Colorf | _color_clear_value |
float | _depth_clear_value |
bool | _stencil_clear_value |
Colorf | _accum_clear_value |
int | _clear_buffer_type |
int | _display_region_stack_level |
int | _frame_buffer_stack_level |
int | _lens_stack_level |
ConstPointerTo< DisplayRegion > | _current_display_region |
ConstPointerTo< Lens > | _current_lens |
bool | _normals_enabled |
CoordinateSystem | _coordinate_system |
Colorf | _scene_graph_color |
bool | _has_scene_graph_color |
bool | _scene_graph_color_stale |
bool | _vertex_colors_enabled |
bool | _lighting_enabled |
bool | _clip_planes_enabled |
int | _color_transform_enabled |
LVecBase4f | _current_color_offset |
LVecBase4f | _current_color_scale |
ColorWriteAttrib::Mode | _color_write_mode |
ColorBlendAttrib::Mode | _color_blend_mode |
TransparencyAttrib::Mode | _transparency_mode |
bool | _needs_reset |
bool | _closing_gsg |
Static Private Attributes | |
TypeHandle | _type_handle |
There should be no GL calls outside of this object.
Definition at line 81 of file crGraphicsStateGuardian.h.
|
Definition at line 268 of file graphicsStateGuardian.h. |
|
Definition at line 141 of file crGraphicsStateGuardian.cxx. |
|
Definition at line 165 of file crGraphicsStateGuardian.cxx. References GraphicsStateGuardian::_buffer_mask, activate(), free_pointers(), GraphicsStateGuardian::reset(), RenderBuffer::T_color, RenderBuffer::T_depth, and RenderBuffer::T_stencil. |
|
Sets this context to be the active context for future GL commands.
Definition at line 37 of file crGraphicsStateGuardian.I. Referenced by ~CRGraphicsStateGuardian(). |
|
Definition at line 228 of file graphicsStateGuardian.h. Referenced by GLGraphicsStateGuardian::prepare_geom_node(). |
|
Definition at line 227 of file graphicsStateGuardian.h. |
|
Definition at line 226 of file graphicsStateGuardian.h. Referenced by DXGraphicsStateGuardian8::draw_sphere(). |
|
Definition at line 2118 of file crGraphicsStateGuardian.cxx. Referenced by issue_render_mode(). |
|
Implements GraphicsStateGuardianBase. Definition at line 2070 of file crGraphicsStateGuardian.cxx. |
|
Makes the texture the currently available texture for rendering.
Reimplemented from GraphicsStateGuardian. Definition at line 1609 of file crGraphicsStateGuardian.cxx. References GeomNode::get_geom(), and dDrawable::is_dynamic(). |
|
Sends the texture image to GL. This can be used to render a texture in immediate mode, or as part of the process of creating a GL texture object. The return value is true if successful, or false if the texture has no image. Definition at line 2956 of file crGraphicsStateGuardian.cxx. References cr_supports_bgr, PixelBuffer::F_luminance, PixelBuffer::F_luminance_alpha, PixelBuffer::F_luminance_alphamask, PixelBuffer::F_rgba12, and PixelBuffer::F_rgba8. |
|
Called immediately before bind_clip_plane() is called, this is intended to provide the derived class a hook in which to set up some state (like transform) that might apply to several planes. The sequence is: begin_bind_clip_planes() will be called, then one or more bind_clip_plane() calls, then end_bind_clip_planes(). Reimplemented in GLGraphicsStateGuardian. Definition at line 1540 of file graphicsStateGuardian.cxx. References RenderState::make(), TextureAttrib::make_off(), and NULL. |
|
Called immediately before bind_light() is called, this is intended to provide the derived class a hook in which to set up some state (like transform) that might apply to several lights. The sequence is: begin_bind_lights() will be called, then one or more bind_light() calls, then end_bind_lights(). Reimplemented from GraphicsStateGuardian. Definition at line 3491 of file crGraphicsStateGuardian.cxx. |
|
Called during draw to begin a three-step rendering phase to draw decals. The first step, begin_decal_base_first(), is called prior to drawing the base geometry. It should set up whatever internal state is appropriate, as well as returning a RenderState object that should be applied to the base geometry for rendering. Implements GraphicsStateGuardianBase. Definition at line 714 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_has_scene_graph_color, GraphicsStateGuardian::_scene_graph_color_stale, GraphicsStateGuardian::_vertex_colors_enabled, and ColorAttrib::T_vertex. |
|
Called during draw to begin a three-step rendering phase to draw decals. The third step, begin_decal_base_second(), is called after drawing the base geometry and the nested decal geometry, and prior to drawing the base geometry one more time (if needed). It should return a RenderState object appropriate for rendering the base geometry the second time, or NULL if it is not necessary to re-render the base geometry. Implements GraphicsStateGuardianBase. Definition at line 785 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_light_info, and GraphicsStateGuardian::enable_light(). |
|
Called during draw to begin a three-step rendering phase to draw decals. The second step, begin_decal_nested(), is called after drawing the base geometry and prior to drawing any of the nested decal geometry that is to be applied to the base geometry. Implements GraphicsStateGuardianBase. Definition at line 744 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_light_info, GraphicsStateGuardian::_lighting_enabled, GraphicsStateGuardian::_lighting_enabled_this_frame, Colorf, GraphicsStateGuardian::enable_lighting(), AmbientLight::get_class_type(), Light::get_color(), LightAttrib::get_light(), LightAttrib::get_num_lights(), LightAttrib::get_operation(), Light::get_type(), nassertv, NULL, and LightAttrib::O_remove. |
|
Called before each frame is rendered, to allow the GSG a chance to do any internal cleanup before beginning the frame. The return value is true if successful (in which case the frame will be drawn and end_frame() will be called later), or false if unsuccessful (in which case nothing will be drawn and end_frame() will not be called). Reimplemented in DXGraphicsStateGuardian8, and GLGraphicsStateGuardian. Definition at line 516 of file graphicsStateGuardian.cxx. Referenced by GLGraphicsStateGuardian::prepare_lens(). |
|
Called between begin_frame() and end_frame() to mark the beginning of drawing commands for a "scene" (usually a particular DisplayRegion) within a frame. All 3-D drawing commands, except the clear operation, must be enclosed within begin_scene() .. end_scene(). The return value is true if successful (in which case the scene will be drawn and end_scene() will be called later), or false if unsuccessful (in which case nothing will be drawn and end_scene() will not be called). Reimplemented in DXGraphicsStateGuardian7, and DXGraphicsStateGuardian8. Definition at line 595 of file graphicsStateGuardian.cxx. References CPT, ColorWriteAttrib::M_off, ColorWriteAttrib::make(), RenderState::make(), and NULL. Referenced by DXGraphicsStateGuardian8::issue_depth_offset(). |
|
Called the first time a particular clipping plane has been bound to a given id within a frame, this should set up the associated hardware (or API) clipping plane with the plane's properties.
Reimplemented in DXGraphicsStateGuardian7, DXGraphicsStateGuardian8, and GLGraphicsStateGuardian. Definition at line 1558 of file graphicsStateGuardian.cxx. |
|
Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.
Reimplemented from GraphicsStateGuardian. Definition at line 2500 of file crGraphicsStateGuardian.cxx. References RenderBuffer::T_back_left, RenderBuffer::T_back_right, RenderBuffer::T_front_left, RenderBuffer::T_front_right, and RenderBuffer::T_left. |
|
Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.
Reimplemented from GraphicsStateGuardian. Definition at line 2452 of file crGraphicsStateGuardian.cxx. |
|
Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.
Reimplemented from GraphicsStateGuardian. Definition at line 2405 of file crGraphicsStateGuardian.cxx. References cr_depth_offset_decals. |
|
Definition at line 2778 of file crGraphicsStateGuardian.cxx. References build_phony_mipmaps(), cr_force_mipmaps, cr_ignore_mipmaps, pb, save_mipmap_images(), tex, and Texture::uses_mipmaps(). |
|
Generates a single colored mipmap level.
Definition at line 3796 of file crGraphicsStateGuardian.cxx. Referenced by set_ambient_light(). |
|
Generates a series of colored mipmap levels to aid in visualizing the mipmap levels as the hardware applies them.
Definition at line 3750 of file crGraphicsStateGuardian.cxx. Referenced by bind_texture(). |
|
Definition at line 607 of file crGraphicsStateGuardian.I. |
|
Definition at line 412 of file crGraphicsStateGuardian.I. Referenced by get_depth_func_type(). |
|
Definition at line 112 of file crGraphicsStateGuardian.I. References _draw_buffer_mode, and INLINE. |
|
Definition at line 55 of file crGraphicsStateGuardian.I. References _clear_color_alpha, and _clear_color_blue. |
|
Definition at line 77 of file crGraphicsStateGuardian.I. References _clear_stencil, chromium, and INLINE. |
|
Definition at line 97 of file crGraphicsStateGuardian.I. References _clear_accum_alpha, _clear_accum_blue, _clear_accum_green, _clear_accum_red, and chromium. |
|
|
|
|
|
Definition at line 134 of file crGraphicsStateGuardian.I. |
|
Definition at line 588 of file crGraphicsStateGuardian.I. References chromium. |
|
Definition at line 569 of file crGraphicsStateGuardian.I. |
|
Definition at line 550 of file crGraphicsStateGuardian.I. References _alpha_func, _alpha_func_ref, and INLINE. |
|
Definition at line 494 of file crGraphicsStateGuardian.I. References chromium. |
|
Definition at line 531 of file crGraphicsStateGuardian.I. References _fog_color, chromium, and INLINE. |
|
Definition at line 252 of file crGraphicsStateGuardian.I. References INLINE. |
|
Definition at line 269 of file crGraphicsStateGuardian.I. |
|
Definition at line 374 of file crGraphicsStateGuardian.I. References _blend_dest_func, and _blend_source_func. |
|
Definition at line 393 of file crGraphicsStateGuardian.I. Referenced by prepare_lens(). |
|
Definition at line 653 of file crGraphicsStateGuardian.I. References _multisample_enabled, chromium, and GL_MULTISAMPLE_SGIS. |
|
Definition at line 182 of file crGraphicsStateGuardian.I. |
|
Definition at line 214 of file crGraphicsStateGuardian.I. References chromium. |
|
Set the shading model to be either GL_FLAT or GL_SMOOTH.
Definition at line 199 of file crGraphicsStateGuardian.I. |
|
Definition at line 289 of file crGraphicsStateGuardian.I. |
|
Definition at line 335 of file crGraphicsStateGuardian.I. References _line_width, chromium, INLINE, and width. |
|
Definition at line 233 of file crGraphicsStateGuardian.I. References _lmodel_twoside, chromium, and INLINE. |
|
Clears the framebuffer within the indicated DisplayRegion, according to the flags indicated by the DisplayRegion object (inheriting from ClearableRegion). Note that by default, a DisplayRegion does not have any clear flags set, in which case this function will do nothing. Definition at line 146 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_state. |
|
Clears the framebuffer within the current DisplayRegion, according to the flags indicated by the given ClearableRegion object.
Definition at line 445 of file graphicsStateGuardian.cxx. Referenced by GraphicsStateGuardian::set_scene(), and GraphicsEngine::sync_frame(). |
|
Clears all of the indicated buffers to their assigned colors.
Definition at line 425 of file crGraphicsStateGuardian.cxx. |
|
Clears all of the indicated buffers to their assigned colors.
Definition at line 349 of file crGraphicsStateGuardian.cxx. |
|
This is called by the associated GraphicsWindow when close_window() is called. It should null out the _win pointer and possibly free any open resources associated with the GSG. Definition at line 1791 of file graphicsStateGuardian.cxx. Referenced by GraphicsPipe::get_hw_channel(). |
|
This function may only be called during a render traversal; it will compute the distance to the indicated point, assumed to be in modelview coordinates, from the camera plane.
Implements GraphicsStateGuardianBase. Definition at line 2619 of file crGraphicsStateGuardian.cxx. |
|
Implements GraphicsStateGuardianBase. Definition at line 2056 of file crGraphicsStateGuardian.cxx. References chromium, TexMatrixAttrib::get_mat(), and report_errors(). |
|
Implements GraphicsStateGuardianBase. Definition at line 1980 of file crGraphicsStateGuardian.cxx. Referenced by issue_transformed_color(), and texture_to_pixel_buffer(). |
|
Implements GraphicsStateGuardianBase. Definition at line 1907 of file crGraphicsStateGuardian.cxx. |
|
Copy the pixel region indicated by the display region from the framebuffer into texture memory.
Implements GraphicsStateGuardianBase. Definition at line 1864 of file crGraphicsStateGuardian.cxx. References PixelBuffer::_image, PointerToArray< unsigned char >::empty_array(), PixelBuffer::get_num_components(), PixelBuffer::get_xsize(), PixelBuffer::get_ysize(), and pb. Referenced by issue_transformed_color(). |
|
Returns true if this GSG can implement decals using a DepthOffsetAttrib, or false if that is unreliable and the three-step rendering process should be used instead.
Reimplemented from GraphicsStateGuardian. Definition at line 2571 of file crGraphicsStateGuardian.cxx. |
|
Implemented in DXGraphicsStateGuardian7, DXGraphicsStateGuardian8, and GLGraphicsStateGuardian. |
|
Draws a GeomNode previously indicated by a call to prepare_geom_node().
Reimplemented from GraphicsStateGuardian. Definition at line 1780 of file crGraphicsStateGuardian.cxx. References tex. |
|
Implements GraphicsStateGuardianBase. Definition at line 595 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Implements GraphicsStateGuardianBase. Definition at line 662 of file crGraphicsStateGuardian.cxx. |
|
|
|
Referenced by enable_lighting(). |
|
Implements GraphicsStateGuardianBase. Definition at line 530 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Implements GraphicsStateGuardianBase. Definition at line 1028 of file crGraphicsStateGuardian.cxx. |
|
Implements GraphicsStateGuardianBase. Definition at line 1193 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Implements GraphicsStateGuardianBase. Definition at line 1475 of file crGraphicsStateGuardian.cxx. References G_PER_VERTEX, and GeomIssuer::issue_color(). |
|
Implements GraphicsStateGuardianBase. Definition at line 773 of file crGraphicsStateGuardian.cxx. References tex. |
|
Implements GraphicsStateGuardianBase. Definition at line 1112 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Implements GraphicsStateGuardianBase. Definition at line 1373 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Implements GraphicsStateGuardianBase. Definition at line 1272 of file crGraphicsStateGuardian.cxx. References chromium, G_PER_COMPONENT, G_PER_PRIM, G_PER_VERTEX, GeomIssuer::issue_color(), GeomIssuer::issue_normal(), GeomIssuer::issue_texcoord(), GeomIssuer::issue_vertex(), and nassertv. |
|
|
Definition at line 1044 of file crGraphicsStateGuardian.I. References INLINE. Referenced by get_depth_func_type(). |
|
Definition at line 963 of file crGraphicsStateGuardian.I. References chromium. Referenced by get_depth_func_type(). |
|
Intended to be overridden by a derived class to enable the indicated plane id. A specific PlaneNode will already have been bound to this id via bind_clip_plane(). Reimplemented from GraphicsStateGuardian. Definition at line 878 of file crGraphicsStateGuardian.I. References _blend_enabled, chromium, and INLINE. |
|
Intended to be overridden by a derived class to enable or disable the use of clipping planes overall. This is called by issue_clip_plane() according to whether any planes are in use or not. Definition at line 1496 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_transform_state_pcollector, and PStatCollector::add_level(). Referenced by GraphicsStateGuardian::issue_color(). |
|
Definition at line 990 of file crGraphicsStateGuardian.I. References chromium. |
|
Definition at line 778 of file crGraphicsStateGuardian.I. |
|
Definition at line 1017 of file crGraphicsStateGuardian.I. References INLINE. Referenced by issue_render_mode(). |
|
Intended to be overridden by a derived class to enable the indicated light id. A specific Light will already have been bound to this id via bind_light(). Reimplemented from GraphicsStateGuardian. Definition at line 3460 of file crGraphicsStateGuardian.cxx. |
|
Intended to be overridden by a derived class to enable or disable the use of lighting overall. This is called by issue_light() according to whether any lights are in use or not. Reimplemented from GraphicsStateGuardian. Definition at line 3420 of file crGraphicsStateGuardian.cxx. References SavedFrameBuffer::_buffer, SavedFrameBuffer::_display_region, draw_pixel_buffer(), NULL, and RenderBuffer::T_depth. |
|
Definition at line 737 of file crGraphicsStateGuardian.I. References _stencil_test_enabled, and chromium. |
|
Definition at line 712 of file crGraphicsStateGuardian.I. References _dither_enabled, and chromium. |
|
Definition at line 934 of file crGraphicsStateGuardian.I. References _fog_enabled, and chromium. Referenced by get_depth_func_type(). |
|
Definition at line 905 of file crGraphicsStateGuardian.I. References _depth_test_enabled, chromium, and INLINE. Referenced by get_depth_func_type(). |
|
Definition at line 119 of file graphicsStateGuardian.h. References CoordinateSystem, and INLINE. |
|
Definition at line 757 of file crGraphicsStateGuardian.I. References _texturing_enabled, chromium, and INLINE. |
|
Definition at line 1072 of file crGraphicsStateGuardian.I. References GraphicsStateGuardian::_scene_graph_color, GraphicsStateGuardian::_scene_graph_color_stale, INLINE, and issue_transformed_color(). |
|
Definition at line 859 of file crGraphicsStateGuardian.I. References chromium, and GL_SAMPLE_ALPHA_TO_MASK_SGIS. |
|
Definition at line 805 of file crGraphicsStateGuardian.I. References _clip_plane_enabled, chromium, and get_clip_plane_id(). |
|
Definition at line 832 of file crGraphicsStateGuardian.I. References chromium, and GL_SAMPLE_ALPHA_TO_ONE_SGIS. |
|
Called after before bind_clip_plane() has been called one or more times (but before any geometry is issued or additional state is changed), this is intended to clean up any temporary changes to the state that may have been made by begin_bind_clip_planes().
Reimplemented in GLGraphicsStateGuardian. Definition at line 1578 of file graphicsStateGuardian.cxx. |
|
Called after before bind_light() has been called one or more times (but before any geometry is issued or additional state is changed), this is intended to clean up any temporary changes to the state that may have been made by begin_bind_lights().
Reimplemented from GraphicsStateGuardian. Definition at line 3521 of file crGraphicsStateGuardian.cxx. |
|
Called after each frame is rendered, to allow the GSG a chance to do any internal cleanup after rendering the frame, and before the window flips.
Reimplemented in DXGraphicsStateGuardian7, DXGraphicsStateGuardian8, and GLGraphicsStateGuardian. Definition at line 632 of file graphicsStateGuardian.cxx. |
|
Called between begin_frame() and end_frame() to mark the end of drawing commands for a "scene" (usually a particular DisplayRegion) within a frame. All 3-D drawing commands, except the clear operation, must be enclosed within begin_scene() .. end_scene(). Reimplemented in DXGraphicsStateGuardian7, and DXGraphicsStateGuardian8. Definition at line 616 of file graphicsStateGuardian.cxx. |
|
Called during draw to clean up after decals are finished.
Implements GraphicsStateGuardianBase. Definition at line 813 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_light_info. |
|
Reimplemented from GraphicsStateGuardian. Definition at line 353 of file crGraphicsStateGuardian.h. |
|
Frees some memory that was explicitly allocated within the crgsg.
Reimplemented from GraphicsStateGuardian. Definition at line 3659 of file crGraphicsStateGuardian.cxx. Referenced by ~CRGraphicsStateGuardian(). |
|
Reimplemented from GraphicsStateGuardian. Definition at line 3937 of file crGraphicsStateGuardian.cxx. Referenced by wcrGraphicsWindow::make_current(). |
|
Returns the PlaneNode object that is bound to the indicated id, or NULL if no PlaneNode is bound.
Definition at line 552 of file graphicsStateGuardian.I. |
|
Convert index to gl clip plane id.
Definition at line 1149 of file crGraphicsStateGuardian.I. Referenced by enable_stencil_test(). |
|
Returns the coordinate system in effect on this particular gsg. Normally, this will be the default coordinate system, but it might be set differently at runtime. Definition at line 521 of file graphicsStateGuardian.I. |
|
Definition at line 1111 of file crGraphicsStateGuardian.I. Referenced by get_image_type(). |
|
Definition at line 1123 of file crGraphicsStateGuardian.I. Referenced by get_image_type(). |
|
Definition at line 1099 of file crGraphicsStateGuardian.I. Referenced by get_image_type(). |
|
Returns the current display region being rendered to, as set by the last call to push_display_region() (or restored by pop_display_region()). This display region will be made active (if it is not already) by a call to prepare_display_region(). Definition at line 269 of file graphicsStateGuardian.I. References FrameBufferStack::_frame_buffer, GraphicsStateGuardian::_frame_buffer_stack_level, FrameBufferStack::_stack_level, and GraphicsStateGuardian::save_frame_buffer(). Referenced by PlanarReflector::init(). |
|
Returns the current lens being rendered with, as set by the last call to push_lens() (or restored by pop_lens()). This lens will be made active (if it is not already) by a call to prepare_lens(). Definition at line 288 of file graphicsStateGuardian.I. |
|
Maps from the depth func modes to gl version.
Definition at line 3299 of file crGraphicsStateGuardian.cxx. References call_glBlendFunc(), enable_alpha_test(), enable_blend(), enable_multisample_alpha_mask(), enable_multisample_alpha_one(), TransparencyAttrib::M_alpha, TransparencyAttrib::M_alpha_sorted, TransparencyAttrib::M_multisample, and TransparencyAttrib::M_none. |
|
|
|
Maps from the PixelBuffer's Format symbols to GL's.
Definition at line 3161 of file crGraphicsStateGuardian.cxx. References chromium. Referenced by set_blend_mode(), and set_read_buffer(). |
|
|
|
Maps from the PixelBuffer's internal Type symbols to GL's.
Definition at line 3131 of file crGraphicsStateGuardian.cxx. References chromium, Colorf, get_current_alpha_offset(), get_current_alpha_scale(), and get_current_color_mat(). Referenced by set_blend_mode(), and set_read_buffer(). |
|
Should be overridden by derived classes to return the coordinate system used internally by the GSG, if any one particular coordinate system is used. The default, CS_default, indicates that the GSG can use any coordinate system. If this returns other than CS_default, the GraphicsEngine will automatically convert all transforms into the indicated coordinate system. Reimplemented from GraphicsStateGuardian. Definition at line 2600 of file crGraphicsStateGuardian.cxx. References chromium, Texture::get_magfilter(), Texture::get_minfilter(), get_texture_filter_type(), get_texture_wrap_mode(), Texture::get_wrapu(), Texture::get_wrapv(), and tex. |
|
Maps from the PixelBuffer's Format symbols to a suitable internal format for GL textures.
Definition at line 3221 of file crGraphicsStateGuardian.cxx. References GraphicsStateGuardian::_scene_setup, and chromium. Referenced by set_read_buffer(). |
|
Returns the Light object that is bound to the indicated id, or NULL if no Light is bound.
Definition at line 536 of file graphicsStateGuardian.I. |
|
Convert index to gl light id.
Definition at line 1135 of file crGraphicsStateGuardian.I. Referenced by issue_color_write(), and issue_depth_write(). |
|
Returns the graphics pipe on which this GSG was created.
Definition at line 78 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_scene_setup, and INLINE. Referenced by GraphicsEngine::terminate_threads(). |
|
Returns the frame buffer properties requested for this GSG. All windows created for this GSG must be created with the same properties. Definition at line 63 of file graphicsStateGuardian.I. |
|
Returns the current reference count.
Definition at line 183 of file referenceCount.I. Referenced by RenderState::determine_bin_index(), RenderEffects::determine_show_bounds(), FontPool::ns_garbage_collect(), TexturePool::ns_garbage_collect(), MaterialPool::ns_get_material(), and TexturePool::ns_release_texture(). |
|
Returns a RenderBuffer object suitable for operating on the requested set of buffers. buffer_type is the union of all the desired RenderBuffer::Type values. Definition at line 170 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_prepared_textures. Referenced by release_geom_node(). |
|
Returns the SceneSetup object.
Definition at line 123 of file graphicsStateGuardian.I. References INLINE, and GraphicsStateGuardian::reset(). |
|
|
|
|
|
Maps from the texture environment's mode types to the corresponding OpenGL ids.
Definition at line 3277 of file crGraphicsStateGuardian.cxx. References ColorBlendAttrib::M_add, and ColorBlendAttrib::M_multiply_add. |
|
|
|
Maps from the Texture's internal filter type symbols to GL's.
Definition at line 3084 of file crGraphicsStateGuardian.cxx. References chromium. Referenced by get_internal_coordinate_system(). |
|
Maps from the Texture's internal wrap mode symbols to GL's.
Definition at line 3053 of file crGraphicsStateGuardian.cxx. References RenderAttrib::M_always, RenderAttrib::M_equal, RenderAttrib::M_greater, RenderAttrib::M_greater_equal, RenderAttrib::M_less, RenderAttrib::M_less_equal, RenderAttrib::M_never, and RenderAttrib::M_not_equal. Referenced by get_internal_coordinate_system(). |
|
Returns the threading model that was used to create this GSG.
Definition at line 93 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_scene_setup, and INLINE. |
|
Reimplemented from GraphicsStateGuardian. Definition at line 3933 of file crGraphicsStateGuardian.cxx. |
|
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index(). Definition at line 71 of file typedObject.I. References TypeHandle::get_name(), TypedObject::get_type(), and INLINE. |
|
Definition at line 1969 of file graphicsStateGuardian.cxx. Referenced by GraphicsStateGuardian::set_depth_clear_value(). |
|
Definition at line 1952 of file graphicsStateGuardian.cxx. |
|
Reimplemented in GLGraphicsStateGuardian. Definition at line 1986 of file graphicsStateGuardian.cxx. |
|
Definition at line 225 of file graphicsStateGuardian.h. |
|
Reimplemented from GraphicsStateGuardian. Definition at line 3941 of file crGraphicsStateGuardian.cxx. |
|
Returns true if the current object is the indicated type exactly.
Definition at line 101 of file typedObject.I. Referenced by PT(), and CollisionNode::xform(). |
|
|
Reimplemented in DXGraphicsStateGuardian7, DXGraphicsStateGuardian8, and GLGraphicsStateGuardian. Definition at line 186 of file graphicsStateGuardianBase.h. Referenced by AlphaTestAttrib::make(). |
|
This is fundametically similar to issue_light(), with calls to slot_new_clip_plane(), apply_clip_plane(), and enable_clip_planes(), as appropriate.
Reimplemented from GraphicsStateGuardianBase. Definition at line 1158 of file graphicsStateGuardian.cxx. |
|
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 1140 of file graphicsStateGuardian.cxx. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 868 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::end_bind_lights(). |
|
Reimplemented from GraphicsStateGuardian. Definition at line 2263 of file crGraphicsStateGuardian.cxx. References GraphicsStateGuardian::_scene_setup, chromium, Colorf, Light::get_color(), get_light_id(), NodePath::get_mat(), PointLight::get_point(), and PointLight::get_specular_color(). |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2323 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2374 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2286 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2305 of file crGraphicsStateGuardian.cxx. References GraphicsStateGuardian::_scene_setup, chromium, Colorf, Light::get_color(), DirectionalLight::get_direction(), get_light_id(), NodePath::get_mat(), and DirectionalLight::get_specular_color(). |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2354 of file crGraphicsStateGuardian.cxx. References GraphicsStateGuardian::_scene_setup, chromium, and Colorf. |
|
The default implementation of issue_light() assumes we have a limited number of hardware lights available. This function assigns each light to a different hardware light id, trying to keep each light associated with the same id where possible, but reusing id's when necessary. When it is no longer possible to reuse existing id's (e.g. all id's are in use), slot_new_light() is called to prepare the next sequential light id. It will call apply_light() each time a light is assigned to a particular id for the first time in a given frame, and it will subsequently call enable_light() to enable or disable each light as the frame is rendered, as well as enable_lighting() to enable or disable overall lighting. If this model of hardware lights with id's does not apply to a particular graphics engine, it should override this function to do something more appropriate instead. Reimplemented from GraphicsStateGuardianBase. Definition at line 983 of file graphicsStateGuardian.cxx. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2201 of file crGraphicsStateGuardian.cxx. References chromium, CullFaceAttrib::M_cull_clockwise, and CullFaceAttrib::M_cull_counter_clockwise. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2221 of file crGraphicsStateGuardian.cxx. References apply_fog(), enable_fog(), FogAttrib::get_fog(), FogAttrib::is_off(), nassertv, NULL, and report_errors(). |
|
Checks whether the scene graph color needs to be issued, and sends the appropriate chromium.Color command if it does.
Definition at line 1179 of file crGraphicsStateGuardian.I. Referenced by prepare_lens(). |
|
Definition at line 204 of file graphicsStateGuardianBase.h. |
|
Definition at line 203 of file graphicsStateGuardianBase.h. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2167 of file crGraphicsStateGuardian.cxx. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2181 of file crGraphicsStateGuardian.cxx. References chromium, DepthWriteAttrib::M_off, and DepthWriteAttrib::Mode. |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 2249 of file crGraphicsStateGuardian.cxx. References chromium. |
|
Sends the indicated transform matrix to the graphics API to be applied to future vertices.
Reimplemented from GraphicsStateGuardian. Definition at line 2148 of file crGraphicsStateGuardian.cxx. References chromium, ColorWriteAttrib::M_off, and ColorWriteAttrib::Mode. |
|
Transform the color by the current color matrix, and calls the appropriate chromium.Color function.
Definition at line 3385 of file crGraphicsStateGuardian.cxx. References RenderBuffer::_buffer_type, copy_pixel_buffer(), copy_texture(), PixelBuffer::depth_buffer(), DisplayRegion::get_pixel_height(), DisplayRegion::get_pixel_width(), RenderBuffer::T_back, and RenderBuffer::T_depth. Referenced by enable_polygon_offset(). |
|
Reimplemented from GraphicsStateGuardianBase. Definition at line 1127 of file graphicsStateGuardian.cxx. |
|
Definition at line 3921 of file crGraphicsStateGuardian.cxx. |
|
This is intended to be called from within prepare_geom(). It adds the indicated GeomContext pointer to the _prepared_geoms set, and returns true if it was successfully added (i.e. it was not already in the set). Definition at line 1671 of file graphicsStateGuardian.cxx. |
|
This is intended to be called from within prepare_geom_node(). It adds the indicated GeomNodeContext pointer to the _prepared_geom_nodes set, and returns true if it was successfully added (i.e. it was not already in the set). Definition at line 1725 of file graphicsStateGuardian.cxx. |
|
This is intended to be called from within prepare_texture(). It adds the indicated TextureContext pointer to the _prepared_textures set, and returns true if it was successfully added (i.e. it was not already in the set). Definition at line 1617 of file graphicsStateGuardian.cxx. Referenced by RIBGraphicsStateGuardian::draw_sprite(). |
|
Applies the attributes indicated in the state set to the current state, and issues the changes to the graphics hardware. Any transitions not mentioned are left unchanged. Definition at line 187 of file graphicsStateGuardian.I. Referenced by GLGraphicsStateGuardian::copy_texture(), and GraphicsStateGuardian::set_depth_clear_value(). |
|
Restores the display region previously in effect, before the matching call to push_display_region(). The newly-restored display region will not actually be made active for rendering until the next call to prepare_display_region(). This is a state-changing optimization. Definition at line 347 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_current_lens, and GraphicsStateGuardian::prepare_lens(). Referenced by GraphicsStateGuardian::set_scene(). |
|
Restores the contents of the frame buffer as saved by a previous call to push_frame_buffer().
Definition at line 392 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_clip_plane_info, INLINE, nassertr, and NULL. |
|
Restores the lens previously in effect, before the matching call to push_lens(). The newly-restored lens will not actually be made active for rendering until the next call to prepare_lens(). This is a state-changing optimization. Definition at line 453 of file graphicsStateGuardian.I. |
|
Prepare a display region for rendering (set up scissor region and viewport).
Implements GraphicsStateGuardian. Definition at line 443 of file crGraphicsStateGuardian.cxx. References GraphicsStateGuardian::_current_lens, chromium, CS_yup_right, and NULL. |
|
Prepares the indicated Geom for retained-mode rendering. The value returned by this function will be passed back into future calls to draw_tristrip(), etc., along with the Geom pointer. Implements GraphicsStateGuardianBase. Definition at line 365 of file graphicsStateGuardian.cxx. References RenderBuffer::T_depth. |
|
Prepares the indicated GeomNode for retained-mode rendering. If this function returns non-NULL, the value returned will be passed back to a future call to draw_geom_node(), which is expected to draw the contents of the node. Reimplemented from GraphicsStateGuardian. Definition at line 1679 of file crGraphicsStateGuardian.cxx. References NULL. |
|
|
Creates a new retained-mode representation of the given texture, and returns a newly-allocated TextureContext pointer to reference it. It is the responsibility of the calling function to later call release_texture() with this same pointer (which will also delete the pointer). Reimplemented from GraphicsStateGuardian. Definition at line 1577 of file crGraphicsStateGuardian.cxx. References tex. |
|
Prints a description of the current visual selected.
Definition at line 3327 of file crGraphicsStateGuardian.cxx. References TransparencyAttrib::M_binary, and TransparencyAttrib::M_multisample_mask. |
|
Saves the current display region information and sets up a new display region for rendering. The return value from this function must eventually be passed to a matching pop_display_region() call. The new display region will not actually be made active for rendering until the next call to prepare_display_region(). This is a state-changing optimization. Definition at line 317 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_current_lens, GraphicsStateGuardian::_lens_stack_level, LensStack::_stack_level, INLINE, and nassertv. Referenced by GLGraphicsStateGuardian::bind_texture(), and GraphicsStateGuardian::set_scene(). |
|
Saves the contents of the frame buffer (within the indicated display region only) so that rendering may be performed (for instance, to render a partial in a multipass algorithm) and the frame buffer later restored via a matching call to pop_frame_buffer().
Definition at line 372 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_coordinate_system, CoordinateSystem, and INLINE. Referenced by GLGraphicsStateGuardian::release_geom_node(), and release_geom_node(). |
|
Saves the current lens information and sets up a new lens for rendering. The return value from this function must eventually be passed to a matching pop_lens() call. The new lens will not actually be made active for rendering until the next call to prepare_lens(). This is a state-changing optimization. Definition at line 423 of file graphicsStateGuardian.I. |
|
Definition at line 229 of file graphicsStateGuardian.h. References Colorf. |
|
Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it. The return value is the new reference count. Definition at line 225 of file referenceCount.I. Referenced by ClientDevice::ClientDevice(), EggGroupNode::find_textures(), EggGroupNode::r_apply_texmats(), EggGroupNode::r_flatten_transforms(), and EggGroupNode::reverse_vertex_ordering(). |
|
Frees the resources for all Geoms and GeomNodes associated with this GSG. Warning! This may make the Geoms unrenderable, if the Panda-level information has been deleted. Definition at line 218 of file graphicsStateGuardian.cxx. References NULL. |
|
Frees the resources for all textures associated with this GSG.
Definition at line 185 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_prepared_geom_nodes, GraphicsStateGuardian::_prepared_geoms, nassertv, GraphicsStateGuardian::release_geom(), and GraphicsStateGuardian::release_geom_node(). |
|
Frees the resources previously allocated via a call to prepare_geom(), including deleting the GeomContext itself, if necessary.
Implements GraphicsStateGuardianBase. Definition at line 382 of file graphicsStateGuardian.cxx. Referenced by GraphicsStateGuardian::release_all_textures(). |
|
Frees the resources previously allocated via a call to prepare_geom_node(), including deleting the GeomNodeContext itself, if necessary.
Reimplemented from GraphicsStateGuardian. Definition at line 1824 of file crGraphicsStateGuardian.cxx. References Texture::_pbuffer, TextureContext::_texture, GraphicsStateGuardian::get_render_buffer(), nassertv, NULL, pb, PT, GraphicsStateGuardian::push_frame_buffer(), RenderBuffer::T_back, RenderBuffer::T_depth, and tex. |
|
Frees the GL resources previously allocated for the texture.
Reimplemented from GraphicsStateGuardian. Definition at line 1640 of file crGraphicsStateGuardian.cxx. References GraphicsStateGuardian::_vertices_other_pcollector, GraphicsStateGuardian::_vertices_tri_pcollector, GraphicsStateGuardian::_vertices_trifan_pcollector, GraphicsStateGuardian::_vertices_tristrip_pcollector, and chromium. |
|
Resets all internal state as if the gsg were newly created.
Reimplemented from GraphicsStateGuardian. Definition at line 182 of file crGraphicsStateGuardian.cxx. References GraphicsStateGuardian::_buffer_mask, chromium, GLboolean(), and RenderBuffer::T_accum. |
|
Calls reset() to initialize the GSG, but only if it hasn't been called yet.
Definition at line 164 of file graphicsStateGuardian.I. References RenderState::write(). Referenced by glxGraphicsWindow::~glxGraphicsWindow(), and wglGraphicsWindow::~wglGraphicsWindow(). |
|
Restores the frame buffer that was previously saved.
Implements GraphicsStateGuardian. Definition at line 3719 of file crGraphicsStateGuardian.cxx. |
|
Saves the indicated planes of the frame buffer (within the indicated display region) and returns it in some meaningful form that can be restored later via restore_frame_buffer(). This is a helper function for push_frame_buffer() and pop_frame_buffer(). Implements GraphicsStateGuardian. Definition at line 3689 of file crGraphicsStateGuardian.cxx. |
|
Saves out each mipmap level of the indicated texture (which must also be the currently active texture in the GL state) as a separate image file to disk.
Definition at line 3871 of file crGraphicsStateGuardian.cxx. Referenced by bind_texture(). |
|
Intended to be overridden by a derived class to indicate the color of the ambient light that should be in effect. This is called by issue_light() after all other lights have been enabled or disabled. Reimplemented from GraphicsStateGuardian. Definition at line 3443 of file crGraphicsStateGuardian.cxx. References build_phony_mipmap_level(), and tex. |
|
Called after any of these three blending states have changed; this function is responsible for setting the appropriate color blending mode based on the given properties.
Reimplemented from GraphicsStateGuardian. Definition at line 3541 of file crGraphicsStateGuardian.cxx. References chromium, Filename::empty(), format_string(), Filename::get_basename_wo_extension(), PixelBuffer::get_component_width(), get_external_image_format(), PixelBuffer::get_format(), PixelBuffer::get_image_type(), get_image_type(), Namable::get_name(), PixelBuffer::get_num_components(), Texture::get_ram_image(), PixelBuffer::get_xsize(), PixelBuffer::get_ysize(), nassertv, nout, NULL, pb, PT, set_pack_alignment(), and tex. |
|
Sets the color that the next do_clear() command will set the color buffer to.
Reimplemented in DXGraphicsStateGuardian7, and DXGraphicsStateGuardian8. Definition at line 413 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_light_info, and GraphicsStateGuardian::enable_light(). |
|
Changes the coordinate system in effect on this particular gsg. Normally, this will be the default coordinate system, but it might be set differently at runtime. Definition at line 502 of file graphicsStateGuardian.I. |
|
Sets the depth that the next do_clear() command will set the depth buffer to.
Definition at line 428 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_clip_plane_info, GraphicsStateGuardian::_clip_planes_enabled_this_frame, GraphicsStateGuardian::enable_clip_plane(), GraphicsStateGuardian::get_unclipped_state(), GraphicsStateGuardian::modify_state(), and NULL. |
|
Sets up the chromium.DrawBuffer to render into the buffer indicated by the RenderBuffer object. This only sets up the color bits; it does not affect the depth, stencil, accum layers. Definition at line 2674 of file crGraphicsStateGuardian.cxx. References GL_UNSIGNED_BYTE_3_3_2_EXT. |
|
Sets a new lens for rendering without bothering to push or pop. This replaces the lens most recently pushed, if any. There is no need to call prepare_lens() following this call. The return value is true if the lens is acceptable, false if it is not. Definition at line 482 of file graphicsStateGuardian.I. |
|
Definition at line 682 of file crGraphicsStateGuardian.I. References chromium. Referenced by set_blend_mode(). |
|
Sets up the chromium.ReadBuffer to render into the buffer indicated by the RenderBuffer object. This only sets up the color bits; it does not affect the depth, stencil, accum layers. Definition at line 2729 of file crGraphicsStateGuardian.cxx. References PixelBuffer::_image, compute_cr_image_size(), cr_supports_bgr, get_external_image_format(), PixelBuffer::get_format(), PixelBuffer::get_image_type(), get_image_type(), get_internal_image_format(), Texture::get_ram_image(), PixelBuffer::get_xsize(), PixelBuffer::get_ysize(), nassertr, NULL, pb, set_unpack_alignment(), PointerToArray< unsigned char >::size(), PixelBuffer::T_unsigned_byte, tex, uchar, uchar_bgr_to_rgb(), and uchar_bgra_to_rgba(). Referenced by texture_to_pixel_buffer(). |
|
Sets the SceneSetup object that indicates the initial camera position, etc. This must be called before traversal begins. Definition at line 110 of file graphicsStateGuardian.I. References GraphicsStateGuardian::clear(), GraphicsStateGuardian::pop_display_region(), GraphicsStateGuardian::prepare_display_region(), and GraphicsStateGuardian::push_display_region(). |
|
Applies the attributes indicated in the state set to the current state, and issues the changes to the graphics hardware. The state is taken to be a complete description of what the graphics state should be; any transitions not mentioned are implicitly reset to their initial values. Definition at line 220 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_current_display_region, DisplayRegionStack::_display_region, GraphicsStateGuardian::_display_region_stack_level, DisplayRegionStack::_stack_level, and INLINE. |
|
Simultaneously resets the render state and the transform state.
Implements GraphicsStateGuardianBase. Definition at line 396 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_light_info. |
|
Sets the world transform that will be applied to subsequent geometry. This is normally called only during the draw process, immediately before issuing geometry commands. Definition at line 245 of file graphicsStateGuardian.I. References GraphicsStateGuardian::_current_display_region, DisplayRegionStack::_display_region, GraphicsStateGuardian::_display_region_stack_level, DisplayRegionStack::_stack_level, INLINE, and nassertv. |
|
Definition at line 697 of file crGraphicsStateGuardian.I. References chromium. Referenced by set_read_buffer(). |
|
This will be called by the base class before a particular clip plane id will be used for the first time. It is intended to allow the derived class to reserve any additional resources, if required, for the new clip plane; and also to indicate whether the hardware supports this many simultaneous clipping planes. The return value should be true if the additional plane is supported, or false if it is not. Reimplemented in DXGraphicsStateGuardian7, DXGraphicsStateGuardian8, and GLGraphicsStateGuardian. Definition at line 1477 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_active_geom_node_pcollector, and PStatCollector::add_level(). Referenced by GraphicsStateGuardian::issue_color(). |
|
This will be called by the base class before a particular light id will be used for the first time. It is intended to allow the derived class to reserve any additional resources, if required, for the new light; and also to indicate whether the hardware supports this many simultaneous lights. The return value should be true if the additional light is supported, or false if it is not. Reimplemented in GLGraphicsStateGuardian. Definition at line 1348 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_prepared_geom_nodes, GraphicsStateGuardian::_total_geom_node_pcollector, and PStatCollector::sub_level(). |
|
Definition at line 2800 of file crGraphicsStateGuardian.cxx. |
|
Does some easy checks to make sure that the reference count isn't completely bogus.
Definition at line 328 of file referenceCount.I. References INLINE. Referenced by EggNode::determine_bin(), and ReferenceCount::~ReferenceCount(). |
|
Implements GraphicsStateGuardianBase. Definition at line 1950 of file crGraphicsStateGuardian.cxx. References copy_pixel_buffer(), pb, and set_read_buffer(). |
|
Implements GraphicsStateGuardianBase. Definition at line 1921 of file crGraphicsStateGuardian.cxx. |
|
Definition at line 1995 of file graphicsStateGuardian.cxx. Referenced by DXGraphicsStateGuardian8::slot_new_clip_plane(). |
|
This is intended to be called from within release_geom(). It removes the indicated GeomContext pointer from the _prepared_geoms set, and returns true if it was successfully removed (i.e. it had been in the set). Definition at line 1698 of file graphicsStateGuardian.cxx. |
|
This is intended to be called from within release_geom_node(). It removes the indicated GeomNodeContext pointer from the _prepared_geom_nodes set, and returns true if it was successfully removed (i.e. it had been in the set). Definition at line 1752 of file graphicsStateGuardian.cxx. |
|
This is intended to be called from within release_texture(). It removes the indicated TextureContext pointer from the _prepared_textures set, and returns true if it was successfully removed (i.e. it had been in the set). Definition at line 1644 of file graphicsStateGuardian.cxx. |
|
Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete(). User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it. The return value is the new reference count. Definition at line 293 of file referenceCount.I. References INLINE. Referenced by RenderState::determine_bin_index(), and RenderEffects::determine_show_bounds(). |
|
Returns true if the GSG should issue geometry color commands, false otherwise.
Implements GraphicsStateGuardianBase. Reimplemented in RIBGraphicsStateGuardian. Definition at line 670 of file graphicsStateGuardian.cxx. References GraphicsStateGuardian::_color_transform_enabled, GraphicsStateGuardian::_current_color_scale, and GraphicsStateGuardian::CT_scale. Referenced by GLGraphicsStateGuardian::draw_point(), and GLGraphicsStateGuardian::draw_quad(). |
|
Reimplemented from GraphicsStateGuardian. Definition at line 2540 of file crGraphicsStateGuardian.cxx. References RenderBuffer::T_back, RenderBuffer::T_left, and RenderBuffer::T_right. |
|
Reimplemented from GraphicsStateGuardian. Definition at line 2552 of file crGraphicsStateGuardian.cxx. References RenderBuffer::T_back_left, RenderBuffer::T_back_right, RenderBuffer::T_front_left, and RenderBuffer::T_front_right. |
|
Definition at line 246 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::reset(). |
|
Referenced by GraphicsStateGuardian::enable_light(), and GraphicsStateGuardian::slot_new_clip_plane(). |
|
Referenced by GraphicsStateGuardian::enable_light(), and GraphicsStateGuardian::end_bind_lights(). |
|
Referenced by GraphicsStateGuardian::set_ambient_light(). |
|
Definition at line 342 of file crGraphicsStateGuardian.h. |
|
Definition at line 307 of file crGraphicsStateGuardian.h. Referenced by call_glFogEnd(). |
|
Definition at line 308 of file crGraphicsStateGuardian.h. Referenced by call_glFogEnd(). |
|
Definition at line 327 of file crGraphicsStateGuardian.h. |
|
Definition at line 337 of file crGraphicsStateGuardian.h. |
|
Definition at line 300 of file crGraphicsStateGuardian.h. Referenced by call_glLineWidth(). |
|
Definition at line 323 of file crGraphicsStateGuardian.h. Referenced by enable_clip_plane(). |
|
Definition at line 299 of file crGraphicsStateGuardian.h. Referenced by call_glLineWidth(). |
|
|
Definition at line 275 of file crGraphicsStateGuardian.h. Referenced by call_glClearStencil(). |
|
Definition at line 275 of file crGraphicsStateGuardian.h. Referenced by call_glClearStencil(). |
|
Definition at line 275 of file crGraphicsStateGuardian.h. Referenced by call_glClearStencil(). |
|
Definition at line 275 of file crGraphicsStateGuardian.h. Referenced by call_glClearStencil(). |
|
Definition at line 247 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::reset(). |
|
Definition at line 271 of file crGraphicsStateGuardian.h. Referenced by call_glClearColor(). |
|
Definition at line 271 of file crGraphicsStateGuardian.h. Referenced by call_glClearColor(). |
|
Definition at line 271 of file crGraphicsStateGuardian.h. |
|
Definition at line 271 of file crGraphicsStateGuardian.h. |
|
Definition at line 273 of file crGraphicsStateGuardian.h. |
|
Definition at line 274 of file crGraphicsStateGuardian.h. Referenced by call_glClearDepth(). |
|
Definition at line 338 of file crGraphicsStateGuardian.h. Referenced by enable_stencil_test(). |
|
Definition at line 266 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::issue_color(), and GraphicsStateGuardian::reset(). |
|
Definition at line 281 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::GraphicsStateGuardian(), and GLGraphicsStateGuardian::prepare_texture(). |
|
Definition at line 277 of file graphicsStateGuardian.h. Referenced by DXGraphicsStateGuardian8::enable_blend(), and GraphicsStateGuardian::reset(). |
|
Definition at line 243 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::reset(). |
|
|
Definition at line 276 of file graphicsStateGuardian.h. Referenced by DXGraphicsStateGuardian8::enable_blend(), and GraphicsStateGuardian::reset(). |
|
Definition at line 259 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::push_frame_buffer(). |
|
Definition at line 339 of file crGraphicsStateGuardian.h. |
|
Definition at line 340 of file crGraphicsStateGuardian.h. |
|
Definition at line 331 of file crGraphicsStateGuardian.h. |
|
Definition at line 273 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::reset(). |
|
Definition at line 274 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::reset(), and GraphicsStateGuardian::wants_colors(). |
|
Definition at line 253 of file graphicsStateGuardian.h. Referenced by DXGraphicsStateGuardian8::do_clear(), GraphicsStateGuardian::set_state(), and GraphicsStateGuardian::set_transform(). |
|
Definition at line 254 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::pop_display_region(), GLGraphicsStateGuardian::prepare_display_region(), prepare_display_region(), and GraphicsStateGuardian::push_display_region(). |
|
Definition at line 333 of file crGraphicsStateGuardian.h. |
|
Definition at line 329 of file crGraphicsStateGuardian.h. |
|
Definition at line 244 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::release_geom_node(), GraphicsStateGuardian::reset(), and DXGraphicsStateGuardian8::support_overlay_window(). |
|
Definition at line 301 of file crGraphicsStateGuardian.h. |
|
Definition at line 324 of file crGraphicsStateGuardian.h. Referenced by enable_multisample_alpha_one(). |
|
Definition at line 249 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::set_state(), GraphicsStateGuardian::set_transform(), and GraphicsStateGuardian::~GraphicsStateGuardian(). |
|
Definition at line 319 of file crGraphicsStateGuardian.h. Referenced by enable_multisample(). |
|
Definition at line 326 of file crGraphicsStateGuardian.h. |
|
Definition at line 277 of file crGraphicsStateGuardian.h. Referenced by call_glClearAccum(). |
|
|
Definition at line 306 of file crGraphicsStateGuardian.h. Referenced by call_glFogStart(). |
|
Definition at line 305 of file crGraphicsStateGuardian.h. |
|
Definition at line 325 of file crGraphicsStateGuardian.h. Referenced by enable_multisample_alpha_mask(). |
|
Definition at line 304 of file crGraphicsStateGuardian.h. |
|
Definition at line 302 of file crGraphicsStateGuardian.h. |
|
Definition at line 303 of file crGraphicsStateGuardian.h. |
|
Definition at line 250 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::get_current_display_region(), and GraphicsStateGuardian::~GraphicsStateGuardian(). |
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Definition at line 262 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::begin_decal_base_first(), GraphicsStateGuardian::depth_offset_decals(), DXGraphicsStateGuardian8::dx_init(), and GraphicsStateGuardian::reset(). |
|
Definition at line 251 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::push_display_region(), and GraphicsStateGuardian::~GraphicsStateGuardian(). |
|
Definition at line 265 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::begin_decal_nested(), and GraphicsStateGuardian::reset(). |
|
Definition at line 315 of file crGraphicsStateGuardian.h. |
|
Definition at line 297 of file crGraphicsStateGuardian.h. Referenced by call_glStencilOp(). |
|
Definition at line 288 of file crGraphicsStateGuardian.h. |
|
Definition at line 289 of file crGraphicsStateGuardian.h. Referenced by call_glViewport(). |
|
Definition at line 290 of file crGraphicsStateGuardian.h. |
|
Definition at line 291 of file crGraphicsStateGuardian.h. |
|
Definition at line 294 of file crGraphicsStateGuardian.h. |
|
Definition at line 293 of file crGraphicsStateGuardian.h. |
|
Definition at line 292 of file crGraphicsStateGuardian.h. |
|
Definition at line 336 of file crGraphicsStateGuardian.h. |
|
Definition at line 322 of file crGraphicsStateGuardian.h. |
|
Definition at line 321 of file crGraphicsStateGuardian.h. |
|
Definition at line 314 of file crGraphicsStateGuardian.h. Referenced by call_glPolygonMode(). |
|
Definition at line 280 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::GraphicsStateGuardian(), and GraphicsStateGuardian::~GraphicsStateGuardian(). |
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Definition at line 257 of file graphicsStateGuardian.h. Referenced by DXGraphicsStateGuardian8::dx_init(), and GraphicsStateGuardian::reset(). |
|
Definition at line 311 of file crGraphicsStateGuardian.h. |
|
Definition at line 344 of file crGraphicsStateGuardian.h. |
|
Definition at line 298 of file crGraphicsStateGuardian.h. |
|
Definition at line 316 of file crGraphicsStateGuardian.h. |
|
Definition at line 309 of file crGraphicsStateGuardian.h. |
|
Definition at line 328 of file crGraphicsStateGuardian.h. |
|
Definition at line 334 of file crGraphicsStateGuardian.h. |
|
Definition at line 278 of file crGraphicsStateGuardian.h. |
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Definition at line 261 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::depth_offset_decals(), DXGraphicsStateGuardian7::draw_prim_setup(), enable_polygon_offset(), and DXGraphicsStateGuardian8::transform_color(). |
|
|
|
Definition at line 317 of file crGraphicsStateGuardian.h. |
|
Definition at line 283 of file crGraphicsStateGuardian.h. |
|
Definition at line 282 of file crGraphicsStateGuardian.h. |
|
Definition at line 280 of file crGraphicsStateGuardian.h. |
|
Definition at line 281 of file crGraphicsStateGuardian.h. |
|
|
|
Definition at line 279 of file crGraphicsStateGuardian.h. |
|
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Definition at line 245 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::reset(), and DXGraphicsStateGuardian8::support_overlay_window(). |
|
Definition at line 295 of file crGraphicsStateGuardian.h. |
|
Definition at line 296 of file crGraphicsStateGuardian.h. |
|
Definition at line 320 of file crGraphicsStateGuardian.h. Referenced by enable_line_smooth(). |
|
|
|
|
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Definition at line 318 of file crGraphicsStateGuardian.h. Referenced by enable_point_smooth(). |
|
Referenced by GraphicsStateGuardian::bind_light(), and GraphicsStateGuardian::slot_new_light(). |
|
Referenced by GraphicsStateGuardian::bind_light(). |
|
|
|
|
|
Definition at line 240 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::~GraphicsStateGuardian(). |
|
Referenced by GraphicsStateGuardian::enable_clip_planes(), and GraphicsStateGuardian::enable_light(). |
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Referenced by GraphicsStateGuardian::enable_light(). |
|
Definition at line 278 of file graphicsStateGuardian.h. Referenced by DXGraphicsStateGuardian8::enable_blend(), and GraphicsStateGuardian::reset(). |
|
Reimplemented from GraphicsStateGuardian. Definition at line 86 of file crGraphicsStateGuardian.cxx. |
|
Definition at line 312 of file crGraphicsStateGuardian.h. |
|
|
|
Definition at line 264 of file graphicsStateGuardian.h. Referenced by GraphicsStateGuardian::begin_decal_base_first(), GraphicsStateGuardian::depth_offset_decals(), and GraphicsStateGuardian::reset(). |
|
Definition at line 355 of file crGraphicsStateGuardian.h. |
|
|
|
|
Referenced by GraphicsStateGuardian::enable_light(), and release_texture(). |
|
Referenced by GraphicsStateGuardian::enable_light(), and release_texture(). |
|
Referenced by GLGraphicsStateGuardian::draw_quad(), GraphicsStateGuardian::enable_light(), and release_texture(). |
|
Definition at line 287 of file crGraphicsStateGuardian.h. |
|
Definition at line 286 of file crGraphicsStateGuardian.h. |
|
Definition at line 284 of file crGraphicsStateGuardian.h. |
|
Definition at line 285 of file crGraphicsStateGuardian.h. |