Hallöchen,
vorab eine kurze Entschuldigung, falls ich das Thema bzw, die Frage ins falsche Unterforum gestellt hab. Ich dachte, dass es hier wohl am ehesten reinpasst. Ich bin momentan dabei mich ein wenig in OpenGL einzuarbeiten in Kombination mit Java.
Soweit klappt eigentlich auch alles ganz gut, ich schaffe es nen Rechteck zu rendern mit Index Buffern.
Nun habe ich mich heute allerdings erstmals an Shader gewagt. Ich wollte erreichen, dass jeder Pixel ne individuelle Farbe trägt, abhängig von seiner "Entfernung" zu den Vertices.
Hierfür folge ich diesem Tutorial: OpenGL 3d Game Tutorial 5: Coloring Using Shaders
Wenn ich nun aber den Shader Compile, bzw. das gesamte Programm, bekomme ich ne Fehlermeldung:
Daher hier der Code, des Vertex-Shaders, der die Fehlermeldungauszulösen scheint:
Hier nochmal der Code des Fragment Shaders, falls der auch benötigt wird:
Und schließlich hab ich hier noch die Methode, die den Shader compiled:
Allerdings ist der Code der Shader und auch der des Shaderprogramms fast komplett identisch mit dem des Tutorials.
Auch so finde ich keine Syntax-Fehler.. Hat zufällig einer von euch ne Idee woran es liegen könnte?
vorab eine kurze Entschuldigung, falls ich das Thema bzw, die Frage ins falsche Unterforum gestellt hab. Ich dachte, dass es hier wohl am ehesten reinpasst. Ich bin momentan dabei mich ein wenig in OpenGL einzuarbeiten in Kombination mit Java.
Soweit klappt eigentlich auch alles ganz gut, ich schaffe es nen Rechteck zu rendern mit Index Buffern.
Nun habe ich mich heute allerdings erstmals an Shader gewagt. Ich wollte erreichen, dass jeder Pixel ne individuelle Farbe trägt, abhängig von seiner "Entfernung" zu den Vertices.
Hierfür folge ich diesem Tutorial: OpenGL 3d Game Tutorial 5: Coloring Using Shaders
Wenn ich nun aber den Shader Compile, bzw. das gesamte Programm, bekomme ich ne Fehlermeldung:
Code:
Vertex shader failed to compile with the following errors:
Could not compile Shader..
ERROR: 0:1: error(#132) Syntax error: "35" parse error
ERROR: error(#273) 1 compilation errors. No code generated
Daher hier der Code, des Vertex-Shaders, der die Fehlermeldungauszulösen scheint:
Code:
#version 150
in vec3 position;
out vec3 color;
void main(void){
gl_Position = vec4(position.x, position.y, position.z, 1.0);
color = vec3(position.x+0.5,0.0,position.y+0.5);
}
Hier nochmal der Code des Fragment Shaders, falls der auch benötigt wird:
Code:
#version 150
in vec3 color;
out vec4 out_Color;
void main(void){
out_Color = vec4(color,1.0);
}
Und schließlich hab ich hier noch die Methode, die den Shader compiled:
Java:
private static int loadShader(String file, int type)
{
StringBuilder shaderSource = new StringBuilder();
try
{
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
while(bufferedReader.ready())
{
shaderSource.append(bufferedReader.read()).append("//\n");
}
bufferedReader.close();
fileReader.close();
} catch (IOException e) {
System.err.println("Could not read file");
e.printStackTrace();
}
int shaderID = GL20.glCreateShader(type);
GL20.glShaderSource(shaderID, shaderSource);
GL20.glCompileShader(shaderID);
if(GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE)
{
System.out.println(GL20.glGetShaderInfoLog(shaderID));
System.err.println("Could not compile Shader..");
System.exit(-1);
}
return shaderID;
}
Auch so finde ich keine Syntax-Fehler.. Hat zufällig einer von euch ne Idee woran es liegen könnte?