[Bf-blender-cvs] [115ba0a] opensubdiv-modifier: OpenSubdiv: Get rid of legacy drawing hacks in opensubdiv_gpu
Sergey Sharybin
noreply at git.blender.org
Thu Jul 17 20:11:41 CEST 2014
Commit: 115ba0a755b6999d649adc12654199c861bafeb8
Author: Sergey Sharybin
Date: Thu Jul 17 20:45:06 2014 +0600
https://developer.blender.org/rB115ba0a755b6999d649adc12654199c861bafeb8
OpenSubdiv: Get rid of legacy drawing hacks in opensubdiv_gpu
===================================================================
M intern/opensubdiv/opensubdiv_capi.h
M intern/opensubdiv/opensubdiv_gpu_capi.cc
M source/blender/blenkernel/intern/CCGSubSurf.c
===================================================================
diff --git a/intern/opensubdiv/opensubdiv_capi.h b/intern/opensubdiv/opensubdiv_capi.h
index cb66c77..0e18080 100644
--- a/intern/opensubdiv/opensubdiv_capi.h
+++ b/intern/opensubdiv/opensubdiv_capi.h
@@ -26,8 +26,6 @@
#ifndef __OPENSUBDIV_CAPI_H__
#define __OPENSUBDIV_CAPI_H__
-#undef OPENSUBDIV_LEGACY_DRAW
-
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/intern/opensubdiv/opensubdiv_gpu_capi.cc b/intern/opensubdiv/opensubdiv_gpu_capi.cc
index c5b5d22..ca08bda 100644
--- a/intern/opensubdiv/opensubdiv_gpu_capi.cc
+++ b/intern/opensubdiv/opensubdiv_gpu_capi.cc
@@ -61,8 +61,6 @@ using OpenSubdiv::PartitionedGLMeshInterface;
extern "C" char datatoc_gpu_shader_opensubd_display_glsl[];
-#ifndef OPENSUBDIV_LEGACY_DRAW
-
#define NUM_SOLID_LIGHTS 3
typedef struct Light {
float position[4];
@@ -352,11 +350,9 @@ void bindProgram(PartitionedGLMeshInterface *mesh,
}
} /* namespace */
-#endif
void openSubdiv_osdGLDisplayInit(void)
{
-#ifndef OPENSUBDIV_LEGACY_DRAW
static bool need_init = true;
if (need_init) {
g_flat_fill_program = linkProgram("#define FLAT_SHADING\n");
@@ -373,12 +369,10 @@ void openSubdiv_osdGLDisplayInit(void)
need_init = false;
}
-#endif
}
void openSubdiv_osdGLDisplayDeinit(void)
{
-#ifndef OPENSUBDIV_LEGACY_DRAW
if (g_lighting_ub != 0) {
glDeleteBuffers(1, &g_lighting_ub);
}
@@ -391,14 +385,12 @@ void openSubdiv_osdGLDisplayDeinit(void)
if (g_wireframe_program) {
glDeleteProgram(g_wireframe_program);
}
-#endif
}
void openSubdiv_osdGLMeshDisplayPrepare(int use_osd_glsl)
{
g_use_osd_glsl = use_osd_glsl != 0;
-#ifndef OPENSUBDIV_LEGACY_DRAW
/* Update transformation matricies. */
glGetFloatv(GL_PROJECTION_MATRIX, g_transform.projection_matrix);
glGetFloatv(GL_MODELVIEW_MATRIX, g_transform.model_view_matrix);
@@ -423,7 +415,6 @@ void openSubdiv_osdGLMeshDisplayPrepare(int use_osd_glsl)
GL_SPECULAR,
g_lighting_data.lights[i].specular);
}
-#endif
}
static GLuint preapre_patchDraw(PartitionedGLMeshInterface *mesh,
@@ -446,7 +437,6 @@ static GLuint preapre_patchDraw(PartitionedGLMeshInterface *mesh,
GLuint program = 0;
-#ifndef OPENSUBDIV_LEGACY_DRAW
program = g_smooth_fill_program;
if (fill_quads) {
int model;
@@ -461,12 +451,6 @@ static GLuint preapre_patchDraw(PartitionedGLMeshInterface *mesh,
}
bindProgram(mesh, program);
-#else
- (void) mesh;
- if (!fill_quads) {
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- }
-#endif
return program;
}
@@ -477,15 +461,11 @@ static void perform_drawElements(GLuint program,
int start_element)
{
int mode = GL_QUADS;
-#ifndef OPENSUBDIV_LEGACY_DRAW
if (program) {
glUniform1i(glGetUniformLocation(program, "PrimitiveIdBase"),
patch_index);
}
mode = GL_LINES_ADJACENCY;
-#else
- (void) patch_index;
-#endif
glDrawElements(mode,
num_elements,
GL_UNSIGNED_INT,
@@ -504,13 +484,11 @@ static void finish_patchDraw(bool fill_quads)
}
glBindVertexArray(0);
-#ifndef OPENSUBDIV_LEGACY_DRAW
if (g_use_osd_glsl) {
glActiveTexture(GL_TEXTURE0);
/* TODO(sergey): Store previously used program and roll back to it? */
glUseProgram(0);
}
-#endif
}
static void draw_partition_patches_range(PartitionedGLMeshInterface *mesh,
diff --git a/source/blender/blenkernel/intern/CCGSubSurf.c b/source/blender/blenkernel/intern/CCGSubSurf.c
index 577ffe7..8952909 100644
--- a/source/blender/blenkernel/intern/CCGSubSurf.c
+++ b/source/blender/blenkernel/intern/CCGSubSurf.c
@@ -2379,14 +2379,6 @@ bool ccgSubSurf_prepareGLMesh(CCGSubSurf *ss, bool use_osd_glsl)
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE,
sizeof(GLfloat) * 6, (float*)12);
-#ifdef OPENSUBDIV_LEGACY_DRAW
- glEnableClientState(GL_VERTEX_ARRAY);
- glVertexPointer(3, GL_FLOAT, sizeof(GLfloat) * 6, 0);
-
- glEnableClientState(GL_NORMAL_ARRAY);
- glNormalPointer(GL_FLOAT, sizeof(GLfloat) * 6, (float*)12);
-#endif
-
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,
openSubdiv_getOsdGLMeshPatchIndexBuffer(ss->osd_mesh));
glBindBuffer(GL_ARRAY_BUFFER, 0);
More information about the Bf-blender-cvs
mailing list