org.lwjgl.opengl.AMDSamplePositions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-opengl Show documentation
Show all versions of lwjgl-opengl Show documentation
The most widely adopted 2D and 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms.
/*
* 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.JNI.*;
import static org.lwjgl.system.MemoryUtil.*;
/**
* Native bindings to the AMD_sample_positions extension.
*
* This extension provides a mechanism to explicitly set sample positions for a FBO with multi-sampled attachments. The FBO will use identical sample
* locations for all pixels in each attachment. This forces TEXTURE_FIXED_SAMPLE_LOCATIONS to TRUE if a multi-sampled texture is specified using
* TexImage2DMultisample or TexImage3DMultisample. That is, using GetTexLevelParameter to query TEXTURE_FIXED_SAMPLE_LOCATIONS will always return TRUE if
* the mechanism is explicitly used to set the sample positions.
*
* Requires {@link GL32 OpenGL 3.2} or {@link EXTFramebufferMultisample EXT_framebuffer_multisample}.
*/
public class AMDSamplePositions {
/** Accepted by the {@code pname} parameter of GetFloatv. */
public static final int GL_SUBSAMPLE_DISTANCE_AMD = 0x883F;
static { GL.initialize(); }
protected AMDSamplePositions() {
throw new UnsupportedOperationException();
}
static boolean isAvailable(GLCapabilities caps) {
return checkFunctions(
caps.glSetMultisamplefvAMD
);
}
// --- [ glSetMultisamplefvAMD ] ---
public static native void nglSetMultisamplefvAMD(int pname, int index, long val);
public static void glSetMultisamplefvAMD(@NativeType("GLenum") int pname, @NativeType("GLuint") int index, @NativeType("const GLfloat *") FloatBuffer val) {
if (CHECKS) {
check(val, 2);
}
nglSetMultisamplefvAMD(pname, index, memAddress(val));
}
/** Array version of: {@link #glSetMultisamplefvAMD SetMultisamplefvAMD} */
public static void glSetMultisamplefvAMD(@NativeType("GLenum") int pname, @NativeType("GLuint") int index, @NativeType("const GLfloat *") float[] val) {
long __functionAddress = GL.getICD().glSetMultisamplefvAMD;
if (CHECKS) {
check(__functionAddress);
check(val, 2);
}
callPV(__functionAddress, pname, index, val);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy