Package com.jme3.renderer.opengl
Class GLFence
java.lang.Object
com.jme3.util.NativeObject
com.jme3.renderer.opengl.GLFence
- All Implemented Interfaces:
Cloneable
Wrapper for an OpenGL sync object (fence).
A fence is a synchronization primitive that can be used to coordinate work between the CPU and GPU. Once inserted into the command stream, the GPU will signal the fence when all preceding commands have completed.
This class wraps the native sync handle (either a long address or a GLSync)
- See Also:
-
Field Summary
Fields inherited from class com.jme3.util.NativeObject
handleRef, id, INVALID_ID, objectManager, OBJTYPE_AUDIOBUFFER, OBJTYPE_AUDIOSTREAM, OBJTYPE_BO, OBJTYPE_FENCE, OBJTYPE_FILTER, OBJTYPE_FRAMEBUFFER, OBJTYPE_SHADER, OBJTYPE_SHADERSOURCE, OBJTYPE_TEXTURE, OBJTYPE_VERTEXBUFFER, updateNeeded -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a shallow clone of this GL Object.voiddeleteObject(Object rendererObject) Deletes the GL object from the GPU when it is no longer used.longReturns the backend-specific native sync object, if set.longReturns a unique ID for this NativeObject.voidCalled when the GL context is restarted to reset all IDs.Methods inherited from class com.jme3.util.NativeObject
clearUpdateNeeded, clone, deleteNativeBuffers, dispose, getId, getWeakRef, isUpdateNeeded, setId, setUpdateNeeded, toString
-
Constructor Details
-
GLFence
Creates a new fence wrapper with the given handle and native sync object.- Parameters:
fenceId- the native sync object handle (pointer)nativeSync- the backend-specific sync object (e.g., LWJGL2's GLSync) or null
-
-
Method Details
-
getNativeSync
Returns the backend-specific native sync object, if set.This is used by LWJGL2 that require their own GLSync object type rather than a raw pointer.
- Returns:
- the native sync object, or null if not set
-
getFenceId
public long getFenceId() -
resetObject
public void resetObject()Description copied from class:NativeObjectCalled when the GL context is restarted to reset all IDs. Prevents "white textures" on display restart.- Specified by:
resetObjectin classNativeObject
-
deleteObject
Description copied from class:NativeObjectDeletes the GL object from the GPU when it is no longer used. Called automatically by the GL object manager.- Specified by:
deleteObjectin classNativeObject- Parameters:
rendererObject- The renderer to be used to delete the object
-
createDestructableClone
Description copied from class:NativeObjectCreates a shallow clone of this GL Object. The deleteObject method should be functional for this object.- Specified by:
createDestructableClonein classNativeObject- Returns:
- a new instance
-
getUniqueId
public long getUniqueId()Description copied from class:NativeObjectReturns a unique ID for this NativeObject. No other NativeObject shall have the same ID.- Specified by:
getUniqueIdin classNativeObject- Returns:
- unique ID for this NativeObject.
-