924 B
924 B
OpenGLBuffer::Map()
void* Map() override;
作用
把当前 buffer 映射为 CPU 可写内存,并返回映射指针。
返回值
glMapBuffer()返回的原始指针。
当前实现行为
函数会:
- 根据
m_type绑定对应 target - 调用
glMapBuffer(target, GL_WRITE_ONLY) - 解绑 target
- 返回映射结果
重要限制
- 当前只支持
GL_WRITE_ONLY映射。 - 不支持读映射、读写映射、持久映射或显式同步 flag。
- 不会检查返回值是否为空之外的任何错误条件。
工程解读
这是一种非常经典、但也比较基础的 OpenGL 写映射封装。对小型工具和单测足够直接,但对于商业引擎里的高频 streaming buffer 更新,通常还需要更精细的 ring buffer、persistent mapping 或 staging 策略。