gpt4 book ai didi

c++ - 使用 PBO 上传 OpenGL 纹理?

转载 作者:行者123 更新时间:2023-11-30 02:44:35 25 4
gpt4 key购买 nike

我正在使用 OpenGL2.1 开发 OpenGL 应用程序并希望通过线程上传纹理。

到目前为止我做了什么:

  1. 创建第二个上下文并在两者之间共享
  2. 在线程中上传纹理数据

一切正常,除了我注意到纹理上传发生时有一个小的“滞后”!我知道这是因为驱动程序必须同步这两个上下文。问题是我想让它流式传输纹理。我不想稍后更新纹理。我只想在后台加载纹理,同时显示“几乎平滑”的加载动画,而不会使整个应用程序停止。

这就是我搜索并发现PBO可以用于像素数据的DMA数据传输的点。是否可以使用 PBO 进行纹理上传?如果是,怎么办?

最佳答案

您不需要第二个上下文来异步上传纹理数据。只需确保在触发上传后不要立即使用缓冲区,否则它将停止等待复制完成。

这是此过程的示例:http://www.songho.ca/opengl/gl_pbo.html#unpack

这里有更多关于 PBO 是什么以及它们应该如何使用的信息:http://www.opengl.org/wiki/Pixel_Buffer_Object

关于c++ - 使用 PBO 上传 OpenGL 纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25167942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com