缓冲区的最大计数
Max count of buffers
本文关键字:缓冲区 更新时间:2023-10-16
glGenBuffers
函数可以生成多少个缓冲区?我可以尝试生成 8192(或更多)缓冲区吗?
我只渲染一个缓冲区,但我需要存储许多缓冲区。
int i = 0;
glGetIntegerv(GL_MAX_DRAW_BUFFERS, &i);
返回8
.这是同时渲染的缓冲区的最大计数。
我说的对吗?
GL_MAX_DRAW_BUFFERS
值与glGenBuffers
无关,但与片段着色器可以写入的缓冲区无关(请参阅glDrawBuffers
)。
标准中的缓冲区数量没有限制,您可以根据需要创建任意数量的缓冲区。但是,您受到内存的限制,因此如果您计划存储大量数据,则像glBufferData
这样的调用可能会失败并GL_OUT_OF_MEMORY
我可以使用 glGenBuffers 函数生成多少个缓冲区?
glGenBuffers不分配任何存储,它只获取缓冲区的名称/ID。这方面的限制纯粹是特定于实现的,但理论上只是由可用内存和管理结构的大小决定的。更大的限制因素是您分配的缓冲区存储量。
问题当然是:为什么需要这么多缓冲器?为什么是像素缓冲区对象或颜色缓冲区附件?纹理不是更适合您的数据的存储对象吗?
返回 8。这是同时渲染的缓冲区的最大计数。
是的,这是多个目标渲染中目标缓冲区的最大计数。
相关文章:
- C++字符*缓冲区的大小
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- ostream过载时的缓冲区冲洗
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- Xaudio2在更改缓冲区或循环时弹出声音
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 多线程双缓冲区
- Android P-9.0.0_r53 Logcat主缓冲区超出定义大小
- 套接字读取后,我在缓冲区中看到意外输入
- std::带有自定义缓冲区的 iostream 不允许我写入
- 从返回的顶点缓冲区查询顶点结构
- Vulkan 中的动态顶点缓冲区格式设置
- OpenGL 16 位模板缓冲区?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 在 openGL 中多次绑定缓冲区
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 为什么缓冲区的内容在读取空 rdbuf 时被删除?