Files
XCEngine/docs/api/XCEngine/RHI/OpenGL/OpenGLBuffer/Map.md

924 B

OpenGLBuffer::Map()

void* Map() override;

作用

把当前 buffer 映射为 CPU 可写内存,并返回映射指针。

返回值

  • glMapBuffer() 返回的原始指针。

当前实现行为

函数会:

  1. 根据 m_type 绑定对应 target
  2. 调用 glMapBuffer(target, GL_WRITE_ONLY)
  3. 解绑 target
  4. 返回映射结果

重要限制

  • 当前只支持 GL_WRITE_ONLY 映射。
  • 不支持读映射、读写映射、持久映射或显式同步 flag。
  • 不会检查返回值是否为空之外的任何错误条件。

工程解读

这是一种非常经典、但也比较基础的 OpenGL 写映射封装。对小型工具和单测足够直接,但对于商业引擎里的高频 streaming buffer 更新,通常还需要更精细的 ring buffer、persistent mapping 或 staging 策略。

相关文档