[Bf-blender-cvs] [a8cca4f] opensubdiv-modifier: OpenSubdiv: Some last minute improvements
Sergey Sharybin
noreply at git.blender.org
Mon Jul 20 14:25:17 CEST 2015
Commit: a8cca4f894518d9793a964a86ad41ee80406127f
Author: Sergey Sharybin
Date: Mon Jul 20 14:21:36 2015 +0200
Branches: opensubdiv-modifier
https://developer.blender.org/rBa8cca4f894518d9793a964a86ad41ee80406127f
OpenSubdiv: Some last minute improvements
- use utility function to define shader's input, output types
and number of vertices.
- Make sure #version 150 is never used if blender is built
without OpenSubdiv.
===================================================================
M source/blender/gpu/intern/gpu_extensions.c
===================================================================
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index 297b695..c71b827 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -1676,11 +1676,15 @@ void GPU_program_parameter_4f(GPUProgram *program, unsigned int location, float
GPUShader *GPU_shader_create(const char *vertexcode, const char *fragcode, const char *geocode, const char *libcode, const char *defines, int input, int output, int number)
{
+#ifdef WITH_OPENSUBDIF
/* TODO(sergey): used to add #version 150 to the geometry shader.
* Could safely be renamed to "use_geometry_code" since it's evry much
* liely any of geometry code will want to use GLSL 1.5.
*/
bool use_opensubdiv = geocode != NULL;
+#else
+ bool use_opensubdiv = false;
+#endif
GLint status;
GLcharARB log[5000];
GLsizei length = 0;
@@ -1821,18 +1825,11 @@ GPUShader *GPU_shader_create(const char *vertexcode, const char *fragcode, const
if (use_opensubdiv) {
glBindAttribLocation(shader->object, 0, "position");
glBindAttribLocation(shader->object, 1, "normal");
+ GPU_shader_geometry_stage_primitive_io(shader,
+ GL_LINES_ADJACENCY_EXT,
+ GL_TRIANGLE_STRIP,
+ 4);
- glProgramParameteriEXT(shader->object,
- GL_GEOMETRY_INPUT_TYPE_EXT,
- GL_LINES_ADJACENCY_EXT);
-
- glProgramParameteriEXT(shader->object,
- GL_GEOMETRY_OUTPUT_TYPE_EXT,
- GL_TRIANGLE_STRIP);
-
- glProgramParameteriEXT(shader->object,
- GL_GEOMETRY_VERTICES_OUT_EXT,
- 4);
}
#endif
More information about the Bf-blender-cvs
mailing list