studio reales proyectos programación programacion introducción incluye herramientas gratis fundamentos fuente código curso con avanzado aplicaciones java opengl jogl shader

java - reales - Programación de Jogl Shader



manual android studio avanzado (4)

Acabo de comenzar la programación Shader (GLSL) y creé algunas con RenderMonkey. Ahora quiero usar este Shaders en mi código java. ¿Hay algún ejemplo simple de cómo lo hago?


La nueva versión de Jogl se agrega como una carga / compilación del sombreador de utilidad y ajuste uniforme / obtención de llamadas. Eche un vistazo a la API para la selección de métodos.


Yo no tengo ninguno, pero si tengo un problema en este sentido, a menudo he encontrado el mejor lugar para la programación en 3D y el asesoramiento de Java ha terminado en JavaGaming.org . No he estado allí por un tiempo, pero fue siempre una comunidad útil y conocedora.


He encontrado un ejemplo muy simple

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


Puedes ver ogre4j , un envoltorio / puerto Java del popular motor de código abierto Ogre3D . Puede ser un poco pesado para sus necesidades, pero para un proyecto en 3D adecuado, vale la pena buscarlo.