All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.opengl.ARBCopyImage Maven / Gradle / Ivy

There is a newer version: 3.3.0
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opengl;

import static org.lwjgl.system.Checks.*;

/**
 * Native bindings to the ARB_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 {@link #glCopyImageSubData 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 {@code memcpy}, but using the GPU for the copy.

* *

CopyImageSubData supports copies between images with different internal formats, if the formats are compatible for TextureViews.

* *

CopyImageSubData also supports copying between compressed and uncompressed images if the compressed block / uncompressed texel sizes are the same.

* *

Promoted to core in {@link GL43 OpenGL 4.3}.

*/ public class ARBCopyImage { static { GL.initialize(); } protected ARBCopyImage() { throw new UnsupportedOperationException(); } static boolean isAvailable(GLCapabilities caps) { return checkFunctions( caps.glCopyImageSubData ); } // --- [ glCopyImageSubData ] --- /** * Performs a raw data copy between two images. * * @param srcName the name of a texture or renderbuffer object from which to copy * @param srcTarget the target representing the namespace of the source name {@code srcName} * @param srcLevel the mipmap level to read from the source * @param srcX the X coordinate of the left edge of the souce region to copy * @param srcY the Y coordinate of the top edge of the souce region to copy * @param srcZ the Z coordinate of the near edge of the souce region to copy * @param dstName the name of a texture or renderbuffer object to which to copy * @param dstTarget the target representing the namespace of the destination name {@code dstName} * @param dstLevel the mipmap level to write to the source * @param dstX the X coordinate of the left edge of the destination region * @param dstY the Y coordinate of the top edge of the destination region * @param dstZ the Z coordinate of the near edge of the destination region * @param srcWidth the width of the region to be copied * @param srcHeight the height of the region to be copied * @param srcDepth the depth of the region to be copied */ public static native void glCopyImageSubData(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); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy