【发布时间】:2011-12-26 02:07:10
【问题描述】:
版本 #330 的默认顶点、片段和几何 GLSL 着色器是什么样的?
我将通过 Cg 编译器使用#version 330 GLSL 版本 3.30 NVIDIA,因为这是我的显卡支持的。
对于默认着色器,我的意思是当着色器程序关闭时,与显卡做同样事情的着色器。
我找不到#version 330 的好例子。整天在谷歌上搜索。不确定术语 默认着色器 是否被称为琐碎或基本的其他名称,如果这就是我找不到它的原因。
任何关于 330 版的书的推荐或指向 330 版的简单初学者教程的链接也很好。
#version 110 中的普通顶点着色器示例,执行默认顶点变换
#version 110
void main()
{
gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;
}
#version 110 中的简单片段着色器示例,将颜色变为红色
#version 110
void main()
{
gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}
【问题讨论】:
-
在最技术意义上,您不能在核心 GL 3.3 中关闭着色器,因为在 core OpenGL contexts 中删除了不使用着色器进行渲染的功能。 OpenGL Wiki 维护了一个list of shader-based tutorials(其中一个是我的),但它们都没有直接映射到固定功能的着色器。无论如何,这可能是学习基于着色器的编程的最糟糕的方式。