Jogl Shader-Programmierung
Frage
Ich habe gerade angefangen Shader-Programmierung (GLSL) und erstellt ein paar mit Render. Jetzt mag ich diesen Shaders in meinem Java-Code verwenden. Gibt es einfache Beispiele dafür, wie ich das tun?
Lösung
Ich habe ein sehr einfaches Beispiel gefunden
int v = gl.glCreateShader(GL.GL_VERTEX_SHADER);
int f = gl.glCreateShader(GL.GL_FRAGMENT_SHADER);
BufferedReader brv = new BufferedReader(new FileReader("vertexshader.glsl"));
String vsrc = "";
String line;
while ((line=brv.readLine()) != null) {
vsrc += line + "\n";
}
gl.glShaderSource(v, 1, vsrc, (int[])null);
gl.glCompileShader(v);
BufferedReader brf = new BufferedReader(new FileReader("fragmentshader.glsl"));
String fsrc = "";
String line;
while ((line=brf.readLine()) != null) {
fsrc += line + "\n";
}
gl.glShaderSource(f, 1, fsrc, (int[])null);
gl.glCompileShader(f);
int shaderprogram = gl.glCreateProgram();
gl.glAttachShader(shaderprogram, v);
gl.glAttachShader(shaderprogram, f);
gl.glLinkProgram(shaderprogram);
gl.glValidateProgram(shaderprogram);
gl.glUseProgram(shaderprogram);
Andere Tipps
Ich habe keine mich, aber wenn ich ein Problem habe in diese Richtung habe ich oft für die 3D-Programmierung und Java Beratung gefunden habe, den besten Ort ist über
Die neue Version von Jogl fügt als Utility-Shader-Laden / Kompilieren und Uniform Einstellung / bekommen Anrufe. Werfen Sie einen Blick auf die API für die Auswahl von Methoden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow