[Bf-blender-cvs] [394b815] temp_viewport_fx_merge: Substitute draw calls with a wrapper to make sure current matrix stack works.
Antony Riakiotakis
noreply at git.blender.org
Tue Apr 14 18:09:04 CEST 2015
Commit: 394b81526109b1fcfcb191e130b61611d71a9b51
Author: Antony Riakiotakis
Date: Tue Apr 14 15:23:13 2015 +0200
Branches: temp_viewport_fx_merge
https://developer.blender.org/rB394b81526109b1fcfcb191e130b61611d71a9b51
Substitute draw calls with a wrapper to make sure current matrix stack
works.
===================================================================
M source/blender/blenfont/intern/blf_glyph.c
M source/blender/blenkernel/intern/DerivedMesh.c
M source/blender/blenkernel/intern/cdderivedmesh.c
M source/blender/blenkernel/intern/editderivedmesh.c
M source/blender/blenkernel/intern/subsurf_ccg.c
M source/blender/editors/animation/anim_draw.c
M source/blender/editors/animation/anim_markers.c
M source/blender/editors/animation/keyframes_draw.c
M source/blender/editors/armature/reeb.c
M source/blender/editors/gpencil/drawgpencil.c
M source/blender/editors/interface/interface_draw.c
M source/blender/editors/interface/interface_icons.c
M source/blender/editors/interface/interface_panel.c
M source/blender/editors/interface/interface_widgets.c
M source/blender/editors/interface/view2d.c
M source/blender/editors/mask/mask_draw.c
M source/blender/editors/mesh/editmesh_knife.c
M source/blender/editors/mesh/editmesh_loopcut.c
M source/blender/editors/screen/area.c
M source/blender/editors/screen/glutil.c
M source/blender/editors/screen/screen_edit.c
M source/blender/editors/sculpt_paint/paint_cursor.c
M source/blender/editors/space_action/action_draw.c
M source/blender/editors/space_clip/clip_dopesheet_draw.c
M source/blender/editors/space_clip/clip_draw.c
M source/blender/editors/space_clip/clip_graph_draw.c
M source/blender/editors/space_clip/clip_utils.c
M source/blender/editors/space_file/file_draw.c
M source/blender/editors/space_graph/graph_draw.c
M source/blender/editors/space_graph/space_graph.c
M source/blender/editors/space_image/image_draw.c
M source/blender/editors/space_nla/nla_draw.c
M source/blender/editors/space_node/drawnode.c
M source/blender/editors/space_node/node_draw.c
M source/blender/editors/space_sequencer/sequencer_draw.c
M source/blender/editors/space_text/text_draw.c
M source/blender/editors/space_time/space_time.c
M source/blender/editors/space_view3d/drawanimviz.c
M source/blender/editors/space_view3d/drawarmature.c
M source/blender/editors/space_view3d/drawobject.c
M source/blender/editors/space_view3d/drawsimdebug.c
M source/blender/editors/space_view3d/drawvolume.c
M source/blender/editors/space_view3d/view3d_draw.c
M source/blender/editors/space_view3d/view3d_fly.c
M source/blender/editors/space_view3d/view3d_ruler.c
M source/blender/editors/space_view3d/view3d_walk.c
M source/blender/editors/transform/transform.c
M source/blender/editors/transform/transform_constraints.c
M source/blender/editors/transform/transform_generics.c
M source/blender/editors/transform/transform_manipulator.c
M source/blender/editors/transform/transform_snap.c
M source/blender/editors/util/ed_util.c
M source/blender/editors/uvedit/uvedit_draw.c
M source/blender/editors/uvedit/uvedit_smart_stitch.c
M source/blender/gpu/GPU_immediate.h
M source/blender/gpu/intern/gpu_buffers.c
M source/blender/gpu/intern/gpu_compositing.c
M source/blender/gpu/intern/gpu_draw.c
M source/blender/gpu/intern/gpu_extensions.c
M source/blender/gpu/intern/gpu_immediate.c
M source/blender/gpu/intern/gpu_lighting.c
M source/blender/gpu/intern/gpu_matrix.c
M source/blender/gpu/intern/gpu_primitives_inline.h
M source/blender/windowmanager/intern/wm_draw.c
M source/blender/windowmanager/intern/wm_gesture.c
M source/blender/windowmanager/intern/wm_operators.c
M source/blender/windowmanager/intern/wm_stereo.c
M source/gameengine/Ketsji/KX_Dome.cpp
M source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp
M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp
M source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp
===================================================================
diff --git a/source/blender/blenfont/intern/blf_glyph.c b/source/blender/blenfont/intern/blf_glyph.c
index c65a082..5e3dbe6 100644
--- a/source/blender/blenfont/intern/blf_glyph.c
+++ b/source/blender/blenfont/intern/blf_glyph.c
@@ -55,6 +55,8 @@
#include "BIF_gl.h"
#include "BLF_api.h"
+#include "GPU_immediate.h"
+
#include "blf_internal_types.h"
#include "blf_internal.h"
@@ -310,7 +312,7 @@ void blf_glyph_free(GlyphBLF *g)
static void blf_texture_draw(float uv[2][2], float dx, float y1, float dx1, float y2)
{
- glBegin(GL_QUADS);
+ GPUBegin(GL_QUADS);
glTexCoord2f(uv[0][0], uv[0][1]);
glVertex2f(dx, y1);
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 1ece9d8..f14fb00 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -74,7 +74,7 @@ static DerivedMesh *navmesh_dm_createNavMeshForVisualization(DerivedMesh *dm);
#include "GPU_buffers.h"
#include "GPU_extensions.h"
-#include "GPU_glew.h"
+#include "GPU_immediate.h"
/* very slow! enable for testing only! */
//#define USE_MODIFIER_VALIDATE
@@ -3240,7 +3240,7 @@ static void navmesh_drawColored(DerivedMesh *dm)
{
DEBUG_VBO("Using legacy code. drawNavMeshColored\n");
//glShadeModel(GL_SMOOTH);
- glBegin(glmode = GL_QUADS);
+ GPUBegin(glmode = GL_QUADS);
for (a = 0; a < dm->numTessFaceData; a++, mface++) {
int new_glmode = mface->v4 ? GL_QUADS : GL_TRIANGLES;
int pi = polygonIdx[a];
@@ -3253,7 +3253,7 @@ static void navmesh_drawColored(DerivedMesh *dm)
if (new_glmode != glmode) {
glEnd();
- glBegin(glmode = new_glmode);
+ GPUBegin(glmode = new_glmode);
}
glColor3fv(col);
glVertex3fv(mvert[mface->v1].co);
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index bd5ee4b..7646974 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -58,7 +58,7 @@
#include "GPU_buffers.h"
#include "GPU_draw.h"
#include "GPU_extensions.h"
-#include "GPU_glew.h"
+#include "GPU_immediate.h"
#include <string.h>
#include <limits.h>
@@ -342,9 +342,9 @@ static void cdDM_drawVerts(DerivedMesh *dm)
{
GPU_vertex_setup(dm);
if (dm->drawObject->tot_triangle_point)
- glDrawArrays(GL_POINTS, 0, dm->drawObject->tot_triangle_point);
+ GPUDrawArrays(GL_POINTS, 0, dm->drawObject->tot_triangle_point);
else
- glDrawArrays(GL_POINTS, 0, dm->drawObject->tot_loose_point);
+ GPUDrawArrays(GL_POINTS, 0, dm->drawObject->tot_loose_point);
GPU_buffer_unbind();
}
@@ -370,7 +370,7 @@ static void cdDM_drawUVEdges(DerivedMesh *dm)
}
if (prevdraw != draw) {
if (prevdraw > 0 && (curpos - prevstart) > 0) {
- glDrawArrays(GL_LINES, prevstart, curpos - prevstart);
+ GPUDrawArrays(GL_LINES, prevstart, curpos - prevstart);
}
prevstart = curpos;
}
@@ -383,7 +383,7 @@ static void cdDM_drawUVEdges(DerivedMesh *dm)
prevdraw = draw;
}
if (prevdraw > 0 && (curpos - prevstart) > 0) {
- glDrawArrays(GL_LINES, prevstart, curpos - prevstart);
+ GPUDrawArrays(GL_LINES, prevstart, curpos - prevstart);
}
GPU_buffer_unbind();
}
@@ -486,7 +486,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)) {
- glDrawArrays(GL_TRIANGLES, dm->drawObject->materials[a].start,
+ GPUDrawArrays(GL_TRIANGLES, dm->drawObject->materials[a].start,
dm->drawObject->materials[a].totpoint);
}
}
@@ -612,7 +612,7 @@ static void cdDM_drawFacesTex_common(DerivedMesh *dm,
else
GPU_color_switch(0);
- glDrawArrays(GL_TRIANGLES, first, count);
+ GPUDrawArrays(GL_TRIANGLES, first, count);
}
startFace = i + 1;
@@ -698,7 +698,7 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm,
/* no need to set shading mode to flat because
* normals are already used to change shading */
glShadeModel(GL_SMOOTH);
- glBegin(mf->v4 ? GL_QUADS : GL_TRIANGLES);
+ GPUBegin(mf->v4 ? GL_QUADS : GL_TRIANGLES);
if (lnors) {
if (cp) glColor3ub(cp[3], cp[2], cp[1]);
@@ -788,7 +788,7 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm,
}
else if (setDrawOptions == NULL) {
/* just draw the entire face array */
- glDrawArrays(GL_TRIANGLES, 0, (tottri) * 3);
+ GPUDrawArrays(GL_TRIANGLES, 0, (tottri) * 3);
}
else {
/* we need to check if the next material changes */
@@ -843,7 +843,7 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm,
int count = (i - prevstart + (draw_option != DM_DRAW_OPTION_SKIP ? 1 : 0)) * 3;
if (count)
- glDrawArrays(GL_TRIANGLES, first, count);
+ GPUDrawArrays(GL_TRIANGLES, first, count);
prevstart = i + 1;
@@ -934,7 +934,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
DEBUG_VBO("Using legacy code. cdDM_drawMappedFacesGLSL\n");
memset(&attribs, 0, sizeof(attribs));
- glBegin(GL_QUADS);
+ GPUBegin(GL_QUADS);
for (a = 0; a < dm->numTessFaceData; a++, mface++) {
const bool smoothnormal = lnors || (mface->flag & ME_SMOOTH);
@@ -948,7 +948,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
if (do_draw)
DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs);
- glBegin(GL_QUADS);
+ GPUBegin(GL_QUADS);
}
if (!do_draw) {
@@ -1035,7 +1035,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
GPU_interleaved_attrib_setup(buffer, datatypes, numdata);
}
- glDrawArrays(GL_TRIANGLES, start * 3, numfaces * 3);
+ GPUDrawArrays(GL_TRIANGLES, start * 3, numfaces * 3);
if (numdata != 0) {
@@ -1204,7 +1204,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
GPU_buffer_unlock(buffer);
GPU_interleaved_attrib_setup(buffer, datatypes, numdata);
}
- glDrawArrays(GL_TRIANGLES, start * 3, (curface - start) * 3);
+ GPUDrawArrays(GL_TRIANGLES, start * 3, (curface - start) * 3);
}
}
GPU_buffer_unbind();
@@ -1262,7 +1262,7 @@ static void cdDM_drawMappedFacesMat(DerivedMesh *dm,
memset(&attribs, 0, sizeof(attribs));
- glBegin(GL_QUADS);
+ GPUBegin(GL_QUADS);
for (a = 0; a < dm->numTessFaceData; a++, mf++) {
const bool smoothnormal = lnors || (mf->flag & ME_SMOOTH);
@@ -1277,7 +1277,7 @@ static void cdDM_drawMappedFacesMat(DerivedMesh *dm,
setMaterial(userData, matnr = new_matnr, &gattribs);
DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs);
- glBegin(GL_QUADS);
+ GPUBegin(GL_QUADS);
}
/* skipping faces */
@@ -1334,7 +1334,7 @@ static void cdDM_drawMappedEdges(DerivedMesh *dm, DMSetDrawOptions setDrawOption
MEdge *edge = cddm->medge;
int i, orig, *index = DM_get_edge_data_layer(dm, CD_ORIGINDEX);
- glBegin(GL_LINES);
+ GPUBegin(GL_LINES);
for (i = 0; i < dm->numEdgeData; i++, edge++) {
if (index) {
orig = *index++;
diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c
index 40f3022..e2f9011 100644
--- a/source/blender/blenkernel/intern/editderivedmesh.c
+++ b/source/blender/blenkernel/intern/editderivedmesh.c
@@ -56,7 +56,7 @@
#include "MEM_guardedalloc.h"
#include "GPU_extensions.h"
-#include "GPU_glew.h"
+#include "GPU_immediate.h"
extern GLubyte stipple_quarttone[128]; /* glutil.c, bad level data */
@@ -319,7 +319,7 @@ static void emDM_drawMappedEdges(DerivedMesh *dm,
BM_mesh_elem_index_ensure(bm, BM_VERT);
- glBegin(GL_LINES);
+ GPUBegin(GL_LINES);
BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) {
if (!setDrawOptions || (setDrawOptions(userData, i) != DM_DRAW_OPTION_SKIP)) {
glVertex3fv(bmdm->vertexCos[BM_elem_index_get(eed->v1)]);
@@ -329,7 +329,7 @@ static void emDM_drawMappedEdges(DerivedMesh *dm,
glEnd();
}
else {
- glBegin(GL_LINES);
+ GPUBegin(GL_LINES);
BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) {
if (!setDrawOptions || (setDrawOptions(userData, i) != DM_DRAW_OPTION_SKIP)) {
glVertex3fv(eed->v1->co);
@@ -361,7 +361,7 @@ static void emDM_drawMappedEdgesInterp(DerivedMesh *dm,
BM_mesh_elem_index_ensure(bm, BM_VERT);
- glBegin(GL_LINES);
+ GPUBegin(GL_LINES);
BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) {
if (!setDrawOptions || (setDrawOptions(userData, i) != DM_DRAW_OPTION_SKIP)) {
setDrawInterpOptions(userData, i, 0.0);
@@ -373,7 +373,7 @@ static void emDM_drawMappedEdgesInterp(DerivedMesh *dm,
glEnd();
}
else {
- glBegin(GL_LINES);
+ GPUBegin(GL_LINES);
BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) {
if (!setDrawOptions || (setDrawOptions(userData, i) != DM_DRAW_OPTION_SKIP)) {
setDrawInterpOptions(userData, i, 0.0);
@@ -399,7 +399,7 @@ static void emDM_drawUVEdges(DerivedMesh *dm)
return;
}
- glBegin(GL_LINES);
+ GPUBegin(GL_LINES);
BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
BMLoop *l_iter, *l_first;
const float *uv, *uv_prev;
@@ -574,7 +574,7 @@ static void emDM_drawMappedFaces(DerivedMesh *dm,
if (draw_option == DM_DRAW_OPTION_STIPPLE) { /* enabled with stipple */
if (poly_prev != GL_ZERO) glEnd();
- poly_prev = GL_ZERO; /* force glBegin */
+ poly_prev = GL_ZERO; /* force GPUBegin */
glEnable(GL_POLYGON_STIPPLE);
glPolygonStipple(stipple_quarttone);
@@ -585,7 +585,7 @@ static void emDM_drawMappedFaces(DerivedMesh *dm,
if (skip_normals) {
if (poly_type != poly_prev) {
if (poly_prev != GL_ZERO) glEnd();
- glBegin((poly_prev = poly_type)); /* BMesh: will always be GL_TRIANGLES */
+ GPUBegin((poly_prev = poly_type)); /* BMesh: will always be GL_TRIANGLES */
}
if (has_vcol_any) glColor3ubv((const GLubyte *)&(lcol[0]->r));
glVertex3fv(vertexCos[BM_elem_index_get(ltri[0]->v)]);
@@ -599,11 +599,11 @@ static void emDM_drawMappedFaces(DerivedMesh *dm,
if (shade_type != shade_prev) {
if (poly_prev != GL_ZERO) glEnd();
glShadeModel((shade_prev = shade_type)); /* same as bel
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list