rprContextCreateMeshEx2
Creates a new mesh object.
Allows two texture coordinates for a single mesh.
rpr_status rprContextCreateMeshEx2( |
rpr_context context, |
rpr_float const * vertices, |
|
size_t num_vertices, |
|
rpr_int vertex_stride, |
|
rpr_float const * normals, |
|
size_t num_normals, |
|
rpr_int normal_stride, |
|
rpr_int const * perVertexFlag, |
|
size_t num_perVertexFlags, |
|
rpr_int perVertexFlag_stride, |
|
rpr_int numberOfTexCoordLayers, |
|
rpr_float const ** texcoords, |
|
size_t const * num_texcoords, |
|
rpr_int const * texcoord_stride, |
|
rpr_int const * vertex_indices, |
|
rpr_int vidx_stride, |
|
rpr_int const * normal_indices, |
|
rpr_int nidx_stride, |
|
rpr_int const ** texcoord_indices, |
|
rpr_int const * tidx_stride, |
|
rpr_int const * num_face_vertices, |
|
size_t num_faces, |
|
rpr_mesh_info const * mesh_properties, |
|
rpr_shape * out_mesh); |
Parameters
Parameter |
Description |
---|---|
context |
The rendering context hosting the mesh. |
vertices |
Pointer to position data (each position is described with 3 rpr_float numbers). |
num_vertices |
Number of entries in the position array. |
vertex_stride |
Number of bytes between the beginnings of two successive position entries. |
normals |
Pointer to normal data (each normal is described with 3 rpr_float numbers), can be NULL. |
num_normals |
Number of entries in the normal array. |
normal_stride |
Number of bytes between the beginnings of two successive normal entries. |
perVertexFlag |
List of flags to set per vertex, float list. The list should be |
num_perVertexFlags |
Number of flags set per vertex. |
perVertexFlag_stride |
Number of bytes between two sets of vertex flags. |
numberOfTexCoordLayers |
Number of entries in a texcoord array. |
texcoords |
Pointer to texcoord data (each texcoord is described with 2 rpr_float numbers), can be NULL. |
num_texcoords |
Number of entries in the texcoord array. |
texcoord_stride |
Number of bytes between the beginnings of two successive texcoord entries. |
vertex_indices |
Pointer to an array of vertex indices, used to indicate shared vertices, allowing for some saving on storage space. |
vidx_stride |
Number of bytes between the beginnings of two successive vertex index entries. |
normal_indices |
Pointer to an array of normal indices. |
nidx_stride |
Number of bytes between the beginnings of two successive normal index entries. |
texcoord_indices |
Pointer to an array of texcoord indices. |
tidx_stride |
Number of bytes between the beginnings of two successive texcoord index entries. |
num_face_vertices |
Pointer to an array of |
num_faces |
Number of faces in a mesh. |
out_mesh |
A pointer to the created mesh object. |
mesh_properties |
Notes
AMD Radeon ProRender supports mixed meshes consisting of either triangles or quads. It also supports meshes with mixed quad/triangle construction.
Positions stored on a per-vertex basis allow data to be re-used (with multiple indices) and consequently saved on storage space.
Mesh import libraries or plug-ins using RPR essentially translate data into a format ready for rprContextCreateMeshEx2()
to use.
Output
A pointer to a mesh object.
Return
Returns RPR_SUCCESS in case of success, or RPR_ERROR code if a problem was encountered.
To learn how to handle errors in AMD Radeon ProRender SDK, see Error Handling.