Add RHI vertex and index buffer views

This commit is contained in:
2026-03-25 23:07:22 +08:00
parent 268daf7bc9
commit aaf9cce418
14 changed files with 342 additions and 19 deletions

View File

@@ -641,7 +641,9 @@ void OpenGLCommandList::SetVertexBuffers(uint32_t startSlot, uint32_t count, RHI
GLuint glBuffer = view->GetBuffer();
glBindBuffer(GL_ARRAY_BUFFER, glBuffer);
glEnableVertexAttribArray(startSlot + i);
glVertexAttribPointer(startSlot + i, strides[i] / sizeof(float), GL_FLOAT, GL_FALSE, strides[i], reinterpret_cast<void*>(static_cast<uintptr_t>(offsets[i])));
const uint32_t stride = strides[i] > 0 ? strides[i] : view->GetBufferStride();
const uint64_t offset = view->GetBufferOffset() + offsets[i];
glVertexAttribPointer(startSlot + i, stride / sizeof(float), GL_FLOAT, GL_FALSE, stride, reinterpret_cast<void*>(static_cast<uintptr_t>(offset)));
}
glBindBuffer(GL_ARRAY_BUFFER, 0);
}