Panda3D
 All Classes Functions Variables Enumerations
Public Member Functions | Static Public Member Functions | List of all members
GeomPipelineReader Class Reference

Encapsulates the data from a Geom, pre-fetched for one stage of the pipeline. More...

#include "geom.h"

Inheritance diagram for GeomPipelineReader:
GeomEnums

Public Member Functions

 GeomPipelineReader (const Geom *object, Thread *current_thread)
 
void check_usage_hint () const
 Ensures that the Geom's usage_hint cache has been computed. More...
 
bool check_valid (const GeomVertexDataPipelineReader *data_reader) const
 
 CPT (GeomVertexData) get_vertex_data() const
 
 CPT (GeomPrimitive) get_primitive(int i) const
 
bool draw (GraphicsStateGuardianBase *gsg, const GeomMunger *munger, const GeomVertexDataPipelineReader *data_reader, bool force) const
 The implementation of Geom::draw(). More...
 
Threadget_current_thread () const
 
int get_geom_rendering () const
 
UpdateSeq get_modified () const
 
int get_num_primitives () const
 
const Geomget_object () const
 
PrimitiveType get_primitive_type () const
 
ShadeModel get_shade_model () const
 
UsageHint get_usage_hint () const
 
GeomContextprepare_now (PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg) const
 Creates a context for the geom on the particular GSG, if it does not already exist. More...
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 

Additional Inherited Members

- Public Types inherited from GeomEnums
enum  AnimationType { AT_none, AT_panda, AT_hardware }
 
enum  Contents {
  C_other, C_point, C_clip_point, C_vector,
  C_texcoord, C_color, C_index, C_morph_delta,
  C_matrix, C_normal
}
 
enum  GeomRendering {
  GR_indexed_point = 0x00001, GR_indexed_other = 0x10000, GR_indexed_bits = 0x10001, GR_point = 0x00002,
  GR_point_uniform_size = 0x00004, GR_per_point_size = 0x00008, GR_point_perspective = 0x00010, GR_point_aspect_ratio = 0x00020,
  GR_point_scale = 0x00040, GR_point_rotate = 0x00080, GR_point_sprite = 0x00100, GR_point_sprite_tex_matrix = 0x00200,
  GR_point_bits = 0x003fe, GR_triangle_strip = 0x00400, GR_triangle_fan = 0x00800, GR_line_strip = 0x01000,
  GR_composite_bits = 0x01c00, GR_strip_cut_index = 0x20000, GR_flat_first_vertex = 0x02000, GR_flat_last_vertex = 0x04000,
  GR_shade_model_bits = 0x06000
}
 
enum  NumericType {
  NT_uint8, NT_uint16, NT_uint32, NT_packed_dcba,
  NT_packed_dabc, NT_float32, NT_float64, NT_stdfloat
}
 
enum  PrimitiveType {
  PT_none, PT_polygons, PT_lines, PT_points,
  PT_patches
}
 
enum  ShadeModel { SM_uniform, SM_smooth, SM_flat_first_vertex, SM_flat_last_vertex }
 
enum  UsageHint {
  UH_client, UH_stream, UH_dynamic, UH_static,
  UH_unspecified
}
 

Detailed Description

Encapsulates the data from a Geom, pre-fetched for one stage of the pipeline.

Definition at line 401 of file geom.h.

Member Function Documentation

void GeomPipelineReader::check_usage_hint ( ) const

Ensures that the Geom's usage_hint cache has been computed.

Definition at line 1891 of file geom.cxx.

Referenced by Geom::draw().

bool GeomPipelineReader::draw ( GraphicsStateGuardianBase gsg,
const GeomMunger munger,
const GeomVertexDataPipelineReader data_reader,
bool  force 
) const

The implementation of Geom::draw().

Definition at line 1950 of file geom.cxx.

References GeomPrimitivePipelineReader::check_minmax().

Referenced by Geom::draw().

GeomContext * GeomPipelineReader::prepare_now ( PreparedGraphicsObjects prepared_objects,
GraphicsStateGuardianBase gsg 
) const
inline

Creates a context for the geom on the particular GSG, if it does not already exist.

Returns the new (or old) GeomContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new geoms. If this is not necessarily the case, you should use prepare() instead.

Normally, this is not called directly except by the GraphicsStateGuardian; a geom does not need to be explicitly prepared by the user before it may be rendered.

Definition at line 833 of file geom.I.

References Geom::prepare_now().


The documentation for this class was generated from the following files: