GeomEnums¶
-
class
GeomEnums
¶ This class exists just to provide scoping for the various enumerated types used by Geom,
GeomVertexData
,GeomVertexArrayData
,GeomPrimitive
, and other related classes.Inheritance diagram
-
enum
AnimationType
¶ The type of animation data that is represented by a particular
GeomVertexFormat
.-
enumerator
AT_none
= 0¶ No vertex animation.
-
enumerator
AT_panda
= 1¶ Vertex animation calculated on the CPU by Panda.
-
enumerator
AT_hardware
= 2¶ Hardware-accelerated animation on the graphics card.
-
enumerator
-
enum
Contents
¶ The contents determine the semantic meaning of a numeric value within the vertex data. This is also used to determine what automatic transforms might be applied to the various columns.
-
enumerator
C_other
= 0¶ Arbitrary meaning, leave it alone
-
enumerator
C_point
= 1¶ A point in 3-space or 4-space
-
enumerator
C_clip_point
= 2¶ A point pre-transformed into clip coordinates
-
enumerator
C_vector
= 3¶ A surface tangent or binormal (see C_normal for normals)
-
enumerator
C_texcoord
= 4¶ A texture coordinate
-
enumerator
C_color
= 5¶ 3- or 4-component color, ordered R, G, B, [A]
-
enumerator
C_index
= 6¶ An index value into some other table
-
enumerator
C_morph_delta
= 7¶ A delta from some base value, defining a blend shape
-
enumerator
C_matrix
= 8¶ A transformation matrix. This is typically three or four columns, but we pretend it’s only one for convenience.
-
enumerator
C_normal
= 9¶ A special version of C_vector that should be used for normal vectors, which are scaled differently from other vectors.
-
enumerator
-
enum
GeomRendering
¶ This type specifies a number of bits that are used to represent the rendering requirements of a particular Geom, as well as the rendering capabilities of the GSG. The difference between the two indicates whether the Geom needs to be munged for the GSG.
-
enumerator
GR_indexed_point
= 1¶ If there are indexed points.
-
enumerator
GR_indexed_other
= 65536¶ If there is indexed geometry of any other type.
-
enumerator
GR_indexed_bits
= 65537¶ The union of all of the indexed attributes.
-
enumerator
GR_point
= 2¶ If there are any points at all.
-
enumerator
GR_point_uniform_size
= 4¶ If the points are all the same size, other than 1 pixel.
-
enumerator
GR_per_point_size
= 8¶ If the points have a per-vertex size designation.
-
enumerator
GR_point_perspective
= 16¶ If the points’ size is specified in camera units rather than screen pixels.
-
enumerator
GR_point_aspect_ratio
= 32¶ If the points have a non-square aspect ratio.
-
enumerator
GR_point_scale
= 64¶ If the points are under a scale transform, uniform or non-uniform.
-
enumerator
GR_point_rotate
= 128¶ If the points are rotated off the orthonormal axis.
-
enumerator
GR_point_sprite
= 256¶ If the points require texture coordinates interpolated across their face, to render textures as sprites.
-
enumerator
GR_point_sprite_tex_matrix
= 512¶ If there is a texture matrix applied to the sprite’s generated texture coordinates.
-
enumerator
GR_point_bits
= 1022¶ The union of all the above point attributes, except GR_indexed_point.
-
enumerator
GR_triangle_strip
= 1024¶ If there are any of these composite types.
-
enumerator
GR_triangle_fan
= 2048¶
-
enumerator
GR_line_strip
= 4096¶
-
enumerator
GR_composite_bits
= 7168¶ The union of all of the above composite types.
-
enumerator
GR_strip_cut_index
= 131072¶ If strip-cut indices are used to restart a composite primitive.
-
enumerator
GR_flat_first_vertex
= 8192¶ If the shade model requires a particular vertex for flat shading.
-
enumerator
GR_flat_last_vertex
= 16384¶
-
enumerator
GR_shade_model_bits
= 24576¶ The union of the above shade model types.
-
enumerator
GR_render_mode_wireframe
= 262144¶ If a particular non-fill polygon mode is used.
-
enumerator
GR_render_mode_point
= 524288¶
-
enumerator
GR_adjacency
= 1048576¶ The primitive has adjacency information.
-
enumerator
-
enum
NumericType
¶ The numeric type determines what physical representation is used to encode a numeric value within the vertex data.
-
enumerator
NT_uint8
= 0¶ An integer 0..255
-
enumerator
NT_uint16
= 1¶ An integer 0..65535
-
enumerator
NT_uint32
= 2¶ An integer 0..4294967295
-
enumerator
NT_packed_dcba
= 3¶ DirectX style, four byte values packed in a uint32
-
enumerator
NT_packed_dabc
= 4¶ DirectX packed color order (ARGB)
-
enumerator
NT_float32
= 5¶ A single-precision float
-
enumerator
NT_float64
= 6¶ A double-precision float
-
enumerator
NT_stdfloat
= 7¶ Either single- or double-precision, according to vertices-float64.
-
enumerator
NT_int8
= 8¶ An integer -128..127
-
enumerator
NT_int16
= 9¶ An integer -32768..32767
-
enumerator
NT_int32
= 10¶ An integer -2147483648..2147483647
-
enumerator
NT_packed_ufloat
= 11¶ Three 10/11-bit float components packed in a uint32
-
enumerator
-
enum
PrimitiveType
¶ The primitive type represents the core primitive type of a particular
GeomPrimitive
. It’s used for determining what kind of antialiasing should be enabled.-
enumerator
PT_none
= 0¶
-
enumerator
PT_polygons
= 1¶
-
enumerator
PT_lines
= 2¶
-
enumerator
PT_points
= 3¶
-
enumerator
PT_patches
= 4¶
-
enumerator
-
enum
ShadeModel
¶ The shade model specifies whether the per-vertex colors and normals indexed by a given primitive truly represent per-vertex colors and normals, or whether they actually represent per-triangle flat-shaded colors and normals.
-
enumerator
SM_uniform
= 0¶ 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.
-
enumerator
SM_smooth
= 1¶ 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.
-
enumerator
SM_flat_first_vertex
= 2¶ 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.
-
enumerator
SM_flat_last_vertex
= 3¶
-
enumerator
-
enum
UsageHint
¶ -
enumerator
UH_client
= 0¶ UH_client: don’t attempt to upload the data; always keep it on the client.
-
enumerator
UH_stream
= 1¶ 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.
-
enumerator
UH_dynamic
= 2¶ 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.
-
enumerator
UH_static
= 3¶ 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).
-
enumerator
UH_unspecified
= 4¶ 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.
-
enumerator
-
GeomEnums
(void) = default¶
-
enum