org.lwjgl.opengles.EXTCopyImage Maven / Gradle / Ivy
Show all versions of lwjgl-opengles Show documentation
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.opengles;
import static org.lwjgl.system.Checks.*;
/**
* Native bindings to the EXT_copy_image extension.
*
* This extension enables efficient image data transfer between image objects (i.e. textures and renderbuffers) without the need to bind the objects or
* otherwise configure the rendering pipeline.
*
* This is accomplised by adding a new entry-point CopyImageSubData, which takes a named source and destination.
*
* CopyImageSubData does not perform general-purpose conversions such as scaling, resizing, blending, color-space, or format conversions. It should be
* considered to operate in a manner similar to a CPU memcpy, but using the GPU for the copy.
*
* CopyImageSubData supports copies between images with different internal formats, if the formats are compatible as described in this extension.
*
* CopyImageSubData also supports copying between compressed and uncompressed images if the compressed block / uncompressed texel sizes are the same.
*
* Requires {@link GLES30 GLES 3.0}.
*/
public class EXTCopyImage {
static { GLES.initialize(); }
protected EXTCopyImage() {
throw new UnsupportedOperationException();
}
static boolean isAvailable(GLESCapabilities caps) {
return checkFunctions(
caps.glCopyImageSubDataEXT
);
}
// --- [ glCopyImageSubDataEXT ] ---
public static native void glCopyImageSubDataEXT(int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth);
}