gpt4 book ai didi

glsl - iResolution 在着色器中意味着什么?

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

我是 GLSL 新手。我发现每个演示中都有一个变量iResolution https://www.shadertoy.com/new 。这是什么意思?

如果我想将此变量传递给着色器,我需要做什么?

最佳答案

如果展开代码上方的“着色器输入”部分,您可以看到定义:

enter image description here

描述几乎说明了一切。它是窗口/视口(viewport)的大小(以像素为单位)。在示例中,gl_FragCoord(片段的像素位置)除以该大小即可获得片段在视口(viewport)内的相对位置。

您可以像任何其他统一变量一样设置它:

GLint loc = glGetUniformLocation(program, "iResolution");
glUniform2f(loc, width, height);

其中宽度高度是窗口/视口(viewport)的大小。奇怪的是,它被定义为 vec3,因为只有 xy 值有用。

关于glsl - iResolution 在着色器中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27888323/

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