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

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

Go to download

The most widely adopted 2D and 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms.

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.opengl;

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

Conventional OpenGL blending provides a configurable series of operations that can be used to combine the output values from a fragment shader with the * values already in the framebuffer. While these operations are suitable for basic image compositing, other compositing operations or operations that * treat fragment output as something other than a color (normals, for instance) may not be expressible without multiple passes or render-to-texture * operations.

* *

This extension provides a mechanism whereby a fragment shader may read existing framebuffer data as input. This can be used to implement compositing * operations that would have been inconvenient or impossible with fixed-function blending. It can also be used to apply a function to the framebuffer * color, by writing a shader which uses the existing framebuffer color as its only input.

* *

This extension provides two alternative name strings:

* *
    *
  • {@code GL_EXT_shader_framebuffer_fetch} guarantees full coherency between framebuffer reads and writes. If this extension string is exposed, the * result of reading from the framebuffer from a fragment shader invocation is guaranteed to reflect values written by any previous overlapping * samples in API primitive order, unless requested otherwise in the shader source using the noncoherent layout qualifier.
  • *
  • {@code GL_EXT_shader_framebuffer_fetch_non_coherent} provides limited implicit coherency guarantees. Instead, the application is expected to call * the {@link EXTShaderFramebufferFetchNonCoherent#glFramebufferFetchBarrierEXT FramebufferFetchBarrierEXT} command for previous framebuffer writes to become visible to subsequent fragment shader invocations. For this * extension to give well-defined results applications may have to split rendering into multiple passes separated with * {@code FramebufferFetchBarrierEXT} calls. The functionality provided by this extension is requested in the shader source using the noncoherent * layout qualifier.
  • *
* *

Requires {@link GL20 OpenGL 2.0}.

*/ public final class EXTShaderFramebufferFetch { /** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev. */ public static final int GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; private EXTShaderFramebufferFetch() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy