# Track server-side object creation and deletion when necessary
# Note that this is only necessary when the Java 2D / JOGL bridge is active,
# so will never be needed for the embedded OpenGL variants
JavaEpilogue glGenBuffers               if (tracker != null) tracker.addBuffers({0}, {1});
JavaEpilogue glGenFencesAPPLE           if (tracker != null) tracker.addFencesAPPLE({0}, {1});
JavaEpilogue glGenFencesNV              if (tracker != null) tracker.addFencesNV({0}, {1});
JavaEpilogue glGenFragmentShadersATI    if (tracker != null) tracker.addFragmentShadersATI(_res, {0});
JavaEpilogue glGenFramebuffersEXT       if (tracker != null) tracker.addFramebuffersEXT({0}, {1});
JavaEpilogue glGenLists                 if (tracker != null) tracker.addLists(_res, {0});
JavaEpilogue glGenOcclusionQueriesNV    if (tracker != null) tracker.addOcclusionQueriesNV({0}, {1});
JavaEpilogue glCreateProgram            if (tracker != null) tracker.addProgramObject(_res);
JavaEpilogue glGenPrograms              if (tracker != null) tracker.addPrograms({0}, {1});
JavaEpilogue glGenQueries               if (tracker != null) tracker.addQueries({0}, {1});
JavaEpilogue glGenRenderbuffersEXT      if (tracker != null) tracker.addRenderbuffersEXT({0}, {1});
JavaEpilogue glCreateShader             if (tracker != null) tracker.addShaderObject(_res);
JavaEpilogue glGenTextures              if (tracker != null) tracker.addTextures({0}, {1});
JavaEpilogue glGenVertexArraysAPPLE     if (tracker != null) tracker.addVertexArraysAPPLE({0}, {1});
JavaEpilogue glGenVertexShadersEXT      if (tracker != null) tracker.addVertexShadersEXT(_res, {0});

JavaEpilogue glDeleteBuffers            if (tracker != null) tracker.removeBuffers({0}, {1});
JavaEpilogue glDeleteFencesAPPLE        if (tracker != null) tracker.removeFencesAPPLE({0}, {1});
JavaEpilogue glDeleteFencesNV           if (tracker != null) tracker.removeFencesNV({0}, {1});
JavaEpilogue glDeleteFragmentShaderATI  if (tracker != null) tracker.removeFragmentShaderATI({0});
JavaEpilogue glDeleteFramebuffersEXT    if (tracker != null) tracker.removeFramebuffersEXT({0}, {1});
JavaEpilogue glDeleteLists              if (tracker != null) tracker.removeLists({0}, {1});
JavaEpilogue glDeleteOcclusionQueriesNV if (tracker != null) tracker.removeOcclusionQueriesNV({0}, {1});
JavaEpilogue glDeleteProgram            if (tracker != null) tracker.removeProgramObject({0});
JavaEpilogue glDeleteObject             if (tracker != null) tracker.removeProgramOrShaderObject({0});
JavaEpilogue glDeletePrograms           if (tracker != null) tracker.removePrograms({0}, {1});
JavaEpilogue glDeleteProgramsNV         if (tracker != null) tracker.removeProgramsNV({0}, {1});
JavaEpilogue glDeleteQueries            if (tracker != null) tracker.removeQueries({0}, {1});
JavaEpilogue glDeleteRenderbuffersEXT   if (tracker != null) tracker.removeRenderbuffersEXT({0}, {1});
JavaEpilogue glDeleteShader             if (tracker != null) tracker.removeShaderObject({0});
JavaEpilogue glDeleteTextures           if (tracker != null) tracker.removeTextures({0}, {1});
JavaEpilogue glDeleteVertexArraysAPPLE  if (tracker != null) tracker.removeVertexArraysAPPLE({0}, {1});
JavaEpilogue glDeleteVertexShaderEXT    if (tracker != null) tracker.removeVertexShaderEXT({0});