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

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

The newest version!
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opengles;

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

By default, OpenGL runs a fragment shader once for each pixel covered by a primitive being rasterized. When using multisampling, the outputs of that * fragment shader are broadcast to each covered sample of the fragment's pixel. When using multisampling, applications can optionally request that the * fragment shader be run once per color sample (e.g., by using the "sample" qualifier on one or more active fragment shader inputs), or run a minimum * number of times per pixel using SAMPLE_SHADING enable and the MinSampleShading frequency value.

* *

This extension allows applications to specify fragment shading rates of less than 1 invocation per pixel. Instead of invoking the fragment shader once * for each covered pixel, the fragment shader can be run once for a group of adjacent pixels in the framebuffer. The outputs of that fragment shader * invocation are broadcast to each covered samples for all of the pixels in the group. The initial version of this extension allows for groups of 1, 2, * 4, 8, and 16 pixels.

* *

This can be useful for effects like motion volumetric rendering where a portion of scene is processed at full shading rate and a portion can be * processed at a reduced shading rate, saving power and processing resources. The requested rate can vary from (finest and default) 1 fragment shader * invocation per pixel to (coarsest) one fragment shader invocation for each 4x4 block of pixels. Implementations are given wide latitude to rasterize at * the requested rate or any other rate that is less coarse.

*/ public final class QCOMShadingRate { /** Accepted by the {@code pname} parameter of GetIntegerv, GetInterger64v and GetFloatv. */ public static final int GL_SHADING_RATE_QCOM = 0x96A4; /** Accepted by the {@code cap} parameter of Enable, Disable, IsEnabled. */ public static final int GL_SHADING_RATE_PRESERVE_ASPECT_RATIO_QCOM = 0x96A5; /** Allowed in the {@code rate} parameter in ShadingRateQCOM. */ public static final int GL_SHADING_RATE_1X1_PIXELS_QCOM = 0x96A6, GL_SHADING_RATE_1X2_PIXELS_QCOM = 0x96A7, GL_SHADING_RATE_2X1_PIXELS_QCOM = 0x96A8, GL_SHADING_RATE_2X2_PIXELS_QCOM = 0x96A9, GL_SHADING_RATE_4X2_PIXELS_QCOM = 0x96AC, GL_SHADING_RATE_4X4_PIXELS_QCOM = 0x96AE; private QCOMShadingRate() {} }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy