diff options
Diffstat (limited to 'src/demos/cubefbo/FBObject.java')
-rwxr-xr-x | src/demos/cubefbo/FBObject.java | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/src/demos/cubefbo/FBObject.java b/src/demos/cubefbo/FBObject.java index a55096f..76e0ed9 100755 --- a/src/demos/cubefbo/FBObject.java +++ b/src/demos/cubefbo/FBObject.java @@ -33,9 +33,8 @@ package demos.cubefbo; -import javax.media.opengl.*; -import com.sun.opengl.util.*; -import java.nio.*; +import javax.media.opengl.GL2; + class FBObject { private int fb, fbo_tex, depth_rb, stencil_rb, width, height; @@ -46,7 +45,7 @@ class FBObject { this.height = height; } - public void init(GL gl) { + public void init(GL2 gl) { // generate fbo .. int name[] = new int[1]; @@ -54,65 +53,65 @@ class FBObject { fbo_tex = name[0]; System.out.println("fbo_tex: "+fbo_tex); - gl.glBindTexture(GL.GL_TEXTURE_2D, fbo_tex); - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST); - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_NEAREST); - gl.glTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGB8, width, height, 0, - GL.GL_RGB, GL.GL_UNSIGNED_BYTE, null); + gl.glBindTexture(GL2.GL_TEXTURE_2D, fbo_tex); + gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_NEAREST); + gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_NEAREST); + gl.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGB8, width, height, 0, + GL2.GL_RGB, GL2.GL_UNSIGNED_BYTE, null); - gl.glGenRenderbuffersEXT(1, name, 0); + gl.glGenRenderbuffers(1, name, 0); depth_rb = name[0]; System.out.println("depth_rb: "+depth_rb); // Initialize the depth buffer: - gl.glBindRenderbufferEXT(GL.GL_RENDERBUFFER_EXT, depth_rb); - gl.glRenderbufferStorageEXT(GL.GL_RENDERBUFFER_EXT, - GL.GL_DEPTH_COMPONENT24, width, height); + gl.glBindRenderbuffer(GL2.GL_RENDERBUFFER, depth_rb); + gl.glRenderbufferStorage(GL2.GL_RENDERBUFFER, + GL2.GL_DEPTH_COMPONENT24, width, height); // gl.glGenRenderbuffersEXT(1, name, 0); // stencil_rb = name[0]; stencil_rb = 0; System.out.println("stencil_rb: "+stencil_rb); - gl.glGenFramebuffersEXT(1, name, 0); + gl.glGenFramebuffers(1, name, 0); fb = name[0]; System.out.println("fb: "+fb); // bind fbo .. - gl.glBindFramebufferEXT(GL.GL_FRAMEBUFFER_EXT, fb); + gl.glBindFramebuffer(GL2.GL_FRAMEBUFFER, fb); // Set up the color buffer for use as a renderable texture: - gl.glFramebufferTexture2DEXT(GL.GL_FRAMEBUFFER_EXT, - GL.GL_COLOR_ATTACHMENT0_EXT, - GL.GL_TEXTURE_2D, fbo_tex, 0); + gl.glFramebufferTexture2D(GL2.GL_FRAMEBUFFER, + GL2.GL_COLOR_ATTACHMENT0, + GL2.GL_TEXTURE_2D, fbo_tex, 0); // Set up the depth buffer attachment: - gl.glFramebufferRenderbufferEXT(GL.GL_FRAMEBUFFER_EXT, - GL.GL_DEPTH_ATTACHMENT_EXT, - GL.GL_RENDERBUFFER_EXT, depth_rb); + gl.glFramebufferRenderbuffer(GL2.GL_FRAMEBUFFER, + GL2.GL_DEPTH_ATTACHMENT, + GL2.GL_RENDERBUFFER, depth_rb); if(stencil_rb!=0) { // Initialize the stencil buffer: - gl.glBindRenderbufferEXT(GL.GL_RENDERBUFFER_EXT, stencil_rb); + gl.glBindRenderbuffer(GL2.GL_RENDERBUFFER, stencil_rb); - gl.glRenderbufferStorageEXT(GL.GL_RENDERBUFFER_EXT, - GL.GL_STENCIL_INDEX8_EXT, width, height); + gl.glRenderbufferStorage(GL2.GL_RENDERBUFFER, + GL2.GL_STENCIL_INDEX8, width, height); - gl.glFramebufferRenderbufferEXT(GL.GL_FRAMEBUFFER_EXT, - GL.GL_STENCIL_ATTACHMENT_EXT, - GL.GL_RENDERBUFFER_EXT, stencil_rb); + gl.glFramebufferRenderbuffer(GL2.GL_FRAMEBUFFER, + GL2.GL_STENCIL_ATTACHMENT, + GL2.GL_RENDERBUFFER, stencil_rb); } unbind(gl); } - public void bind(GL gl) { - gl.glBindFramebufferEXT(GL.GL_FRAMEBUFFER_EXT, fb); + public void bind(GL2 gl) { + gl.glBindFramebuffer(GL2.GL_FRAMEBUFFER, fb); } - public void unbind(GL gl) { - // gl.glBindTexture(GL.GL_TEXTURE_2D, 0); - // gl.glDisable (GL.GL_TEXTURE_2D); - gl.glBindFramebufferEXT(GL.GL_FRAMEBUFFER_EXT, 0); + public void unbind(GL2 gl) { + // gl.glBindTexture(GL2.GL_TEXTURE_2D, 0); + // gl.glDisable (GL2.GL_TEXTURE_2D); + gl.glBindFramebuffer(GL2.GL_FRAMEBUFFER, 0); } public int getFBName() { |