gpt4 book ai didi

shader - 是否可以使用顶点着色器渲染三角形?

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

在像素着色器中,您可以丢弃一个像素,但我想即使是为每个像素调用的快速失败着色器也需要花费大量时间?顶点着色器有什么办法可以丢弃整个三角形......我很确定VS无法访问图元但是有什么技巧可以让我们得到相同的结果吗?

在这里谈论 SM 3.0 - 欢迎讨论新版本的完整性。

最佳答案

您可能知道,几何着色器可以很简单地做到这一点,但在 SM3 中没有这样的事情。

顶点着色器很难像这样识别三角形,因为顶点着色器看到的只是单个顶点。但是……原则上是可以的。

如果将 w 坐标设置为零,则一个点将被投影到无穷远。将所有点的w坐标设置为零,整个三角形在无穷远处,所以不会被渲染。

或者,您可以将 gl_ClipDistance 设置为零或低于零的值(从未真正使用过这些值,但我想这应该可行)。这会将顶点标记为剪切平面的“后面”。如果所有三个顶点都在剪切平面后面,则三角形不可见。

您需要一种方法来识别属于您想要丢弃的三角形的顶点,但是......除非您有非常特殊的情况(例如知道您想要丢弃所有三角形),否则这并不容易在某些给定的边界框中,或顶点属性 #5 为零的所有三角形中,或其他)。

关于shader - 是否可以使用顶点着色器渲染三角形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5116289/

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