gpt4 book ai didi

opengl - 即使变量只在顶点着色器上设置了三次,OpenGL 如何在片段着色器上插入变量?

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

由于顶点着色器每个顶点运行一次(这意味着在三角形中运行 3 次),如果仅分配了三次(如示例中所示),如何为每个片段计算变化变量?

片段着色器:

precision mediump float;
varying vec4 v_Color;

void main() {
gl_FragColor = v_Color;
}

顶点着色器:

attribute vec4 a_Position;
attribute vec4 a_Color;

varying vec4 v_Color;

void main() {
v_Color = a_Color;
gl_Position = a_Position;
}

所以,问题是,这背后的系统如何知道如何计算每个片段的变量 v_Color,因为该着色器仅分配 v_Color 3 次(在三角形中)。

最佳答案

顶点着色器的所有输出都是针对每个顶点的。当您在顶点着色器中设置v_Color时,它会将其设置在当前顶点上。当片段着色器运行时,它会读取图元中每个顶点的 v_Color 值,并根据片段的位置在它们之间进行插值。

关于opengl - 即使变量只在顶点着色器上设置了三次,OpenGL 如何在片段着色器上插入变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23201847/

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