Jogl Shader编程

我刚刚开始使用Shader编程(GLSL)并使用RenderMonkey创建了一些。 现在我想在我的java代码中使用这个Shaders。 有没有简单的例子说明我是怎么做到的?

我找到了一个非常简单的例子

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); 

我自己也没有,但如果我有这方面的问题,我经常找到最适合3D编程的地方,Java建议已经在JavaGaming.org上结束了 – 我已经有一段时间不在那里,但它是永远是一个有益和知识渊博的社区

Jogl的新版本添加为实用程序着色器加载/编译和统一设置/获取调用。 看看用于选择方法的API 。

你可以看看ogre4j ,它是流行的开源Ogre3D图形引擎的Java包装器/端口。 它可能对您的需求有点重量,但对于正确的3D项目,值得一看。