我刚开始着色器编程(GLSL),并用RenderMonkey创建了一些。现在我想在我的java代码中使用这个着色器。有没有我如何做的简单例子?Jogl着色器编程
7
A
回答
7
我发现了一个很简单的例子
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);
3
我没有我自己,但是如果我遇到这方面的问题,我经常会发现3D编程的最佳位置,而且Java的建议已在JavaGaming.org - 我还没有去过一段时间,但它总是一个有帮助和知识渊博的社区。
3
JOGL的新版本增加了作为一个实用程序着色器加载/编译和统一设置/获取通话。看看API的选择方法。
0
相关问题
- 1. 尝试使用jogl加载和初始化着色器
- 2. 使用自定义着色器在世界风的Java/JOGL
- 3. JOGL崩溃的着色器初始化,在glLinkProgram
- 4. SharpDX编译着色器
- 5. 使用OpenGL着色器语言编写简单的着色器
- 6. 着色器程序到节点+片段着色器
- 7. 着色器编译器如何工作?
- 8. 如何编写通用GLSL着色器来着色对象
- 9. GLSL:顶点着色器无片段着色片段着色器
- 10. JOGL白色纹理?
- 11. OpenGL着色器?
- 12. 编译DirectX11着色器文件
- 13. GLSL顶点着色器编译错误
- 14. GLFW - 无法编译片段着色器
- 15. 未能在swift中编译着色器
- 16. LWJGL GLSL着色器没有编译
- 17. 编译着色器是否合适?
- 18. 编程着色,支持向量
- 19. 什么时候应该使用统一的着色器编程?
- 20. 为什么不在后台线程上编译着色器?
- 21. SCN着色器金属修改器 - 通过统一着色器
- 22. 使用VS2012着色器设计器创建XNA着色器
- 23. 着色器附件错误。无论是无效的程序或着色器
- 24. 使用着色器
- 25. 着色器与pygtkglext
- 26. Molehill的着色器
- 27. 着色器限制
- 28. OpenGL VBO着色器
- 29. 视差着色器
- 30. 着色器在QML
链接不再有效 – thecoshman 2011-11-29 10:44:44