com.sun.opengl.impl
Class GLObjectTracker

java.lang.Object
  extended by com.sun.opengl.impl.GLObjectTracker

public class GLObjectTracker
extends java.lang.Object

Tracks the creation of server-side OpenGL objects which can be shared between contexts. Ordinarily, when an OpenGL context is deleted and no other contexts are sharing server-side objects with it, all of the server-side objects are automatically deleted by the OpenGL implementation. It is not necessary for the end user to explicitly delete these objects. However, when the Java2D/OpenGL pipeline is active and frame buffer objects are being used for rendering, it is necessary for all OpenGL contexts created by JOGL to share server-side objects with the Java2D OpenGL context. This means that these objects "leak" into the namespace used by Java2D. In order to prevent memory leaks and to present the same programming model to the end user, it is necessary to track the creation and destruction of all of these server-side OpenGL objects and to explicitly release them when all of the JOGL-created contexts which can see them have been released.

The ref and unref methods should be used during the creation and destruction of OpenGL contexts by JOGL in order to update the liveness of the objects being tracked. The various other methods should be called by the OpenGL binding in the various named methods.


Constructor Summary
GLObjectTracker()
           
 
Method Summary
 void addBuffers(int n, int[] ids, int ids_offset)
           
 void addBuffers(int n, java.nio.IntBuffer ids)
           
 void addBuffersARB(int n, int[] ids, int ids_offset)
           
 void addBuffersARB(int n, java.nio.IntBuffer ids)
           
 void addFencesAPPLE(int n, int[] ids, int ids_offset)
           
 void addFencesAPPLE(int n, java.nio.IntBuffer ids)
           
 void addFencesNV(int n, int[] ids, int ids_offset)
           
 void addFencesNV(int n, java.nio.IntBuffer ids)
           
 void addFragmentShadersATI(int start, int n)
           
 void addFramebuffersEXT(int n, int[] ids, int ids_offset)
           
 void addFramebuffersEXT(int n, java.nio.IntBuffer ids)
           
 void addLists(int start, int n)
           
 void addOcclusionQueriesNV(int n, int[] ids, int ids_offset)
           
 void addOcclusionQueriesNV(int n, java.nio.IntBuffer ids)
           
 void addProgramObject(int obj)
           
 void addProgramObjectARB(int obj)
           
 void addProgramsARB(int n, int[] ids, int ids_offset)
           
 void addProgramsARB(int n, java.nio.IntBuffer ids)
           
 void addProgramsNV(int n, int[] ids, int ids_offset)
           
 void addProgramsNV(int n, java.nio.IntBuffer ids)
           
 void addQueries(int n, int[] ids, int ids_offset)
           
 void addQueries(int n, java.nio.IntBuffer ids)
           
 void addQueriesARB(int n, int[] ids, int ids_offset)
           
 void addQueriesARB(int n, java.nio.IntBuffer ids)
           
 void addRenderbuffersEXT(int n, int[] ids, int ids_offset)
           
 void addRenderbuffersEXT(int n, java.nio.IntBuffer ids)
           
 void addShaderObject(int obj)
           
 void addShaderObjectARB(int obj)
           
 void addTextures(int n, int[] ids, int ids_offset)
           
 void addTextures(int n, java.nio.IntBuffer ids)
           
 void addVertexArraysAPPLE(int n, int[] ids, int ids_offset)
           
 void addVertexArraysAPPLE(int n, java.nio.IntBuffer ids)
           
 void addVertexShadersEXT(int start, int n)
           
 void clean(GL gl)
           
 void ref()
           
 void removeBuffers(int n, int[] ids, int ids_offset)
           
 void removeBuffers(int n, java.nio.IntBuffer ids)
           
 void removeBuffersARB(int n, int[] ids, int ids_offset)
           
 void removeBuffersARB(int n, java.nio.IntBuffer ids)
           
 void removeFencesAPPLE(int n, int[] ids, int ids_offset)
           
 void removeFencesAPPLE(int n, java.nio.IntBuffer ids)
           
 void removeFencesNV(int n, int[] ids, int ids_offset)
           
 void removeFencesNV(int n, java.nio.IntBuffer ids)
           
 void removeFragmentShaderATI(int obj)
           
 void removeFramebuffersEXT(int n, int[] ids, int ids_offset)
           
 void removeFramebuffersEXT(int n, java.nio.IntBuffer ids)
           
 void removeLists(int start, int n)
           
 void removeOcclusionQueriesNV(int n, int[] ids, int ids_offset)
           
 void removeOcclusionQueriesNV(int n, java.nio.IntBuffer ids)
           
 void removeProgramObject(int obj)
           
 void removeProgramOrShaderObjectARB(int obj)
           
 void removeProgramsARB(int n, int[] ids, int ids_offset)
           
 void removeProgramsARB(int n, java.nio.IntBuffer ids)
           
 void removeProgramsNV(int n, int[] ids, int ids_offset)
           
 void removeProgramsNV(int n, java.nio.IntBuffer ids)
           
 void removeQueries(int n, int[] ids, int ids_offset)
           
 void removeQueries(int n, java.nio.IntBuffer ids)
           
 void removeQueriesARB(int n, int[] ids, int ids_offset)
           
 void removeQueriesARB(int n, java.nio.IntBuffer ids)
           
 void removeRenderbuffersEXT(int n, int[] ids, int ids_offset)
           
 void removeRenderbuffersEXT(int n, java.nio.IntBuffer ids)
           
 void removeShaderObject(int obj)
           
 void removeTextures(int n, int[] ids, int ids_offset)
           
 void removeTextures(int n, java.nio.IntBuffer ids)
           
 void removeVertexArraysAPPLE(int n, int[] ids, int ids_offset)
           
 void removeVertexArraysAPPLE(int n, java.nio.IntBuffer ids)
           
 void removeVertexShaderEXT(int obj)
           
 void transferAll(GLObjectTracker other)
           
 void unref(GLObjectTracker deletedObjectPool)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GLObjectTracker

public GLObjectTracker()
Method Detail

addBuffers

public void addBuffers(int n,
                       java.nio.IntBuffer ids)

addBuffers

public void addBuffers(int n,
                       int[] ids,
                       int ids_offset)

addBuffersARB

public void addBuffersARB(int n,
                          java.nio.IntBuffer ids)

addBuffersARB

public void addBuffersARB(int n,
                          int[] ids,
                          int ids_offset)

addFencesAPPLE

public void addFencesAPPLE(int n,
                           java.nio.IntBuffer ids)

addFencesAPPLE

public void addFencesAPPLE(int n,
                           int[] ids,
                           int ids_offset)

addFencesNV

public void addFencesNV(int n,
                        java.nio.IntBuffer ids)

addFencesNV

public void addFencesNV(int n,
                        int[] ids,
                        int ids_offset)

addFragmentShadersATI

public void addFragmentShadersATI(int start,
                                  int n)

addFramebuffersEXT

public void addFramebuffersEXT(int n,
                               java.nio.IntBuffer ids)

addFramebuffersEXT

public void addFramebuffersEXT(int n,
                               int[] ids,
                               int ids_offset)

addLists

public void addLists(int start,
                     int n)

addOcclusionQueriesNV

public void addOcclusionQueriesNV(int n,
                                  java.nio.IntBuffer ids)

addOcclusionQueriesNV

public void addOcclusionQueriesNV(int n,
                                  int[] ids,
                                  int ids_offset)

addProgramObject

public void addProgramObject(int obj)

addProgramObjectARB

public void addProgramObjectARB(int obj)

addProgramsARB

public void addProgramsARB(int n,
                           java.nio.IntBuffer ids)

addProgramsARB

public void addProgramsARB(int n,
                           int[] ids,
                           int ids_offset)

addProgramsNV

public void addProgramsNV(int n,
                          java.nio.IntBuffer ids)

addProgramsNV

public void addProgramsNV(int n,
                          int[] ids,
                          int ids_offset)

addQueries

public void addQueries(int n,
                       java.nio.IntBuffer ids)

addQueries

public void addQueries(int n,
                       int[] ids,
                       int ids_offset)

addQueriesARB

public void addQueriesARB(int n,
                          java.nio.IntBuffer ids)

addQueriesARB

public void addQueriesARB(int n,
                          int[] ids,
                          int ids_offset)

addRenderbuffersEXT

public void addRenderbuffersEXT(int n,
                                java.nio.IntBuffer ids)

