gpt4 book ai didi

java - LWJGL 顶点和片段着色器无法编译(错误 CO206)

转载 作者:行者123 更新时间:2023-11-30 07:37:40 25 4
gpt4 key购买 nike

我对学习 OpenGl 感兴趣已经有一段时间了。然而,每次我开始使用它时,在编译着色器时都会遇到同样的错误。这是吐出的错误代码。

0(1):错误 C0206:版本行中无效标记“无效原子 483265304”

我尝试查找错误,但没有发现太多任何内容...当然也没有任何内容可以提供如何解决问题的信息。

我不懂 C 或 C++,所以我使用 LWJGL。

这是我用来编译着色器的代码:

private static int loadShader(String file, int type){
//System.out.println("Loading Shader.");
StringBuilder shaderSource = new StringBuilder();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while((line = reader.readLine())!=null){
//System.out.println(line);
shaderSource.append(line).append("/n");
}
reader.close();
//System.out.println("Closed Reader.");

} catch (IOException e) {
System.err.println("Could not read file!");
e.printStackTrace();
System.exit(-1);
}
//System.out.println("Creating Shader ID...");
int shaderID = GL20.glCreateShader(type);
//System.out.println("Created Shader ID, Compiling Shader.");
GL20.glShaderSource(shaderID, shaderSource);
GL20.glCompileShader(shaderID);

if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE){
System.out.println(GL20.glGetShaderInfoLog(shaderID, 500));
System.err.println("Could not compile shader. Location: " + file);
System.exit(-1);
}
return shaderID;
}

这是我的顶点着色器:

#version 400 core

in vec3 position;
out vec3 colour;

void main(void){

gl_Position = vec4(position, 1.0);
colour = vec3(position.x+0.5, 1.0, position.y+0.5);
}

这是我的片段着色器:

#version 400 core

in vec3 colour;
out vec4 out_Colour;

void main(void){
out_Colour = vec4(colour, 1.0);
}

如果有人阅读本文,请先感谢您的宝贵时间。

最佳答案

基本错字 - 当您阅读每一行时,您附加了“/n”而不是“\n”。

@Nicol Bolas 提出了一个很好的观点 - 有一个函数 Files.readAllBytes(Path path) ,如果您使用它而不是重新实现功能,您将不太容易出现这样的小错误。

关于java - LWJGL 顶点和片段着色器无法编译(错误 CO206),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35165908/

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