gpt4 book ai didi

opengl - 访问片段着色器中的重心坐标

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

在片段着色器中,值自然会插值。例如,如果我有三个顶点,每个顶点都有一个颜色,第一个顶点为红色,第二个顶点为绿色,第三个顶点为蓝色。如果我用它们绘制一个三角形,则预期结果是常见的
triangle

显然,OpenGL计算三角形内每个点的插值系数(a,b,c)。有什么方法可以显式访问这些值,还是我需要计算三个顶点的片段坐标并自己找到该点的重心坐标?
我知道这是完全可行的,但是我认为OpenGL可以提供一些东西。

最佳答案

我不知道用于获取重心坐标的任何内置函数。但是您不需要在片段着色器中进行任何计算。

您可以将三角形顶点的重心坐标作为属性传递到顶点着色器中。 3个顶点的属性值分别是(1、0、0),(0、1、0)和(0、0、1)。然后将属性值传递到片段着色器(在旧版OpenGL中使用varying变量,在顶点着色器中使用out在核心OpenGL中使用片段着色器中的in)。然后,片段着色器接收到的变量的值就是片段的重心坐标。

这与您通常将纹理坐标传递到顶点着色器,然后将它们传递到片段着色器的方式非常相似,片段着色器接收插值。

关于opengl - 访问片段着色器中的重心坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25397586/

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