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

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