[Bf-blender-cvs] [8c85bf4] temp-derivedmesh-looptri: minor tweaks
Campbell Barton
noreply at git.blender.org
Thu Jul 16 18:59:27 CEST 2015
Commit: 8c85bf4e39cd6bdbe52f8a67bf3106f912778a27
Author: Campbell Barton
Date: Fri Jul 17 02:54:53 2015 +1000
Branches: temp-derivedmesh-looptri
https://developer.blender.org/rB8c85bf4e39cd6bdbe52f8a67bf3106f912778a27
minor tweaks
===================================================================
M source/blender/blenkernel/BKE_DerivedMesh.h
M source/blender/blenkernel/intern/DerivedMesh.c
M source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 511e831..0a4cc7f 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -210,7 +210,11 @@ struct DerivedMesh {
/** Recalculates mesh tessellation */
void (*recalcTessellation)(DerivedMesh *dm);
+ /** Loop tessellation cache */
void (*recalcLoopTri)(DerivedMesh *dm);
+ /** accessor functions */
+ const struct MLoopTri *(*getLoopTriArray)(DerivedMesh * dm);
+ int (*getNumLoopTri)(DerivedMesh *dm);
/* Misc. Queries */
@@ -241,10 +245,6 @@ struct DerivedMesh {
struct MLoop *(*getLoopArray)(DerivedMesh * dm);
struct MPoly *(*getPolyArray)(DerivedMesh * dm);
- /** Loop tessellation cache */
- const struct MLoopTri *(*getLoopTriArray)(DerivedMesh * dm);
- int (*getNumLoopTri)(DerivedMesh *dm);
-
/** Copy all verts/edges/faces from the derived mesh into
* *{vert/edge/face}_r (must point to a buffer large enough)
*/
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index d8e823c..1bf49ad 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -3381,9 +3381,8 @@ void DM_draw_attrib_vertex(DMVertexAttribs *attribs, int a, int index, int vert,
for (b = 0; b < attribs->tottface; b++) {
const float *uv;
-
if (attribs->tface[b].array) {
- MLoopUV *mloopuv = &attribs->tface[b].array[loop];
+ const MLoopUV *mloopuv = &attribs->tface[b].array[loop];
uv = mloopuv->uv;
}
else {
@@ -3401,8 +3400,8 @@ void DM_draw_attrib_vertex(DMVertexAttribs *attribs, int a, int index, int vert,
GLubyte col[4];
if (attribs->mcol[b].array) {
- MLoopCol *cp = &attribs->mcol[b].array[loop];
- col[0] = cp->r; col[1] = cp->g; col[2] = cp->b; col[3] = cp->a;
+ const MLoopCol *cp = &attribs->mcol[b].array[loop];
+ copy_v4_v4_char((char *)col, &cp->r);
}
else {
col[0] = 0; col[1] = 0; col[2] = 0; col[3] = 0;
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index b7ccec2..a91bc3c 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -365,12 +365,12 @@ static void cdDM_drawVerts(DerivedMesh *dm)
static void cdDM_drawUVEdges(DerivedMesh *dm)
{
CDDerivedMesh *cddm = (CDDerivedMesh *) dm;
- int i;
const MPoly *mpoly = cddm->mpoly;
int totpoly = dm->getNumPolys(dm);
int prevstart = 0;
bool prevdraw = true;
int curpos = 0;
+ int i;
GPU_uvedge_setup(dm);
for (i = 0; i < totpoly; i++, mpoly++) {
@@ -556,7 +556,8 @@ static void cdDM_drawFacesTex_common(
next_actualFace = bufmat->polys[i + 1];
if (drawParams) {
- draw_option = drawParams(use_tface && mtexpoly ? &mtexpoly[actualFace] : NULL, (mloopcol != NULL), mpoly[actualFace].mat_nr);
+ MTexPoly *tp = use_tface && mtexpoly ? &mtexpoly[actualFace] : NULL;
+ draw_option = drawParams(tp, (mloopcol != NULL), mpoly[actualFace].mat_nr);
}
else {
if (index_mp_to_orig) {
More information about the Bf-blender-cvs
mailing list