Public Member Functions |
|
virtual bool | begin_draw_primitives (const GeomPipelineReader *geom_reader, const GeomMunger *munger, const GeomVertexDataPipelineReader *data_reader, bool force)=0 |
|
virtual void | begin_occlusion_query ()=0 |
|
virtual void | bind_light (PointLight *light_obj, const NodePath &light, int light_id) |
|
virtual void | bind_light (DirectionalLight *light_obj, const NodePath &light, int light_id) |
|
virtual void | bind_light (Spotlight *light_obj, const NodePath &light, int light_id) |
|
virtual void | clear_before_callback ()=0 |
|
virtual void | clear_state_and_transform ()=0 |
|
virtual float | compute_distance_to (const LPoint3f &point) const =0 |
|
virtual | CPT (RenderState) begin_decal_base_first()=0 |
|
virtual | CPT (RenderState) begin_decal_base_second()=0 |
|
virtual | CPT (RenderState) begin_decal_nested()=0 |
|
virtual bool | depth_offset_decals ()=0 |
|
virtual bool | draw_lines (const GeomPrimitivePipelineReader *reader, bool force)=0 |
|
virtual bool | draw_linestrips (const GeomPrimitivePipelineReader *reader, bool force)=0 |
|
virtual bool | draw_points (const GeomPrimitivePipelineReader *reader, bool force)=0 |
|
virtual bool | draw_triangles (const GeomPrimitivePipelineReader *reader, bool force)=0 |
|
virtual bool | draw_trifans (const GeomPrimitivePipelineReader *reader, bool force)=0 |
|
virtual bool | draw_tristrips (const GeomPrimitivePipelineReader *reader, bool force)=0 |
|
virtual void | end_draw_primitives ()=0 |
|
virtual bool | extract_texture_data (Texture *tex)=0 |
|
virtual void | finish_decal ()=0 |
|
virtual TypeHandle | force_init_type () |
|
virtual bool | framebuffer_copy_to_ram (Texture *tex, int z, const DisplayRegion *dr, const RenderBuffer &rb)=0 |
|
virtual bool | framebuffer_copy_to_texture (Texture *tex, int z, const DisplayRegion *dr, const RenderBuffer &rb)=0 |
|
virtual const TransformState * | get_cs_transform () const =0 |
|
virtual bool | get_effective_incomplete_render () const =0 |
|
virtual bool | get_incomplete_render () const =0 |
|
virtual CoordinateSystem | get_internal_coordinate_system () const =0 |
|
virtual int | get_max_texture_dimension () const =0 |
|
virtual int | get_max_vertices_per_array () const =0 |
|
virtual int | get_max_vertices_per_primitive () const =0 |
|
virtual PreparedGraphicsObjects * | get_prepared_objects ()=0 |
|
virtual SceneSetup * | get_scene () const =0 |
|
virtual int | get_supported_geom_rendering () const =0 |
|
virtual bool | get_supports_compressed_texture_format (int compression_mode) const =0 |
|
virtual bool | get_supports_multisample () const =0 |
|
virtual bool | get_supports_occlusion_query () const =0 |
|
virtual bool | get_supports_shadow_filter () const =0 |
|
virtual TypeHandle | get_type () const |
|
| MAKE_SEQ (get_gsgs, get_num_gsgs, get_gsg) |
|
virtual bool | prefers_triangle_strips () const =0 |
|
virtual GeomContext * | prepare_geom (Geom *geom)=0 |
|
virtual IndexBufferContext * | prepare_index_buffer (GeomPrimitive *data)=0 |
|
virtual ShaderContext * | prepare_shader (Shader *shader)=0 |
|
virtual TextureContext * | prepare_texture (Texture *tex)=0 |
|
virtual VertexBufferContext * | prepare_vertex_buffer (GeomVertexArrayData *data)=0 |
|
virtual | PT (GeomMunger) get_geom_munger(const RenderState *state |
|
virtual | PT (Texture) make_shadow_buffer(const NodePath &light_np |
|
virtual | PT (OcclusionQueryContext) end_occlusion_query()=0 |
|
virtual void | release_geom (GeomContext *gc)=0 |
|
virtual void | release_index_buffer (IndexBufferContext *ibc)=0 |
|
virtual void | release_shader (ShaderContext *sc)=0 |
|
virtual void | release_texture (TextureContext *tc)=0 |
|
virtual void | release_vertex_buffer (VertexBufferContext *vbc)=0 |
|
virtual void | remove_window (GraphicsOutputBase *window)=0 |
|
virtual void | set_state_and_transform (const RenderState *state, const TransformState *transform)=0 |
|
virtual bool | update_texture (TextureContext *tc, bool force)=0 |
Static Public Member Functions |
| static void | add_gsg (GraphicsStateGuardianBase *gsg) |
| | Called by a GSG after it has been initialized, to add a new GSG to the available list.
|
|
static TypeHandle | get_class_type () |
| static GraphicsStateGuardianBase * | get_default_gsg () |
| | Returns a pointer to the "default" GSG.
|
| static GraphicsStateGuardianBase * | get_gsg (int n) |
| | Returns the nth GSG in the universe.
|
| static int | get_num_gsgs () |
| | Returns the total number of GSG's in the universe.
|
|
static void | init_type () |
| static void | remove_gsg (GraphicsStateGuardianBase *gsg) |
| | Called by a GSG destructor to remove a GSG from the available list.
|
| static void | set_default_gsg (GraphicsStateGuardianBase *default_gsg) |
| | Specifies a particular GSG to use as the "default" GSG.
|
Public Attributes |
|
virtual Thread * | current_thread = 0 |
|
virtual GraphicsOutputBase * | host = 0 |
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the various GSG's for different platforms.
This class contains all the function prototypes to support the double-dispatch of GSG to geoms, transitions, etc. It lives in a separate class in its own package so we can avoid circular build dependency problems.
GraphicsStateGuardians are not actually writable to bam files, of course, but they may be passed as event parameters, so they inherit from TypedWritableReferenceCount instead of TypedReferenceCount for that convenience.
Definition at line 111 of file graphicsStateGuardianBase.h.