diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_DerivedMesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_DerivedMesh.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h index 84f1bf75a3f..429d5e84785 100644 --- a/source/blender/blenkernel/BKE_DerivedMesh.h +++ b/source/blender/blenkernel/BKE_DerivedMesh.h @@ -255,7 +255,11 @@ struct DerivedMesh { */ void (*drawFacesTex)(DerivedMesh *dm, int (*setDrawOptions)(struct MTFace *tface, - int has_mcol, int matnr)); + int has_mcol, int matnr), + int (*compareDrawOptions)(void *userData, + int cur_index, + int next_index), + void *userData); /* Draw all faces with GLSL materials * o setMaterial is called for every different material nr @@ -280,9 +284,11 @@ struct DerivedMesh { void (*drawMappedFaces)(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), - void *userData, int useColors, int (*setMaterial)(int, void *attribs), - int (*compareDrawOptions)(void *userData, int cur_index, int next_index)); + int (*compareDrawOptions)(void *userData, + int cur_index, + int next_index), + void *userData, int useColors); /* Draw mapped faces using MTFace * o Drawing options too complicated to enumerate, look at code. @@ -290,6 +296,9 @@ struct DerivedMesh { void (*drawMappedFacesTex)(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index), + int (*compareDrawOptions)(void *userData, + int cur_index, + int next_index), void *userData); /* Draw mapped faces with GLSL materials @@ -299,7 +308,8 @@ struct DerivedMesh { */ void (*drawMappedFacesGLSL)(DerivedMesh *dm, int (*setMaterial)(int, void *attribs), - int (*setDrawOptions)(void *userData, int index), void *userData); + int (*setDrawOptions)(void *userData, int index), + void *userData); /* Draw mapped edges as lines * o Only if !setDrawOptions or setDrawOptions(userData, mapped-edge) @@ -554,6 +564,16 @@ typedef struct DMVertexAttribs { int tottface, totmcol, tottang, totorco; } DMVertexAttribs; +/* should be local, bmesh replaces this */ +typedef struct { + DerivedMesh dm; + + struct EditMesh *em; + float (*vertexCos)[3]; + float (*vertexNos)[3]; + float (*faceNos)[3]; +} EditMeshDerivedMesh; + void DM_vertex_attributes_from_gpu(DerivedMesh *dm, struct GPUVertexAttribs *gattribs, DMVertexAttribs *attribs); |