This class exists just to provide scoping for the various enumerated types used by Geom, GeomVertexData, GeomVertexArrayData, GeomPrimitive, and other related classes.
More...
#include <pandadoc.hpp>
|
enum | AnimationType { AT_none = 0
, AT_panda = 1
, AT_hardware = 2
} |
|
enum | Contents {
C_other = 0
, C_point = 1
, C_clip_point = 2
, C_vector = 3
,
C_texcoord = 4
, C_color = 5
, C_index = 6
, C_morph_delta = 7
,
C_matrix = 8
, C_normal = 9
} |
|
enum | GeomRendering {
GR_indexed_point = 1
, GR_indexed_other = 65536
, GR_indexed_bits = 65537
, GR_point = 2
,
GR_point_uniform_size = 4
, GR_per_point_size = 8
, GR_point_perspective = 16
, GR_point_aspect_ratio = 32
,
GR_point_scale = 64
, GR_point_rotate = 128
, GR_point_sprite = 256
, GR_point_sprite_tex_matrix = 512
,
GR_point_bits = 1022
, GR_triangle_strip = 1024
, GR_triangle_fan = 2048
, GR_line_strip = 4096
,
GR_composite_bits = 7168
, GR_strip_cut_index = 131072
, GR_flat_first_vertex = 8192
, GR_flat_last_vertex = 16384
,
GR_shade_model_bits = 24576
, GR_render_mode_wireframe = 262144
, GR_render_mode_point = 524288
, GR_adjacency = 1048576
} |
|
enum | NumericType {
NT_uint8 = 0
, NT_uint16 = 1
, NT_uint32 = 2
, NT_packed_dcba = 3
,
NT_packed_dabc = 4
, NT_float32 = 5
, NT_float64 = 6
, NT_stdfloat = 7
,
NT_int8 = 8
, NT_int16 = 9
, NT_int32 = 10
, NT_packed_ufloat = 11
} |
|
enum | PrimitiveType {
PT_none = 0
, PT_polygons = 1
, PT_lines = 2
, PT_points = 3
,
PT_patches = 4
} |
|
enum | ShadeModel { SM_uniform = 0
, SM_smooth = 1
, SM_flat_first_vertex = 2
, SM_flat_last_vertex = 3
} |
|
enum | UsageHint {
UH_client = 0
, UH_stream = 1
, UH_dynamic = 2
, UH_static = 3
,
UH_unspecified = 4
} |
|
This class exists just to provide scoping for the various enumerated types used by Geom, GeomVertexData, GeomVertexArrayData, GeomPrimitive, and other related classes.
◆ AnimationType
Enumerator |
---|
AT_none | No vertex animation.
|
AT_panda | Vertex animation calculated on the CPU by Panda.
|
AT_hardware | Hardware-accelerated animation on the graphics card.
|
◆ Contents
Enumerator |
---|
C_other | Arbitrary meaning, leave it alone.
|
C_point | A point in 3-space or 4-space.
|
C_clip_point | A point pre-transformed into clip coordinates.
|
C_vector | A surface tangent or binormal (see C_normal for normals)
|
C_texcoord | A texture coordinate.
|
C_color | 3- or 4-component color, ordered R, G, B, [A]
|
C_index | An index value into some other table.
|
C_morph_delta | A delta from some base value, defining a blend shape.
|
C_matrix | A transformation matrix. This is typically three or four columns, but we pretend it's only one for convenience.
|
C_normal | A special version of C_vector that should be used for normal vectors, which are scaled differently from other vectors.
|
◆ GeomRendering
Enumerator |
---|
GR_indexed_point | If there are indexed points.
|
GR_indexed_other | If there is indexed geometry of any other type.
|
GR_indexed_bits | The union of all of the indexed attributes.
|
GR_point | If there are any points at all.
|
GR_point_uniform_size | If the points are all the same size, other than 1 pixel.
|
GR_per_point_size | If the points have a per-vertex size designation.
|
GR_point_perspective | If the points' size is specified in camera units rather than screen pixels.
|
GR_point_aspect_ratio | If the points have a non-square aspect ratio.
|
GR_point_scale | If the points are under a scale transform, uniform or non-uniform.
|
GR_point_rotate | If the points are rotated off the orthonormal axis.
|
GR_point_sprite | If the points require texture coordinates interpolated across their face, to render textures as sprites.
|
GR_point_sprite_tex_matrix | If there is a texture matrix applied to the sprite's generated texture coordinates.
|
GR_point_bits | The union of all the above point attributes, except GR_indexed_point.
|
GR_triangle_strip | If there are any of these composite types.
|
GR_triangle_fan | |
GR_line_strip | |
GR_composite_bits | The union of all of the above composite types.
|
GR_strip_cut_index | If strip-cut indices are used to restart a composite primitive.
|
GR_flat_first_vertex | If the shade model requires a particular vertex for flat shading.
|
GR_flat_last_vertex | |
GR_shade_model_bits | The union of the above shade model types.
|
GR_render_mode_wireframe | If a particular non-fill polygon mode is used.
|
GR_render_mode_point | |
GR_adjacency | The primitive has adjacency information.
|
◆ NumericType
Enumerator |
---|
NT_uint8 | An integer 0..255.
|
NT_uint16 | An integer 0..65535.
|
NT_uint32 | An integer 0..4294967295.
|
NT_packed_dcba | DirectX style, four byte values packed in a uint32.
|
NT_packed_dabc | DirectX packed color order (ARGB)
|
NT_float32 | A single-precision float.
|
NT_float64 | A double-precision float.
|
NT_stdfloat | Either single- or double-precision, according to vertices-float64.
|
NT_int8 | An integer -128..127.
|
NT_int16 | An integer -32768..32767.
|
NT_int32 | An integer -2147483648..2147483647.
|
NT_packed_ufloat | Three 10/11-bit float components packed in a uint32.
|
◆ PrimitiveType
Enumerator |
---|
PT_none | |
PT_polygons | |
PT_lines | |
PT_points | |
PT_patches | |
◆ ShadeModel
Enumerator |
---|
SM_uniform | SM_uniform: all vertices across all faces have the same colors and normals. It doesn't really matter which ShadeModelAttrib mode is used to render this primitive.
|
SM_smooth | SM_smooth: vertices within a single face have different colorsnormals that should be smoothed across the face. This primitive should be rendered with SmoothModelAttrib::M_smooth.
|
SM_flat_first_vertex | SM_flat_(first,last)_vertex: each face within the primitive might have a different colornormal than the other faces, but across a particular face there is only one colornormal. Each face's colornormal is taken from the (first, last) vertex of the face. This primitive should be rendered with SmoothModelAttrib::M_flat.
|
SM_flat_last_vertex | |
◆ UsageHint
Enumerator |
---|
UH_client | UH_client: don't attempt to upload the data; always keep it on the client.
|
UH_stream | UH_stream: the data will be created once, used to render a few times, and then discarded. This should be used for short-lived temporary objects.
|
UH_dynamic | UH_dynamic: the data will be repeatedly modified and re-rendered. This is for data that will be modified at runtime, such as animated or soft- skinned vertices.
|
UH_static | UH_static: the data will be created once, and used to render many times, without modification. This is the most common case, since typically vertex data is not directly animated (this is not related to scene graph animation, e.g. from adjusting transforms on a node).
|
UH_unspecified | UH_unspecified: the usage is unspecified. This is intended as a "don't
care" option for abstract objects; it should not be applied to any actual geometry to be rendered. You take your chances if a geom actually gets into the scene graph with this set.
|
◆ __init__() [1/2]
◆ __init__() [2/2]
__init__ |
( |
const |
GeomEnums | ) |
|