Add correct vertex attrib divisor

This commit is contained in:
Atlante45 2016-01-19 10:33:15 -08:00
parent 6ee88c15ec
commit 71ecd1662c
2 changed files with 5 additions and 12 deletions

View file

@ -68,7 +68,6 @@ public:
BufferPointers buffers; BufferPointers buffers;
Function function; Function function;
DrawCallInfoBuffer drawCallInfos; DrawCallInfoBuffer drawCallInfos;
size_t numVertices;
size_t count() const { return drawCallInfos.size(); } size_t count() const { return drawCallInfos.size(); }

View file

@ -190,17 +190,11 @@ void GLBackend::updateTransform(const Batch& batch) {
glDisableVertexAttribArray(gpu::Stream::DRAW_CALL_INFO); // Make sure attrib array is disabled glDisableVertexAttribArray(gpu::Stream::DRAW_CALL_INFO); // Make sure attrib array is disabled
glVertexAttribI2i(gpu::Stream::DRAW_CALL_INFO, drawCallInfo.index, drawCallInfo.unused); glVertexAttribI2i(gpu::Stream::DRAW_CALL_INFO, drawCallInfo.index, drawCallInfo.unused);
} else { } else {
if (false) { glEnableVertexAttribArray(gpu::Stream::DRAW_CALL_INFO); // Make sure attrib array is enabled
auto& drawCallInfo = drawCallInfoBuffer[0]; glBindBuffer(GL_ARRAY_BUFFER, _transform._drawCallInfoBuffer);
glDisableVertexAttribArray(gpu::Stream::DRAW_CALL_INFO); // Make sure attrib array is disabled glVertexAttribIPointer(gpu::Stream::DRAW_CALL_INFO, 2, GL_UNSIGNED_SHORT, 0,
glVertexAttribI2i(gpu::Stream::DRAW_CALL_INFO, drawCallInfo.index, drawCallInfo.unused); _transform._drawCallInfoOffsets[batch._currentNamedCall]);
} else { glVertexAttribDivisor(gpu::Stream::DRAW_CALL_INFO, 1);
glEnableVertexAttribArray(gpu::Stream::DRAW_CALL_INFO); // Make sure attrib array is enabled
glBindBuffer(GL_ARRAY_BUFFER, _transform._drawCallInfoBuffer);
glVertexAttribIPointer(gpu::Stream::DRAW_CALL_INFO, 2, GL_UNSIGNED_SHORT, 0,
_transform._drawCallInfoOffsets[batch._currentNamedCall]);
glVertexAttribDivisor(gpu::Stream::DRAW_CALL_INFO, 100000);
}
} }
} }