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

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

There is a newer version: 3.3.0
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 ARB_framebuffer_sRGB extension.
 * 
 * 

Conventionally, OpenGL assumes framebuffer color components are stored in a linear color space. In particular, framebuffer blending is a linear * operation.

* *

The sRGB color space is based on typical (non-linear) monitor characteristics expected in a dimly lit office. It has been standardized by the * International Electrotechnical Commission (IEC) as IEC 61966-2-1. The sRGB color space roughly corresponds to 2.2 gamma correction.

* *

This extension adds a framebuffer capability for sRGB framebuffer update and blending. When blending is disabled but the new sRGB updated mode is * enabled (assume the framebuffer supports the capability), high-precision linear color component values for red, green, and blue generated by fragment * coloring are encoded for sRGB prior to being written into the framebuffer. When blending is enabled along with the new sRGB update mode, red, green, and * blue framebuffer color components are treated as sRGB values that are converted to linear color values, blended with the high-precision color values * generated by fragment coloring, and then the blend result is encoded for sRGB just prior to being written into the framebuffer.

* *

The primary motivation for this extension is that it allows OpenGL applications to render into a framebuffer that is scanned to a monitor configured to * assume framebuffer color values are sRGB encoded. This assumption is roughly true of most PC monitors with default gamma correction. This allows * applications to achieve faithful color reproduction for OpenGL rendering without adjusting the monitor's gamma correction.

* *

Requires {@link ARBFramebufferObject ARB_framebuffer_object}. Promoted to core in {@link GL30 OpenGL 3.0}.

*/ public final class ARBFramebufferSRGB { /** * Accepted by the {@code cap} parameter of Enable, Disable, and IsEnabled, and by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv, and * GetDoublev. */ public static final int GL_FRAMEBUFFER_SRGB = 0x8DB9; private ARBFramebufferSRGB() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy