Encapsulates the data from a Geom, pre-fetched for one stage of the pipeline. More...
#include "geom.h"
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... | |
Thread * | get_current_thread () const |
int | get_geom_rendering () const |
UpdateSeq | get_modified () const |
int | get_num_primitives () const |
const Geom * | get_object () const |
PrimitiveType | get_primitive_type () const |
ShadeModel | get_shade_model () const |
UsageHint | get_usage_hint () const |
GeomContext * | prepare_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 | |
![]() | |
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 } |
Encapsulates the data from a Geom, pre-fetched for one stage of the pipeline.
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().
|
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().