945 B
945 B
OpenGLDepthStencilView::Bind()
void Bind();
作用
把当前对象持有的 framebuffer 绑定到 GL_FRAMEBUFFER。
当前实现行为
实现只有一行:
glBindFramebuffer(GL_FRAMEBUFFER, m_framebuffer);
需要注意
- 不会检查
m_framebuffer是否为0。 - 不会验证这个 FBO 是否来自一次成功的初始化。
- 绑定的是
GL_FRAMEBUFFER,因此会同时影响读写 framebuffer 绑定点。 - 不会保存或恢复之前的 framebuffer 状态。
设计解读
对 OpenGL 后端工具类来说,Bind() 越薄,调试时越容易映射回真实驱动调用;但上层系统必须自行承担状态管理责任。这也是为什么商业级渲染框架通常会在更高层额外做 render context、command encoder 或 framebuffer cache 的原因。