[Bf-blender-cvs] [21414b5] temp_display_optimization: Cleanup: Use "elements", the OpenGL term instead of "points", makes it a bit clearer what the use is intended for.
Antony Riakiotakis
noreply at git.blender.org
Tue Jun 23 12:27:07 CEST 2015
Commit: 21414b511f6a5d3bec75ee020901fb6e246ba60c
Author: Antony Riakiotakis
Date: Tue Jun 23 12:26:31 2015 +0200
Branches: temp_display_optimization
https://developer.blender.org/rB21414b511f6a5d3bec75ee020901fb6e246ba60c
Cleanup: Use "elements", the OpenGL term instead of "points", makes it a
bit clearer what the use is intended for.
===================================================================
M source/blender/blenkernel/intern/cdderivedmesh.c
M source/blender/blenkernel/intern/subsurf_ccg.c
M source/blender/gpu/GPU_buffers.h
===================================================================
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 3e8cbac..bd6a73b 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -460,7 +460,7 @@ static void cdDM_drawFacesSolid(DerivedMesh *dm,
glShadeModel(GL_SMOOTH);
for (a = 0; a < dm->drawObject->totmaterial; a++) {
if (!setMaterial || setMaterial(dm->drawObject->materials[a].mat_nr + 1, NULL)) {
- GPU_buffer_draw_elements(dm->drawObject->triangles, GL_TRIANGLES, dm->drawObject->materials[a].start, dm->drawObject->materials[a].totpoint);
+ GPU_buffer_draw_elements(dm->drawObject->triangles, GL_TRIANGLES, dm->drawObject->materials[a].start, dm->drawObject->materials[a].totelements);
}
}
GPU_buffer_unbind();
@@ -1152,7 +1152,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
GPU_interleaved_attrib_setup(matconv[a].buffers, matconv[a].datatypes, matconv[a].numdata);
}
GPU_buffer_draw_elements(dm->drawObject->triangles, GL_TRIANGLES,
- dm->drawObject->materials[a].start, dm->drawObject->materials[a].totpoint);
+ dm->drawObject->materials[a].start, dm->drawObject->materials[a].totelements);
if (matconv[a].buffers) {
GPU_interleaved_attrib_unbind();
GPU_buffer_free(matconv[a].buffers);
@@ -1775,15 +1775,15 @@ static void cdDM_drawobject_init_vert_points(GPUDrawObject *gdo, MFace *f, int t
mat = &gdo->materials[mat_orig_to_new[f->mat_nr]];
/* add triangle */
- cdDM_drawobject_add_triangle(gdo, mat->start + mat->totpoint,
+ cdDM_drawobject_add_triangle(gdo, mat->start + mat->totelements,
i, f->v1, f->v2, f->v3, false, tot_loops);
- mat->totpoint += 3;
+ mat->totelements += 3;
/* add second triangle for quads */
if (f->v4) {
- cdDM_drawobject_add_triangle(gdo, mat->start + mat->totpoint,
+ cdDM_drawobject_add_triangle(gdo, mat->start + mat->totelements,
i, f->v3, f->v4, f->v1, true, tot_loops);
- mat->totpoint += 3;
+ mat->totelements += 3;
tot_loops += 4;
}
else {
@@ -1803,7 +1803,7 @@ static void cdDM_drawobject_init_vert_points(GPUDrawObject *gdo, MFace *f, int t
}
typedef struct {
- int points;
+ int elements;
int loops;
} GPUMaterialInfo;
@@ -1828,11 +1828,11 @@ static GPUDrawObject *cdDM_GPUobject_new(DerivedMesh *dm)
mat_info = MEM_callocN(sizeof(*mat_info) * totmat, "GPU_drawobject_new.mat_orig_to_new");
for (i = 0; i < totface; i++) {
if (mface->v4) {
- mat_info[mface[i].mat_nr].points += 6;
+ mat_info[mface[i].mat_nr].elements += 6;
mat_info[mface[i].mat_nr].loops += 4;
}
else {
- mat_info[mface[i].mat_nr].points += 3;
+ mat_info[mface[i].mat_nr].elements += 3;
mat_info[mface[i].mat_nr].loops += 3;
}
}
@@ -1844,7 +1844,7 @@ static GPUDrawObject *cdDM_GPUobject_new(DerivedMesh *dm)
/* count the number of materials used by this DerivedMesh */
for (i = 0; i < totmat; i++) {
- if (mat_info[i].points > 0)
+ if (mat_info[i].elements > 0)
gdo->totmaterial++;
}
@@ -1854,14 +1854,14 @@ static GPUDrawObject *cdDM_GPUobject_new(DerivedMesh *dm)
/* initialize the materials array */
for (i = 0, curmat = 0, curpoint = 0; i < totmat; i++) {
- if (mat_info[i].points > 0) {
+ if (mat_info[i].elements > 0) {
gdo->materials[curmat].start = curpoint;
/* can set it to points now but used in cdDM_drawobject_init_vert_points as counter */
- gdo->materials[curmat].totpoint = 0;
+ gdo->materials[curmat].totelements = 0;
gdo->materials[curmat].totloops = mat_info[i].loops;
gdo->materials[curmat].mat_nr = i;
- curpoint += mat_info[i].points;
+ curpoint += mat_info[i].elements;
curmat++;
}
}
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index a162e32..5ccfdb2 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -1943,6 +1943,11 @@ static void ccgDM_copy_gpu_data(DerivedMesh *dm, int type, float *varray, int *i
}
}
+typedef struct {
+ int elements;
+ int loops;
+} GPUMaterialInfo;
+
static GPUDrawObject *ccgDM_GPUObjectNew(DerivedMesh *dm) {
// GPUBufferMaterial *mat;
int *mat_orig_to_new;
@@ -1953,15 +1958,15 @@ static GPUDrawObject *ccgDM_GPUObjectNew(DerivedMesh *dm) {
int gridSize = ccgSubSurf_getGridSize(ss);
int gridFaces = gridSize - 1;
int totmat = (faceFlags) ? dm->totmat : 1;
- int *points_per_mat;
- int i, curmat, curpoint, totface;
+ GPUMaterialInfo *matinfo;
+ int i, curmat, curelement, totface;
/* object contains at least one material (default included) so zero means uninitialized dm */
BLI_assert(totmat != 0);
totface = ccgSubSurf_getNumFaces(ss);
- points_per_mat = MEM_callocN(sizeof(*points_per_mat) * totmat, "GPU_drawobject_new.mat_orig_to_new");
+ matinfo = MEM_callocN(sizeof(*matinfo) * totmat, "GPU_drawobject_new.mat_orig_to_new");
if (faceFlags) {
for (i = 0; i < totface; i++) {
@@ -1969,12 +1974,12 @@ static GPUDrawObject *ccgDM_GPUObjectNew(DerivedMesh *dm) {
int numVerts = ccgSubSurf_getFaceNumVerts(f);
int index = GET_INT_FROM_POINTER(ccgSubSurf_getFaceFaceHandle(f));
int new_matnr = faceFlags[index].mat_nr;
- points_per_mat[new_matnr] += numVerts * gridFaces * gridFaces * 6;
+ matinfo[new_matnr].elements += numVerts * gridFaces * gridFaces * 6;
}
}
else {
for (i = 0; i < totface; i++) {
- points_per_mat[0] += gridFaces * gridFaces * 6;
+ matinfo[0].elements += gridFaces * gridFaces * 6;
}
}
@@ -1985,7 +1990,7 @@ static GPUDrawObject *ccgDM_GPUObjectNew(DerivedMesh *dm) {
/* count the number of materials used by this DerivedMesh */
for (i = 0; i < totmat; i++) {
- if (points_per_mat[i] > 0)
+ if (matinfo[i].elements > 0)
gdo->totmaterial++;
}
@@ -1994,19 +1999,19 @@ static GPUDrawObject *ccgDM_GPUObjectNew(DerivedMesh *dm) {
"GPUDrawObject.materials");
/* initialize the materials array */
- for (i = 0, curmat = 0, curpoint = 0; i < totmat; i++) {
- if (points_per_mat[i] > 0) {
- gdo->materials[curmat].start = curpoint;
- gdo->materials[curmat].totpoint = points_per_mat[i];
+ for (i = 0, curmat = 0, curelement = 0; i < totmat; i++) {
+ if (matinfo[i].elements > 0) {
+ gdo->materials[curmat].start = curelement;
+ gdo->materials[curmat].totelements = matinfo[i].elements;
gdo->materials[curmat].mat_nr = i;
- curpoint += points_per_mat[i];
+ curelement += matinfo[i].elements;
curmat++;
}
}
/* store total number of points used for triangles */
- gdo->tot_triangle_point = curpoint;
+ gdo->tot_triangle_point = curelement;
mat_orig_to_new = MEM_callocN(sizeof(*mat_orig_to_new) * totmat,
"GPUDrawObject.mat_orig_to_new");
@@ -2031,7 +2036,7 @@ static GPUDrawObject *ccgDM_GPUObjectNew(DerivedMesh *dm) {
MEM_freeN(mat_orig_to_new);
- MEM_freeN(points_per_mat);
+ MEM_freeN(matinfo);
return gdo;
}
@@ -2058,7 +2063,7 @@ static void ccgDM_drawFacesSolid(DerivedMesh *dm, float (*partial_redraw_planes)
for (a = 0; a < dm->drawObject->totmaterial; a++) {
if (!setMaterial || setMaterial(dm->drawObject->materials[a].mat_nr + 1, NULL)) {
glDrawArrays(GL_TRIANGLES, dm->drawObject->materials[a].start,
- dm->drawObject->materials[a].totpoint);
+ dm->drawObject->materials[a].totelements);
}
}
GPU_buffer_unbind();
diff --git a/source/blender/gpu/GPU_buffers.h b/source/blender/gpu/GPU_buffers.h
index e522a45..7f3a288 100644
--- a/source/blender/gpu/GPU_buffers.h
+++ b/source/blender/gpu/GPU_buffers.h
@@ -62,7 +62,7 @@ typedef struct GPUBuffer {
typedef struct GPUBufferMaterial {
/* range of points used for this material */
int start;
- int totpoint;
+ int totelements;
int totloops;
/* original material index */
More information about the Bf-blender-cvs
mailing list