c# - 如何将属性直接传递给 OpenGL 中的片段着色器?

标签 c# opengl opentk

我正在为 C# 使用 OpenTK。我对图形编程有点陌生。

有没有办法将属性直接传递给片段着色器并跳过顶点着色器?

它在处理 uv 时很有用。我想将 uv 传递给片段着色器,因为我在顶点着色器中没有做任何更改。

最佳答案

你不能。 vertex shader每个顶点坐标执行一次,fragment shader每个片段执行(对于多重采样甚至更多)。顶点着色器的输出被插值到由 primitive 覆盖的片段。 .插值(坐标)是片段着色器的输入(如果片段着色器阶段直接跟在顶点着色器之后)。
您需要指定哪个属性是顶点着色器的输出,最终是片段着色器的输入。这是通过顶点着色器中的赋值完成的。

关于c# - 如何将属性直接传递给 OpenGL 中的片段着色器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58007053/

相关文章:

c# - Linq 分组

c - 如何在 mac os x 上基于 openGL 上下文创建 OpenCL 上下文

c# - 如何在 OpenTK 中设置无限 FPS?

c# - 如何制作 IEnumerable 类型的 Viewmodel?

c# - WPF MVVM DataTemplates - 查看未更新

c# - 在C#中将文件转换为二进制文件

qt - 在 RDP 下运行 QML 应用程序时出现 OpenGL 问题

java - gl.glScalef() 隐藏 gl.glDrawArrays() 绘图

opengl - 使用 OpenGL 实现更平滑的渐变过渡?

c# - 任何 OpenTK.Graphics.OpenGL4.GL 方法中的 System.AccessViolationException