Files
XCEngine/docs/api/XCEngine/RHI/OpenGL/OpenGLUniformBufferManager/BindBuffer.md

899 B

OpenGLUniformBufferManager::BindBuffer

void BindBuffer(int32_t bindingPoint, OpenGLBuffer* buffer, uint32_t offset = 0, uint32_t size = 0);

作用

把缓冲区绑定到指定 uniform buffer binding point。

参数说明

  • bindingPoint: 目标绑定点。
  • buffer: 需要绑定的缓冲区;可为空。
  • offset: 预留的偏移参数。
  • size: 预留的大小参数。

当前实现行为

  • 非法 bindingPoint 直接返回。
  • 如果 buffer 非空,执行 glBindBufferBase(GL_UNIFORM_BUFFER, bindingPoint, buffer->GetID())
  • 否则把该绑定点清空为 0
  • 更新 m_boundBuffers[bindingPoint] 缓存。

重要限制

  • 当前实现完全忽略 offsetsize
  • 这不是 glBindBufferRange() 语义,而是“整块 UBO 绑定”。

相关文档