GL_OES_shader_multisample_interpolation

Supported Hardware

Series6, Series6XE, Series6XT

Valid APIs

OpenGL ES 3.x

Description

This extension is one of three extensions which enhances OpenGL ES’s programmability with respect to how multisampling is performed:

  • GL_OES_sample_variables

  • GL_OES_sample_shading

  • GL_OES_shader_multisample_interpolation

GL_OES_shader_multisample_interpolation adds functions to GLSL that allow fragment inputs to be interpolated at locations other than just the centroid, such as specific sample locations, or at a given offset (within an implementation-defined range).

Example

#extension GL_OES_sample_variables : require
#extension GL_OES_shader_multisample_interpolation : require
// A sample-rate input. Operations using this must be calculated separately for each sample.
// It is automatically interpolated at each sample location, rather than the centroid.
sample in highp vec2 sampleTextureCoords;
// A standard input
in highp vec4 normal;
void main()
{
    ...
    // Get the normals for each sample location - as if it were declared with 'sample'
    highp vec4 sampleNormal = interpolateAtSample(normal, gl_SampleID);
    ...
}