Honor input layouts in OpenGL vertex bindings

This commit is contained in:
2026-03-25 23:24:06 +08:00
parent 1597181458
commit 2470451d96
3 changed files with 264 additions and 1 deletions

View File

@@ -13,6 +13,7 @@ class OpenGLBuffer;
class OpenGLVertexArray;
class OpenGLShader;
class OpenGLTexture;
class OpenGLPipelineState;
enum class PrimitiveType {
Points,
@@ -192,11 +193,17 @@ public:
void DrawIndexed(uint32_t indexCount, uint32_t instanceCount, uint32_t startIndex, int32_t baseVertex, uint32_t startInstance) override;
private:
void EnsureInternalVertexArrayBound();
void DisableConfiguredVertexAttributes();
unsigned int m_primitiveType;
unsigned int m_currentVAO;
unsigned int m_currentProgram;
unsigned int m_internalVAO;
OpenGLPipelineState* m_currentPipelineState;
std::vector<unsigned int> m_enabledVertexAttributes;
OpenGLShader* m_currentShader;
};
} // namespace RHI
} // namespace XCEngine
} // namespace XCEngine