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

org.lwjgl.opengles.NVConservativeRaster Maven / Gradle / Ivy

Go to download

A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles.

There is a newer version: 3.3.4
Show newest version
/*
 * 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.*;
import static org.lwjgl.system.JNI.*;

/**
 * Native bindings to the NV_conservative_raster extension.
 * 
 * 

This extension adds a "conservative" rasterization mode where any pixel that is partially covered, even if no sample location is covered, is treated as * fully covered and a corresponding fragment will be shaded.

* *

A new control is also added to modify window coordinate snapping precision.

* *

These controls can be used to implement "binning" to a low-resolution render target, for example to determine which tiles of a sparse texture need to * be populated. An app can construct a framebuffer where there is one pixel per tile in the sparse texture, and adjust the number of subpixel bits such * that snapping occurs to the same effective grid as when rendering to the sparse texture. Then triangles should cover (at least) the same pixels in the * low-res framebuffer as they do tiles in the sparse texture.

* *

Requires {@link GLES20 GLES 2.0}.

*/ public class NVConservativeRaster { /** Accepted by the {@code cap} parameter of Enable, Disable, IsEnabled. */ public static final int GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346; /** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. */ public static final int GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347, GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348, GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; protected NVConservativeRaster() { throw new UnsupportedOperationException(); } static boolean isAvailable(GLESCapabilities caps) { return checkFunctions( caps.glSubpixelPrecisionBiasNV ); } // --- [ glSubpixelPrecisionBiasNV ] --- public static void glSubpixelPrecisionBiasNV(int xbits, int ybits) { long __functionAddress = GLES.getCapabilities().glSubpixelPrecisionBiasNV; if ( CHECKS ) checkFunctionAddress(__functionAddress); callV(__functionAddress, xbits, ybits); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy