Tôi vừa bắt đầu lập trình Shader (GLSL) và tạo một vài chương trình với RenderMonkey. Bây giờ tôi muốn sử dụng Shaders này trong mã java của tôi. Có bất kỳ ví dụ đơn giản nào về cách tôi làm điều đó không?Lập trình Jogl Shader
7
A
Trả lời
7
Tôi đã tìm thấy một ví dụ rất đơn giản
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
Tôi không có bất kỳ bản thân mình, nhưng nếu tôi gặp vấn đề dọc theo những dòng này, tôi thường tìm thấy nơi tốt nhất để lập trình 3D và tư vấn Java qua số JavaGaming.org - Tôi không ở đó một lúc, nhưng nó luôn là một cộng đồng hữu ích và thông thái.
3
Phiên bản mới của JOGL thêm như một tiện ích shader tải/biên dịch và thiết lập Uniform/nhận cuộc gọi. Hãy xem API để chọn phương pháp.
0
Các vấn đề liên quan
- 1. Lập trình trò chơi Java: JOGL vs LWJGL?
- 2. shader shader- shaders cơ bản, nhưng màn hình trống
- 3. OpenGL program/shader uninitialization
- 4. JOGL Applets so với WebGL
- 5. WebGL và HTML shader-type
- 6. WebGL Geometry Shader Tương đương?
- 7. Bắt đầu phát triển Shader
- 8. Sự khác biệt về Shader trên iOS
- 9. Đang tải một .obj bằng JOGL
- 10. GLSL 1.5 Hình học đơn giản shader
- 11. Xoay các chỉ số trong Shader
- 12. Directx 11, gửi nhiều textures để Shader
- 13. Flip upside down vertex shader (GLES)
- 14. DirectX Shader Resource View in Shaders
- 15. OpenGL ES (2.0) Shading Language: Làm cách nào để nhập boolean vào vertex shader và chuyển đến shader fragment?
- 16. Tôi có thể tải xuống JOGL ở đâu?
- 17. Howto: cài đặt JOGL cho Eclipse trong Mac OSX 10.6?
- 18. Tại sao chương trình shader OpenGL của tôi cho các điểm có tạo phẩm dải?
- 19. IDE hoặc plugin lập trình đa lập trình
- 20. Lập trình tổng hợp âm nhạc lập trình?
- 21. Ngôn ngữ lập trình PHP hoặc ngôn ngữ lập trình?
- 22. Lập trình ngắt raw_input theo cách có lập trình
- 23. Lập trình Java và lập trình sự kiện
- 24. Lập trình lề văn bản có lập trình
- 25. Lập trình song song == lập trình đa luồng?
- 26. Lập trình logarit được lập trình như thế nào?
- 27. Lập trình nhãn nhiều dòng theo cách lập trình
- 28. R và hướng đối tượng lập trình lập trình hướng
- 29. OpenGL ES Shader để phác thảo hình ảnh 2D
- 30. OpenGL shader không thể ràng buộc thuộc tính
Liên kết không còn hoạt động – thecoshman