addRenderbuffersEXT

public void addRenderbuffersEXT(int n,
                                int[] ids,
                                int ids_offset)

addShaderObject

public void addShaderObject(int obj)

addShaderObjectARB

public void addShaderObjectARB(int obj)

addTextures

public void addTextures(int n,
                        java.nio.IntBuffer ids)

addTextures

public void addTextures(int n,
                        int[] ids,
                        int ids_offset)

addVertexArraysAPPLE

public void addVertexArraysAPPLE(int n,
                                 java.nio.IntBuffer ids)

addVertexArraysAPPLE

public void addVertexArraysAPPLE(int n,
                                 int[] ids,
                                 int ids_offset)

addVertexShadersEXT

public void addVertexShadersEXT(int start,
                                int n)

removeBuffers

public void removeBuffers(int n,
                          java.nio.IntBuffer ids)

removeBuffers

public void removeBuffers(int n,
                          int[] ids,
                          int ids_offset)

removeBuffersARB

public void removeBuffersARB(int n,
                             java.nio.IntBuffer ids)

removeBuffersARB

public void removeBuffersARB(int n,
                             int[] ids,
                             int ids_offset)

removeFencesAPPLE

public void removeFencesAPPLE(int n,
                              java.nio.IntBuffer ids)

removeFencesAPPLE

public void removeFencesAPPLE(int n,
                              int[] ids,
                              int ids_offset)

removeFencesNV

public void removeFencesNV(int n,
                           java.nio.IntBuffer ids)

removeFencesNV

public void removeFencesNV(int n,
                           int[] ids,
                           int ids_offset)

removeFragmentShaderATI

public void removeFragmentShaderATI(int obj)

removeFramebuffersEXT

public void removeFramebuffersEXT(int n,
                                  java.nio.IntBuffer ids)

removeFramebuffersEXT

public void removeFramebuffersEXT(int n,
                                  int[] ids,
                                  int ids_offset)

removeLists

public void removeLists(int start,
                        int n)

removeOcclusionQueriesNV

public void removeOcclusionQueriesNV(int n,
                                     java.nio.IntBuffer ids)

removeOcclusionQueriesNV

public void removeOcclusionQueriesNV(int n,
                                     int[] ids,
                                     int ids_offset)

removeProgramObject

public void removeProgramObject(int obj)

removeProgramOrShaderObjectARB

public void removeProgramOrShaderObjectARB(int obj)

removeProgramsARB

public void removeProgramsARB(int n,
                              java.nio.IntBuffer ids)

removeProgramsARB

public void removeProgramsARB(int n,
                              int[] ids,
                              int ids_offset)

removeProgramsNV

public void removeProgramsNV(int n,
                             java.nio.IntBuffer ids)

removeProgramsNV

public void removeProgramsNV(int n,
                             int[] ids,
                             int ids_offset)

removeQueries

public void removeQueries(int n,
                          java.nio.IntBuffer ids)

removeQueries

public void removeQueries(int n,
                          int[] ids,
                          int ids_offset)

removeQueriesARB

public void removeQueriesARB(int n,
                             java.nio.IntBuffer ids)

removeQueriesARB

public void removeQueriesARB(int n,
                             int[] ids,
                             int ids_offset)

removeRenderbuffersEXT

public void removeRenderbuffersEXT(int n,
                                   java.nio.IntBuffer ids)

removeRenderbuffersEXT

public void removeRenderbuffersEXT(int n,
                                   int[] ids,
                                   int ids_offset)

removeShaderObject

public void removeShaderObject(int obj)

removeTextures

public void removeTextures(int n,
                           java.nio.IntBuffer ids)

removeTextures

public void removeTextures(int n,
                           int[] ids,
                           int ids_offset)

removeVertexArraysAPPLE

public void removeVertexArraysAPPLE(int n,
                                    java.nio.IntBuffer ids)

removeVertexArraysAPPLE

public void removeVertexArraysAPPLE(int n,
                                    int[] ids,
                                    int ids_offset)

removeVertexShaderEXT

public void removeVertexShaderEXT(int obj)

transferAll

public void transferAll(GLObjectTracker other)

ref

public void ref()

unref

public void unref(GLObjectTracker deletedObjectPool)

clean

public void clean(GL gl)


Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.