br_primitive
typedef
order.h
for a precise declaration)
br_uint_16 type Primitive type
br_material * material Material from which primitive was generated
br_primitive * next Next primitive (when in bucket)
BrZsPrimitiveCallbackSet()
39
. To determine into which bucket a primitive would be inserted see BrZsPrimitiveBucketSelect()
309
. To insert a primitive into an order table see BrZsOrderTablePrimitiveInsert()
263
.
br_order_table
260
for the container into which primitives are inserted. See br_primitive_cbfn
307
for details of how to customise primitive insertion into order tables.
Members
Properties
There are currently three types of primitive: point, line and triangle. This member indicates the type of this primitive. It should not be modified. The following table lists the symbols defining the value of each type.br_uint_16 type
The material assigned to the face of the model from which the primitive was generated (explicitly or by inheritance).br_material * material
Organisation
Each bucket within an order table is a linked list of primitives. The primitive contains the links in the form of this pointer. When a primitive is inserted into a bucket, it is inserted at the head (the first bucket in the list). Upon rendering the buckets are rendered from the head onwards. This member should not be modified.br_primitive * next
Copy/Assign
Do not copy primitives. Access & Maintenance
Primitives are only generated by BRender, and are primarily for internal use. The applications programmer is not expected to traverse or maintain primitives. Some members may be usefully read, but modification is not encouraged for members other than material
. Referencing & Lifetime
Primitives are allocated from the primitive heap as supplied to BrZsBegin()
28. They are valid until the next call of
BrZsSceneRenderBegin()
35 Construction & Destruction
Primitives can only be constructed through the rendering process. They are never destroyed, but are overwritten.
Generated with CERN WebMaker