org.lwjgl.opengl.EXTDebugMarker Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.lwjgl.opengl Show documentation
Show all versions of org.lwjgl.opengl Show documentation
LWJGL OSGi bundle (OpenGL bindings)
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.opengl;
import java.nio.*;
import org.lwjgl.system.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;
/**
* Native bindings to the EXT_debug_marker extension.
*
* This extension defines a mechanism for OpenGL and OpenGL ES applications to annotate their command stream with markers for discrete events and groups
* of commands using descriptive text markers.
*
* When profiling or debugging such an application within a debugger or profiler it is difficult to relate the commands within the command stream to the
* elements of the scene or parts of the program code to which they correspond. Markers help obviate this by allowing applications to specify this link.
*
* The intended purpose of this is purely to improve the user experience within OpenGL and OpenGL ES development tools.
*/
public class EXTDebugMarker {
static { GL.initialize(); }
protected EXTDebugMarker() {
throw new UnsupportedOperationException();
}
static boolean isAvailable(GLCapabilities caps) {
return checkFunctions(
caps.glInsertEventMarkerEXT, caps.glPushGroupMarkerEXT, caps.glPopGroupMarkerEXT
);
}
// --- [ glInsertEventMarkerEXT ] ---
public static native void nglInsertEventMarkerEXT(int length, long marker);
public static void glInsertEventMarkerEXT(ByteBuffer marker) {
nglInsertEventMarkerEXT(marker.remaining(), memAddress(marker));
}
public static void glInsertEventMarkerEXT(CharSequence marker) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
ByteBuffer markerEncoded = stack.UTF8(marker, false);
nglInsertEventMarkerEXT(markerEncoded.remaining(), memAddress(markerEncoded));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glPushGroupMarkerEXT ] ---
public static native void nglPushGroupMarkerEXT(int length, long marker);
public static void glPushGroupMarkerEXT(ByteBuffer marker) {
nglPushGroupMarkerEXT(marker.remaining(), memAddress(marker));
}
public static void glPushGroupMarkerEXT(CharSequence marker) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
ByteBuffer markerEncoded = stack.UTF8(marker, false);
nglPushGroupMarkerEXT(markerEncoded.remaining(), memAddress(markerEncoded));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ glPopGroupMarkerEXT ] ---
public static native void glPopGroupMarkerEXT();
}