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

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

/*
 * 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_ES3_2_compatibility extension.
 * 
 * 

This extension adds support for features of OpenGL ES 3.2 that are missing from OpenGL 4.5. Enabling these features will ease the process of porting * applications from OpenGL ES 3.2 to OpenGL.

* *

In particular this adds the following features:

* *
    *
  • Bounding box used to optimization tessellation processing (OES_primitive_bounding_box)
  • *
  • query for {@link #GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB MULTISAMPLE_LINE_WIDTH_RANGE_ARB}
  • *
  • support for the OpenGL ES 3.20 shading language
  • *
* *

For full OpenGL ES 3.2 compatibility the implementation must support {@link KHRBlendEquationAdvanced KHR_blend_equation_advanced} and {@link KHRTextureCompressionASTCLDR KHR_texture_compression_astc_ldr}. * Those features are not defined in this extension spec since they are already defined at the KHR level.

* *

Requires {@link GL45 OpenGL 4.5}, {@link ARBES2Compatibility ARB_ES2_compatibility}, {@link ARBES3Compatibility ARB_ES3_compatibility} and {@link ARBES31Compatibility ARB_ES3_1_compatibility}.

*/ public class ARBES32Compatibility { /** Accepted by the {@code pname} parameter of GetBooleanv, GetFloatv, GetIntegerv, and GetInteger64v. */ public static final int GL_PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE, GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381, GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382; static { GL.initialize(); } protected ARBES32Compatibility() { throw new UnsupportedOperationException(); } static boolean isAvailable(GLCapabilities caps) { return checkFunctions( caps.glPrimitiveBoundingBoxARB ); } // --- [ glPrimitiveBoundingBoxARB ] --- /** * Specifies the primitive bounding box. * *

Implementations may be able to optimize performance if the application provides bounds of primitives that will be generated by the tessellation * primitive generator or the geometry shader prior to executing those stages. If the provided bounds are incorrect and primitives extend beyond them, the * rasterizer may or may not generate fragments for the portions of primitives outside the bounds.

* * @param minX the minimum x clip space coordinate * @param minY the minimum y clip space coordinate * @param minZ the minimum z clip space coordinate * @param minW the minimum w clip space coordinate * @param maxX the maximum x clip space coordinate * @param maxY the maximum y clip space coordinate * @param maxZ the maximum z clip space coordinate * @param maxW the maximum w clip space coordinate */ public static native void glPrimitiveBoundingBoxARB(float minX, float minY, float minZ, float minW, float maxX, float maxY, float maxZ, float maxW); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy