损坏的顶点和片段着色器
Corrupt Vertex and Fragment Shader
我开始使用http://www.opengl-tutorial.org.
它使用以下代码来加载和编译着色器(链接是因为代码太长了,我认为这是我的着色器的问题)
运行此代码时,它会打印出"错误:编译的顶点着色器已损坏"answers"错误:已编译的片段着色器已损坏。"。我的着色器正在跟踪
顶点着色器
#version 330 core
out vec3 color;
void main(){
color = vec3(1,0,0);
}
片段着色器
#version 330
layout (location = 0) in vec3 position;
void main()
{
gl_Position.xyz = position;
gl_Position.w = 1.0;
}
我使用的是XCode 5.1.1、OpenGL 3.3和GLSL 3.30。
如果你们能帮我度过这一关,那就太棒了。我被一个没有使用VAO的YouTube教程卡住了,所以我自己去学习这些东西,这样我就可以用自己的代码编写教程了。
提前感谢
这是XCode中常见的问题,通常是由文本编码或不正确的null终止字符串引起的。在这两个字符的末尾可能都有非打印字符。
您可以在调试器中查看VertexShaderCode
和FragmentShaderCode
字符串,并找出是否有任何错误的字符,或者它们是否以null结尾。
我发现人们在这里和这里都会遇到同样的错误。
要修复它们,请使用文本编辑、文本匹配或高级文本(一些非常基本的文本编辑器)打开GLSL文件,然后将它们转换为纯文本,并将其保存为新文件。
相关文章:
- 如何循环打印顶点结构
- D3D11-将混合权重和索引传递到顶点着色器
- 从返回的顶点缓冲区查询顶点结构
- Vulkan 中的动态顶点缓冲区格式设置
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 这个带有模板<类 Vector 的C++代码片段有什么问题>
- 将顶点位置从顶点传递到片段着色器 - 仅在使用 Nsight 进行调试时有效
- 如何在顶点着色器中使用VBO数据作为位置数据,在片段着色器中使用统一数据作为颜色数据
- GLSL 将颜色数据从片段着色器发送到顶点着色器似乎总是等于 0
- 在版本 440 核心中绘制具有纹理的立方体的顶点和片段着色器应该是什么
- OpenGL 无法将变量从顶点着色器发送到片段着色器
- 如何将数据从顶点着色器传递到介于两者之间的片段着色器
- 回读生成的顶点和片段 OpenGL
- 从文件加载后,顶点着色器和片段着色器都不会编译
- 损坏的顶点和片段着色器
- 顶点着色器没有向片段着色器传递值
- OpenGL Mac OSX顶点着色器不链接到片段着色器
- 片段着色器是否处理顶点着色器中的所有像素
- 顶点着色器和片段无法编译,与main冲突
- GLSL-调用的顶点和片段的时间和位置