[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