899 B
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]缓存。
重要限制
- 当前实现完全忽略
offset和size。 - 这不是
glBindBufferRange()语义,而是“整块 UBO 绑定”。