Read normals and textures from OBJ, do not duplicate vertices.
PiperOrigin-RevId: 510461549 Change-Id: I19245d691e722a8371e61153383f275f599353d6
This commit is contained in:
committed by
Copybara-Service
parent
35967a30d9
commit
9756ed0d80
Vendored
+1
-1
@@ -14,7 +14,7 @@ nlight 1
|
||||
nmesh 0
|
||||
nmeshvert 0
|
||||
nmeshface 0
|
||||
nmeshtexvert 0
|
||||
nmeshtexcoord 0
|
||||
nmeshgraph 0
|
||||
nskin 0
|
||||
nskinvert 0
|
||||
|
||||
@@ -10,6 +10,8 @@ General
|
||||
|
||||
- The ``mjd_transitionFD`` function no longer triggers sensor calculation unless explicitly requested.
|
||||
- Corrected the spelling of the ``inteval`` attribute to ``interval`` in the ``mjLROpt`` struct.
|
||||
- Mesh texture and normal mappings are now 3-per-triangle rather than 1-per-vertex. Mesh vertices are no longer
|
||||
duplicated in order to circumvent this limitation as they previously were.
|
||||
|
||||
Python bindings
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -746,7 +746,8 @@ struct mjModel_ {
|
||||
int nlight; // number of lights
|
||||
int nmesh; // number of meshes
|
||||
int nmeshvert; // number of vertices in all meshes
|
||||
int nmeshtexvert; // number of vertices with texcoords in all meshes
|
||||
int nmeshnormal; // number of normals in all meshes
|
||||
int nmeshtexcoord; // number of texcoords in all meshes
|
||||
int nmeshface; // number of triangular faces in all meshes
|
||||
int nmeshgraph; // number of ints in mesh auxiliary data
|
||||
int nskin; // number of skins
|
||||
@@ -942,14 +943,19 @@ struct mjModel_ {
|
||||
// meshes
|
||||
int* mesh_vertadr; // first vertex address (nmesh x 1)
|
||||
int* mesh_vertnum; // number of vertices (nmesh x 1)
|
||||
int* mesh_texcoordadr; // texcoord data address; -1: no texcoord (nmesh x 1)
|
||||
int* mesh_faceadr; // first face address (nmesh x 1)
|
||||
int* mesh_facenum; // number of faces (nmesh x 1)
|
||||
int* mesh_normaladr; // first normal address (nmesh x 1)
|
||||
int* mesh_normalnum; // number of normals (nmesh x 1)
|
||||
int* mesh_texcoordadr; // texcoord data address; -1: no texcoord (nmesh x 1)
|
||||
int* mesh_texcoordnum; // number of texcoord (nmesh x 1)
|
||||
int* mesh_graphadr; // graph data address; -1: no graph (nmesh x 1)
|
||||
float* mesh_vert; // vertex positions for all meshes (nmeshvert x 3)
|
||||
float* mesh_normal; // vertex normals for all meshes (nmeshvert x 3)
|
||||
float* mesh_texcoord; // vertex texcoords for all meshes (nmeshtexvert x 2)
|
||||
int* mesh_face; // triangle face data (nmeshface x 3)
|
||||
float* mesh_normal; // normals for all meshes (nmeshnormal x 3)
|
||||
float* mesh_texcoord; // vertex texcoords for all meshes (nmeshtexcoord x 2)
|
||||
int* mesh_face; // vertex face data (nmeshface x 3)
|
||||
int* mesh_facenormal; // normal face data (nmeshface x 3)
|
||||
int* mesh_facetexcoord; // texture face data (nmeshface x 3)
|
||||
int* mesh_graph; // convex graph data (nmeshgraph x 1)
|
||||
|
||||
// skins
|
||||
|
||||
Reference in New Issue
Block a user