void OsdGLSLTransformFeedbackKernelBundle::ApplyLoopVertexVerticesKernelB( GLuint vertexBuffer, int numVertexElements, GLuint varyingBuffer, int numVaryingElements, int vertexOffset, int tableOffset, int start, int end) { glUniformSubroutinesuiv(GL_VERTEX_SHADER, 1, &_subComputeLoopVertexB); transformGpuBufferData(vertexBuffer, numVertexElements, varyingBuffer, numVaryingElements, vertexOffset, tableOffset, start, end); }
void OsdGLSLTransformFeedbackKernelBundle::ApplyLoopEdgeVerticesKernel( GLuint vertexBuffer, GLuint varyingBuffer, int vertexOffset, int varyingOffset, int offset, int tableOffset, int start, int end) { glUniformSubroutinesuiv(GL_VERTEX_SHADER, 1, &_subComputeEdge); transformGpuBufferData(vertexBuffer, varyingBuffer, vertexOffset, varyingOffset, offset, tableOffset, start, end); }
void OsdGLSLTransformFeedbackKernelBundle::ApplyCatmarkVertexVerticesKernelA( GLuint vertexBuffer, int numVertexElements, GLuint varyingBuffer, int numVaryingElements, int vertexOffset, int tableOffset, int start, int end, bool pass) { glUniformSubroutinesuiv(GL_VERTEX_SHADER, 1, &_subComputeVertexA); glUniform1i(_uniformVertexPass, pass ? 1 : 0); transformGpuBufferData(vertexBuffer, numVertexElements, varyingBuffer, numVaryingElements, vertexOffset, tableOffset, start, end); }
void OsdGLSLTransformFeedbackKernelBundle::ApplyBilinearVertexVerticesKernel( GLuint vertexBuffer, int numVertexElements, GLuint varyingBuffer, int numVaryingElements, int V_ITa_ofs, int offset, int start, int end) { glUniformSubroutinesuiv(GL_VERTEX_SHADER, 1, &_subComputeVertex); glUniform1i(_uniformTableOffsets[Table::V_ITa], V_ITa_ofs); transformGpuBufferData(vertexBuffer, numVertexElements, varyingBuffer, numVaryingElements, offset, start, end); }
void OsdGLSLTransformFeedbackKernelBundle::ApplyCatmarkEdgeVerticesKernel( GLuint vertexBuffer, int numVertexElements, GLuint varyingBuffer, int numVaryingElements, int E_IT_ofs, int E_W_ofs, int offset, int start, int end) { glUniformSubroutinesuiv(GL_VERTEX_SHADER, 1, &_subComputeEdge); glUniform1i(_uniformTableOffsets[Table::E_IT], E_IT_ofs); glUniform1i(_uniformTableOffsets[Table::E_W], E_W_ofs); transformGpuBufferData(vertexBuffer, numVertexElements, varyingBuffer, numVaryingElements, offset, start, end); }