Top | ![]() |
![]() |
![]() |
![]() |
void | g3d_object_free () |
gdouble | g3d_object_radius () |
gboolean | g3d_object_scale () |
gboolean | g3d_object_transform () |
gboolean | g3d_object_transform_normals () |
G3DObject * | g3d_object_duplicate () |
gboolean | g3d_object_optimize () |
gboolean | g3d_object_smooth () |
gboolean | g3d_object_merge () |
Objects are parts of a model. In most file formats vertices and faces are grouped in some way into objects. Objects can be hierarchical, so what a model contains is basically an object tree.
void
g3d_object_free (G3DObject *object
);
Frees all memory allocated for that object.
gdouble
g3d_object_radius (G3DObject *object
);
Calculates the radius of the object. This is the maximum from the center to a vertex.
gboolean g3d_object_scale (G3DObject *object
,G3DFloat scale
);
Resizes the object by the factor scale
.
gboolean g3d_object_transform (G3DObject *object
,G3DMatrix *matrix
);
Multiplies all vertices of the object with the transformation matrix.
gboolean g3d_object_transform_normals (G3DObject *object
,G3DMatrix *matrix
);
Multiplies all normals of the object with the transformation matrix.
G3DObject *
g3d_object_duplicate (G3DObject *object
);
Duplicates an object with all vertices, faces and materials.
gboolean
g3d_object_optimize (G3DObject *object
);
Puts all vertex and face information into special arrays for faster rendering. It is deprecated and should not be used.
typedef struct { gchar *name; GSList *materials; GSList *faces; GSList *objects; /* transformation, may be NULL */ G3DTransformation *transformation; /* don't render this object */ gboolean hide; /* vertices */ guint32 vertex_count; G3DVector *vertex_data; } G3DObject;
A three-dimensional object.
name of object |
||
list of materials |
||
list of faces |
||
list of sub-objects |
||
G3DTransformation * |
optional transformation |
|
flag to disable object rendering |
||
number of vertices |
||
G3DVector * |
vertex vector data |