sách gpt4 ai đã đi

c++ - in vec 和 out vec 是什么意思?

In lại 作者:行者123 更新时间:2023-11-28 02:48:00 29 4
mua khóa gpt4 Nike

在 GLSL 中我不明白什么是“in”和“out”变量,这是什么意思?这是我从教程中复制的代码示例。

// Shader sources
const GLchar* vertexSource =
"#version 150 core\n"
"in vec2 position;"
"in vec3 color;"
"out vec3 Color;"
"void main() {"
" Color = color;"
" gl_Position = vec4(position, 0.0, 1.0);"
"}";
const GLchar* fragmentSource =
"#version 150 core\n"
"in vec3 Color;"
"out vec4 outColor;"
"void main() {"
" outColor = vec4(Color, 1.0);"
"}";

1 Câu trả lời

在"file"范围内声明的变量 TRONGngoài 指的是阶段输入/输出。

  1. 在顶点着色器中,TRONG 中声明的变量是顶点属性,并通过整数位置与 OpenGL 中的顶点属性指针匹配。

  2. 在片段着色器中,声明为TRONG 的变量的名称应与顶点着色器的输出匹配(名称相同,但ngoài).

  3. 在片段着色器中,声明为 ngoài 的变量是颜色输出,并且在您要绘制到的帧缓冲区中具有相应的颜色附件。

在您的顶点着色器中,您有两个顶点属性(chức vụmàu sắc)用于计算插值 在片段着色器中输入(颜色)。片段着色器将插值 颜色写入由outColor 标识的颜色缓冲区附件。

不可能从您的着色器代码中分辨出哪些顶点属性 chức vụmàu sắc 以及与什么颜色缓冲区 outColor 相关联。这些必须在链接之前通过 glBindAttribLocation (...)glBindFragDataLocation (...) 等调用在 GL 代码中设置。

关于c++ - in vec 和 out vec 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23747538/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com