Revision: 28848 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28848 Author: moguri Date: 2010-05-19 07:41:30 +0200 (Wed, 19 May 2010)
Log Message: ----------- Getting geometry shaders working. For the time being GL_GEOMETRY_INPUT_TYPE_EXT is set to GL_TRIANGLES and GL_GEOMETRY_OUTPUT_TYPE_EXT is set to GL_TRIANGLE_STRIP. I'll add the ability to change these later. Modified Paths: -------------- branches/soc-2010-moguri/source/blender/gpu/intern/gpu_extensions.c Modified: branches/soc-2010-moguri/source/blender/gpu/intern/gpu_extensions.c =================================================================== --- branches/soc-2010-moguri/source/blender/gpu/intern/gpu_extensions.c 2010-05-19 05:39:42 UTC (rev 28847) +++ branches/soc-2010-moguri/source/blender/gpu/intern/gpu_extensions.c 2010-05-19 05:41:30 UTC (rev 28848) @@ -918,6 +918,7 @@ GPUShader *GPU_shader_create(const char *vertexcode, const char *fragcode, const char *geomcode, /*GPUShader *lib,*/ const char *libcode) { GLint status; + GLint temp; GLcharARB log[5000]; const char *fragsource[2]; GLsizei length = 0; @@ -935,7 +936,10 @@ shader->fragment = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB); if(geomcode) if(!GL_EXT_geometry_shader4) + { + shader->geometry = 0; printf("Geometry shaders not supported, ignoring...\n"); + } else shader->geometry = glCreateShaderObjectARB(GL_GEOMETRY_SHADER_EXT); shader->object = glCreateProgramObjectARB(); @@ -991,6 +995,12 @@ glCompileShaderARB(shader->geometry); glGetObjectParameterivARB(shader->geometry, GL_OBJECT_COMPILE_STATUS_ARB, &status); + glProgramParameteriEXT(shader->object, GL_GEOMETRY_INPUT_TYPE_EXT, GL_TRIANGLES); + glProgramParameteriEXT(shader->object, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_TRIANGLE_STRIP); + + glGetIntegerv(GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT, &temp); + glProgramParameteriEXT(shader->object, GL_GEOMETRY_VERTICES_OUT_EXT, temp); + if (!status) { glGetInfoLogARB(shader->geometry, sizeof(log), &length, log); shader_print_errors("compile", log, geomcode); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs