From cf8ede3565aa340fa63ef1968e74d29d07fac7f4 Mon Sep 17 00:00:00 2001
From: Kevin Rushforth
This is a very rough first draft of what we are thinking in terms +
This is a rough first draft of what we are thinking in terms of programmable shader support in Java 3D 1.4. As we mentioned at JavaOne, we plan to do the 1.4 API specification under the auspices of the Java Community Process (JCP). However, we very much want to @@ -45,18 +45,18 @@ in Java 3D is:
public abstract class Shader extends NodeComponent -public class GL2ShaderProgram extends ShaderProgram - method: {add/remove/get}Shader(GL2Shader) // set of shader objs - method: {add/remove}ErrorListener(GL2ErrorListener) +public class GLSLShaderProgram extends ShaderProgram + method: {add/remove/get}Shader(GLSLShader) // set of shader objs + method: {add/remove}ErrorListener(GLSLErrorListener) method: validate(Canvas3D) ??? -public abstract class GL2Shader extends Shader - public class GL2VertexShader extends GL2Shader +public abstract class GLSLShader extends Shader + public class GLSLVertexShader extends GLSLShader method: set/getShaderSource(String) method: validate(Canvas3D) ??? - public class GL2FragmentShader extends GL2Shader + public class GLSLFragmentShader extends GLSLShader method: set/getShaderSource(String) method: validate(Canvas3D) ???@@ -105,23 +105,23 @@ String fragmentShaderFile = "my-fragment-shader-file-name"; String vertexShaderSource; String fragmentShaderSource; -// Read CG vertex and fragment shader source code from text files +// Read GLSL vertex and fragment shader source code from text files vertexShaderSource = TextFileUtils.readFully(vertexShaderFile); fragmentShaderSource = TextFileUtils.readFully(fragmentShaderSource); -// Create CG vertex and fragment shader objects using the given source code -CgVertexShader vertexShader = new CgVertexShader(vertexShaderSource); -CgFragmentShader fragmentShader = new CgFragmentShader(fragmentShaderSource); +// Create GLSL vertex and fragment shader objects using the given source code +GLSLVertexShader vertexShader = new GLSLVertexShader(vertexShaderSource); +GLSLFragmentShader fragmentShader = new GLSLFragmentShader(fragmentShaderSource); -// Create the CG shader program object and attach the vertex and +// Create the GLSL shader program object and attach the vertex and // fragment shader objects; add an error listener -CgShaderProgram shaderProgram = new CgShaderProgram(); +GLSLShaderProgram shaderProgram = new GLSLShaderProgram(); shaderProgram.setVertexShader(vertexShader); shaderProgram.setFragmentShader(fragmentShader); -shaderProgram.addErrorListener(myCgErrorListener); +shaderProgram.addErrorListener(myGLSLErrorListener); -// Use CG shader program object in appearance -appearance.setShaderProgram(shaderProgram); +// Use GLSL shader program object in appearance +shaderAppearance.setShaderProgram(shaderProgram);
TODO: more info here.
+Page last updated — $Date$ +