gpt4 book ai didi

opengl - 如何在没有 glDrawPixels 的情况下将缓冲区对象渲染/绘制到帧缓冲区

转载 作者:行者123 更新时间:2023-12-02 08:28:28 25 4
gpt4 key购买 nike

根据 opengl 规范 4.0 glDrawPixels 已弃用。

对于 cuda 互操作性,似乎最好使用“opengl 缓冲区对象”。 (替代方案可以是纹理或表面,但它们存在缓存/并发问题,因此无法用于我的 cuda 内核)。

我只是想创建一个 cuda 内核,它使用这个映射的 opengl 缓冲区对象并将其用作“像素数组”或保存像素的一 block 内存,稍后缓冲区将被取消映射。

然后我希望 opengl 程序将缓冲区对象绘制到帧缓冲区。我想使用尚未弃用的 opengl api。

还有哪些其他方法/API 可以将缓冲区对象绘制到帧缓冲区? (渲染缓冲区也不能使用,因为它们可能与 cuda 数组/缓存问题具有相同的问题,因此这排除了帧缓冲区对象/扩展?!?)。

既然 glDrawPixels 已被弃用,opengl 4.0 中是否存在间隙/缺失功能?或者有其他选择吗?

最佳答案

glDrawPixels 已从 GL 3.2 及更高版本中删除(并未弃用。弃用的意思是“可用,但将来会被删除”)。它已被删除,因为它通常不是将像素数据绘制到屏幕的快速方法。

最好的选择是使用 glTexSubImage2Dupload it to a texture ,然后将其绘制到屏幕上。或者使用 glBlitFramebuffer 将其从纹理中删除。 .

关于opengl - 如何在没有 glDrawPixels 的情况下将缓冲区对象渲染/绘制到帧缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11164276/

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