gpt4 book ai didi

opengl - 从前到后渲染与着色器交换

转载 作者:行者123 更新时间:2023-12-02 04:56:49 30 4
gpt4 key购买 nike

让我们考虑这种情况。场景包含给定对象:ABCDE

相机的顺序(从最近到最远)企业发展中心

物体AC使用shader1,ED shader 2,B shader3

对象 AC 使用羞耻着色器但不同的纹理。

遇到这种情况怎么办?

  • 从前到后渲染所有内容(5 次交换)
  • 按排序的着色器组渲染(3 个着色器交换)。
  • 将所有着色器程序合并为一个(1 个交换)。

glUniformglBindTexture 等指令更改已在使用的程序中的值是否会导致开销?

最佳答案

这个问题没有唯一的答案。改变 OpenGL 状态会“导致开销”吗? 当然他们这样做;没有什么是免费的。问题是状态变化引起的开销是否会比不太有效的深度测试支持更糟糕。

这无法回答,因为答案取决于有多少 overdraw 、片段着色器的成本有多少、特定绘制调用序列需要多少次状态更改,以及许多其他事先无法知道的无形因素。

这就是为什么在优化之前分析很重要。

关于opengl - 从前到后渲染与着色器交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17840086/

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