gpt4 book ai didi

c++ - OpenGL:将 Z 深度设置为统一与在顶点内冗余存储

转载 作者:行者123 更新时间:2023-11-28 05:45:22 25 4
gpt4 key购买 nike

OpenGL 中的 2D 渲染引擎通常会使用四边形渲染 2D 图像,四边形包含 4 个顶点,每个顶点处于相同的 Z 深度。这些顶点通常由 (X, Y, Z) 和 (U, V) 组成,用于纹理坐标。

但是,由于任何给定图像的所有 4 个顶点始终占据相同的深度,是否最好只为每个顶点上传 (X, Y, U, V) 并将它们的 Z 深度设置为着色器中的单独制服? ,或者在实践中每 4 个顶点更新统一的成本是否太大?

最佳答案

您绝对可以按照自己喜欢的方式进行。它不会产生一点可检测到的差异 - 当您将以几百万个片段着色器实例的顺序运行时,您对 4 个顶点所做的任何更改实际上几乎不可能对性能产生任何影响4 次顶点着色器执行。

就个人而言,我根本不为四边形使用属性 - 我使用顶点 ID 在 4 个固定值之间切换,这使我完全不必使用缓冲区。

关于c++ - OpenGL:将 Z 深度设置为统一与在顶点内冗余存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36335441/

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