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

org.lwjgl.opengl.EXTFramebufferMultisampleBlitScaled 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_framebuffer_multisample_blit_scaled extension.
 * 
 * 

This extension relaxes some of the restrictions associated with multisample resolve operations, specifically to allow a combined resolve and scale * operation through a single call to BlitFramebuffer. It also adds two new filter types to control the quality of the combined scaled resolve operation.

* *

In traditional multisampled framebuffer rendering, color samples must be explicitly resolved via BlitFramebuffer before any other operation on the * resulting pixel values can be performed. This multisample resolve operation must be done using a BlitFramebuffer call where the dimensions of the source * and destination rectangles are identical. If the resulting pixel values need to be copied to a texture with different dimensions, these resolved values * can then be scaled with a second call to BlitFramebuffer.

* *

By requiring two separate calls to BlitFramebuffer, the quality of final image can be maintained to a certain degree. The samples are first resolved, * and then these resolved values can be filtered to produce the final image. This image quality comes at the price of increased memory usage and lower * performance. However, the scaling blit can still introduce artifacts, particularly if it is done with a simple bilinear filter.

* *

The new filter types introduced by this extension allow the scaled resolve to be done with a single call to BlitFramebuffer. Not all samples from the * read framebuffer are required to be be used when producing the final pixel values, and there may be a loss in quality when compared to an image produced * by a separate resolve and scale. However, the single-pass scaled resolve blit should be faster than the traditional two-pass resolve then scale blits.

* *

Requires {@link ARBFramebufferObject ARB_framebuffer_object}.

*/ public final class EXTFramebufferMultisampleBlitScaled { /** Accepted by the {@code filter} parameter of BlitFramebuffer. */ public static final int GL_SCALED_RESOLVE_FASTEST_EXT = 0x90BA, GL_SCALED_RESOLVE_NICEST_EXT = 0x90BB; private EXTFramebufferMultisampleBlitScaled() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy