在 OpenGL 中渲染对象的哪种方式更有效
Which way of rendering objects in OpenGL is more efficient?
使用OpenGL渲染两个形状相同但坐标不同的图形元素的哪种方式更有效(例如,一个对象是颠倒的)?
- 使用
- CPU 生成两组不同的点,然后在 while 循环中仅使用一个着色器
- 仅使用 CPU 生成一组点,创建两个不同的着色器,然后在 while 循环中在它们之间切换?
附加问题:是否可以在着色器中创建一组点?(此积分将使用sin()
和cos()
函数计算)
如果在第一种情况下,您在 OpenGL 函数调用之间切换缓冲区,那么两种解决方案可能同样糟糕。如果您在单个缓冲区中保存两个形状并在单个调用中绘制所有内容,那么它将比解决方案 2 更快,但它需要两倍的内存,这也很糟糕。(你应该有一个用于形状的缓冲区和另一个用于转换的缓冲区)
通常,您应该使用尽可能少的 OpenGL 调用。
关于第二个问题:是的。例如,您可以使用硬编码数组或从gl_VertexID派生点坐标。
相关文章:
- 在循环条件 i<sqrtN(预先计算)和 i*i<N 中,C++哪个更有效?
- 存储变量的更有效方法是什么?
- 为什么浮点数的矢量化比双精度更有效?
- 哪种方式更快?究竟发生了什么,我们没有看到什么?
- 堆分配对于大型块中的分页是否更有效?
- C++/11 auto 关键字是在更有效时推导参数进行按引用传递,还是始终按值传递?
- 保持流打开或每次需要使用时打开它更有效?
- 只需要知道我在c ++中打印模式的方式是否有效,或者有另一种方法可以有效地做到这一点
- C++,在对象内分配多个数据时,堆栈分配是否更有效? 在下面的程序中,类A_Heap的效率会更低吗?
- C++ - 这个条件语句写得正确吗?还是有更有效的写法?
- 是否有更有效的方法来生成日期的REGEX字符串
- 如何以更有效的方式检查一个数字是否是素数?
- 更有效的填充unordered_set方式?
- 在 OpenGL 中渲染对象的哪种方式更有效
- 在哪种方式搜索容器中的元素的方式更有效
- 如何以更有效的方式在 c++ 中创建文件夹
- 这是我的程序编写每十亿个组合的一种更有效的方式
- 更有效的方式从文件读取和设置变量
- 哪种沟通方式更有效
- 更有效的方式查找编辑距离在一个大的数组