Vari Reference Documentation
This is the documentation for the Vari language. For the reference documentation for Varjo (the compiler that turns Vari into GLSL) please see here
All text in the various definitions that follow a heading that states "GLSL Documentation" is from the official GLSL documentation and copyright Khronos Group as stated in the following:
Copyright © 2011-2014 Khronos Group. This material may be distributed subject
to the terms and conditions set forth in the Open Publication License, v 1.0, 8
June 1999. http://opencontent.org/openpub/.
Copyright
varjo is licensed under the BSD 2 Clause license. © Chris Bagley (Baggers) <techsnuffle@gmail.com> . Package Index
-
-
GL-CLIP-DISTANCE
Type:
(:FLOAT *)
Official GLSL Documentaion:
Name
gl_ClipDistance — provides a forward-compatible mechanism for vertex clipping
Description
The gl_ClipDistance variable provides a forward compatible mechanism for
controlling user clipping. The element gl_ClipDistance[i] specifies a clip
distance for each user clip plane i. A distance of 0.0 means that the vertex is
on the plane, a positive distance means that the vertex is insider the clip
plane, and a negative distance means that the point is outside the clip plane.
The clip distances will be linearly interpolated across the primitive and the
portion of the primitive with interpolated distances less than 0.0 will be
clipped.
The gl_ClipDistance array is initially predeclared as unsized and must be sized
by the shader either by redeclaring it with an explicit size, or by indexing it
with only integral constant expressions. The array must be sized to include all
clip planes that are enabled via the OpenGL API; if the size does not include
all enabled planes, results are undefined. The size may be at most
gl_MaxClipDistances. The number of varying components consumed by
gl_ClipDistance will match the size of the array, no matter how many planes are
enabled. The shader must also set all values in gl_ClipDistance that have been
enabled via the OpenGL API, or results are undefined. Values written into
gl_ClipDistance planes that are not enabled have no effect.
In the vertex, tessellation evaluation and geometry languages, a single global
instance of the gl_PerVertex named block is available and its gl_ClipDistance
member is an output that receives the clip distances for the current vertex. It
may be written at any time during shader execution. The value written to
gl_ClipDistance will be used by primitive assembly, clipping, culling and other
fixed functionality operations, if present, that operate on primitives after
vertex processing has occurred.
In the tessellation control language, the gl_PerVertex named block is used to
construct an array, gl_out[], whose gl_ClipDistance members hold clip distances
for each of the control points, which become available as inputs to the
subsequent tessellation evaluation shader.
The value of gl_ClipDistance (or the gl_ClipDistance member of the gl_out[]
array, in the case of the tessellation control shader) is undefined after the
vertex, tessellation control, and tessellation evaluation shading stages if the
corresponding shader executable does not write to gl_ClipDistance. It is also
undefined after the geometry processing stage if the geometry shader executable
calls EmitVertex without having written gl_ClipDistance since the last call to
EmitVertex (or hasn't written it at all).
In the tessellation control, tessellation evaluation and geoemetry languages,
the gl_PerVertex named block is used to construct an array, gl_in[] of
per-vertex or per-control point inputs whose content represents the
corresponding outputs written by the previous stage. Only elements of the
gl_ClipDistance array that correspond to enabled clip planes have defined
values.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_ClipDistance - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Versions 1.30 to 1.40 - vertex shader only.
Versions 1.50 to 3.30 - vertex and geometry shaders only.
Copyright © 2011-2014 Khronos Group
-
GL-FRAG-COORD
Type:
:VEC4
Official GLSL Documentaion:
Name
gl_FragCoord — contains the window-relative coordinates of the current fragment
Description
Available only in the fragment language, gl_FragCoord is an input variable that
contains the window relative coordinate (x, y, z, 1/w) values for the fragment.
If multi-sampling, this value can be for any location within the pixel, or one
of the fragment samples. This value is the result of fixed functionality that
interpolates primitives after vertex processing to generate fragments. The z
component is the depth value that would be used for the fragment's depth if no
shader contained any writes to gl_FragDepth.
gl_FragCoord may be redeclared with the additional layout qualifier identifiers
origin_upper_left or pixel_center_integer. By default, gl_FragCoord assumes a
lower-left origin for window coordinates and assumes pixel centers are located
at half-pixel centers. For example, the (x, y) location (0.5, 0.5) is returned
for the lower-left-most pixel in a window. The origin of gl_FragCoord may be
changed by redeclaring gl_FragCoord with the origin_upper_left identifier. The
values returned can also be shifted by half a pixel in both x and y by
pixel_center_integer so it appears the pixels are centered at whole number
pixel offsets. This moves the (x, y) value returned by gl_FragCoord of (0.5,
0.5) by default to (0.0, 0.0) with pixel_center_integer.
If gl_FragCoord is redeclared in any fragment shader in a program, it must be
redeclared in all fragment shaders in that program that have static use of
gl_FragCoord. Redeclaring gl_FragCoord with any accepted qualifier affects only
gl_FragCoord.x and gl_FragCoord.y. It has no affect on rasterization,
transformation or any other part of the OpenGL pipline or language features.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_FragCoord ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-FRAG-DEPTH
Type:
:FLOAT
Official GLSL Documentaion:
Name
gl_FragDepth — establishes a depth value for the current fragment
Description
Available only in the fragment language, gl_FragDepth is an output variable
that is used to establish the depth value for the current fragment. If depth
buffering is enabled and no shader writes to gl_FragDepth, then the fixed
function value for depth will be used (this value is contained in the z
component of gl_FragCoord) otherwise, the value written to gl_FragDepth is
used. If a shader statically assigns to gl_FragDepth, then the value of the
fragment's depth may be undefined for executions of the shader that don't take
that path. That is, if the set of linked fragment shaders statically contain a
write to gl_FragDepth, then it is responsible for always writing it.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_FragDepth ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-FRONT-FACING
Type:
:BOOL
Official GLSL Documentaion:
Name
gl_FrontFacing — indicates whether a primitive is front or back facing
Description
Available only in the fragment language, gl_FrontFacing is an input variable
whose value is true if the fragment belongs to a front-facing primitive and
false otherwise. The determination of whether a triangle primitive is
front-facing is made by examining the sign of the area of the triangle,
including a possible reversal of this sign as controlled by glFrontFace. One
way to compute this area is:
a=12 ∑ j=0 n-1 x w i y w i+1 - x w i+1 y w i
where x w i and y w i are the x and y window coordinates of the ith vertex of
the n-vertex polygon.
The sign of this computation is negated when the value of GL_CLIP_ORIGIN (the
clip volume origin, set with glClipControl) is GL_UPPER_LEFT.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_FrontFacing ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-GLOBAL-INVOCATION-ID
Type:
:UVEC3
Official GLSL Documentaion:
Name
gl_GlobalInvocationID — contains the global index of work item currently being
operated on by a compute shader
Description
In the compute language, gl_GlobalInvocationID is a derived input variable
containing the n-dimensional index of the work invocation within the global
work group that the current shader is executing on. The value of
gl_GlobalInvocationID is equal to gl_WorkGroupID * gl_WorkGroupSize +
gl_LocalInvocationID.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_GlobalInvocationID - - - - - - - - - ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-HELPER-INVOCATION
Type:
:BOOL
Official GLSL Documentaion:
Name
gl_HelperInvocation — indicates whether a fragment shader invocation is a
helper invocation
Description
The value gl_HelperInvocation is true if the fragment shader invocation is
considered a helper invocation and is false otherwise. A helper invocation is a
fragment-shader invocation that is created solely for the purposes of
evaluating derivatives for use in non-helper fragment-shader invocations. Such
derivatives are computed implicitly in the built-in function texture(), and
explicitly in the derivative functions dFdx() and dFdy.
Fragment shader helper invocations execute the same shader code as non-helper
invocations, but will not have side effects that modify the framebuffer or
other shader-accessible memory. In particular:
• Fragments corresponding to helper invocations are discarded when shader
execution is complete, without updating the framebuffer.
• Stores to image and buffer variables performed by helper invocations have
no effect on the underlying image or buffer memory.
• Atomic operations to image, buffer, or atomic counter variables performed
by helper invocations have no effect on the underlying image or buffer
memory. The values returned by such atomic operations are undefined.
Helper invocations may be generated for pixels not covered by a primitive being
rendered. While fragment shader inputs qualified with centroid are normally
required to be sampled in the intersection of the pixel and the primitive, the
requirement is ignored for such pixels since there is no intersection between
the pixel and primitive.
Helper invocations may also be generated for fragments that are covered by a
primitive being rendered when the fragment is killed by early fragment tests
(using the early_fragment_tests qualifier) or where the implementation is able
to determine that executing the fragment shader would have no effect other than
assisting in computing derivatives for other fragment shader invocations.
The set of helper invocations generated when processing any set of primitives
is implementation dependent.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_HelperInvocation - - - - - - - - - - - ✔
Copyright © 2011-2014 Khronos Group
-
GL-INSTANCE-ID
Type:
:INT32
Official GLSL Documentaion:
Name
gl_InstanceID — contains the index of the current primitive in an instanced
draw command
Description
gl_InstanceID is a vertex language input variable that holds the integer index
of the current primitive in an instanced draw command such as
glDrawArraysInstanced. If the current primitive does not originate from an
instanced draw command, the value of gl_InstanceID is zero.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_InstanceID - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-INVOCATION-ID
Type:
:INT32
Official GLSL Documentaion:
Name
gl_InvocationID — contains the invocation index of the current shader
Description
In the tessellation control language, gl_InvocationID contains the index of the
output patch vertex assigned to the shader invocation. It is assigned an
integer value in the range [0, N-1] where N is the number of output patch
vertices.
In the geometry language, gl_InvocationID identifies the invocation number
assigned to the geometry shader invocation. It is assigned an integer value in
the range [0, N-1] where N is the number of geometry shader invocations per
primitive.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_InvocationID - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
[1] Versions 1.50 to 3.30 - geometry shaders only.
Copyright © 2011-2014 Khronos Group
-
GL-LAYER
Type:
:INT32
Official GLSL Documentaion:
Name
gl_Layer — contains the selected layer of a multi-layer framebuffer attachment
Description
In the geometry language, gl_Layer is used to select a specific layer (or face
and layer of cube map) in a multi-layer framebuffer attachment. The actual
layer used will come from one of the vertices in the primitive being shaded.
Which vertex the layer comes from is undefined and as such it is recommended to
write the same value to gl_Layer for all vertices in the primitive. If a shader
statically assigns a value to gl_Layer, layered rendering mode is enabled. If a
shader statically assigns a value to gl_Layer, and there is an execution path
through the shader that does not set gl_Layer, then the value of gl_Layer is
undefined for invocations of the shader that take that path.
When used with an array of cube map textures, the gl_Layer output variable
takes on a special value. Instead of referring to only the layer, it is used to
select a cube map face and a layer. Setting gl_Layer to the value layer*6+face
will render to face of the cube defined in layer. The face values are as
follows:
Face Value Resulting Target
0 GL_TEXTURE_CUBEMAP_POSITIVE_X
1 GL_TEXTURE_CUBEMAP_NEGATIVE_X
2 GL_TEXTURE_CUBEMAP_POSITIVE_Y
3 GL_TEXTURE_CUBEMAP_NEGATIVE_Y
4 GL_TEXTURE_CUBEMAP_POSITIVE_Z
5 GL_TEXTURE_CUBEMAP_NEGATIVE_Z
For example, to render to the positive y cube map face located in the 5^th
layer of the cube map array, gl_Layer should be set to 5*6+2.
The input variable gl_Layer in the fragment language will have the same value
that was written to the output variable gl_Layer in the geometry language. If
the geometry stage does not dynamically assign a value to gl_Layer, the value
of gl_Layer in the fragment stage will be undefined. If the geometry stage
makes no static assignment to gl_Layer, the input gl_Layer in the fragment
stage will be zero. Otherwise, the fragment stage will read the same value
written by the geometry stage, even if that value is out of range. If a
fragment shader contains a static access to gl_Layer, it will count against the
implementation defined limit for the maximum number of inputs to the fragment
stage.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_Layer (geometry - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
stage)
gl_Layer (fragment - - - - - - - - - ✔ ✔ ✔
stage)
Copyright © 2011-2014 Khronos Group
-
GL-LOCAL-INVOCATION-ID
Type:
:UVEC3
Official GLSL Documentaion:
Name
gl_LocalInvocationID — contains the index of work item currently being operated
on by a compute shader
Description
In the compute language, gl_LocalInvocationID is an input variable containing
the n-dimensional index of the local work invocation within the work group that
the current shader is executing in. The possible values for this variable range
across the local work group size, i.e., (0,0,0) to (gl_WorkGroupSize.x - 1,
gl_WorkGroupSize.y - 1, gl_WorkGroupSize.z - 1).
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_LocalInvocationID - - - - - - - - - ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-LOCAL-INVOCATION-INDEX
Type:
:UINT32
Official GLSL Documentaion:
Name
gl_LocalInvocationIndex — contains the local linear index of work item
currently being operated on by a compute shader
Description
In the compute language, gl_LocalInvocationIndex is a derived input variable
containing the 1-dimensional linearized index of the work invocation within the
work group that the current shader is executing on. The value of
gl_LocalInvocationIndex is equal to gl_LocalInvocationID.z * gl_WorkGroupSize.x
* gl_WorkGroupSize.y + gl_LocalInvocationID.y * gl_WorkGroupSize.x +
gl_LocalInvocationID.x.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_LocalInvocationIndex - - - - - - - - - ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-NUM-SAMPLES
Type:
:BOOL
Official GLSL Documentaion:
Name
gl_NumSamples — contains the total number of samples in the framebuffer
Description
gl_NumSamples is a fragment language input variable that contains the number of
samples in the framebuffer, or 1 if rendering to a non-multisample framebuffer.
gl_NumSamples is the sample count of the framebuffer regardless of whether
multisample rasterization is enabled or not.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_NumSamples - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-NUM-WORK-GROUPS
Type:
:UVEC3
Official GLSL Documentaion:
Name
gl_NumWorkGroups — contains the number of workgroups that have been dispatched
to a compute shader
Description
In the compute language, gl_NumWorkGroups contains the total number of work
groups that will execute the compute shader. The components of gl_NumWorkGroups
are equal to the num_groups_x, num_groups_y, and num_groups_z parameters passed
to the glDispatchCompute command.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_NumWorkGroups - - - - - - - - - ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-PATCH-VERTICES-IN
Type:
:INT32
Official GLSL Documentaion:
Name
gl_PatchVerticesIn — contains the number of vertices in the current patch
Description
Available only in the tessellation control and evaluation languages,
gl_PatchVerticesIn contains the number of vertices in the input being processed
by the shader. A single tessellation control or evaluation shader can read
patches of differing sizes, and so th value of gl_PatchVertexIn may differ
between patches.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_PatchVerticesIn - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-POINT-COORD
Type:
:VEC2
Official GLSL Documentaion:
Name
gl_PointCoord — contains the coordinate of a fragment within a point
Description
gl_PointCoord is a fragment language input variable that contains the
two-dimensional coordinates indicating where within a point primitive the
current fragment is located. If the current primitive is not a point, then
values read from gl_PointCoord are undefined.
gl_PointCoord.s ranges from 0.0 to 1.0 across the point horizontally from left
to right. If GL_POINT_SPRITE_COORD_ORIGIN is GL_LOWER_LEFT, gl_PointCoord.t
varies from 0.0 to 1.0 vertically from bottom to top. Otherwise, if
GL_POINT_SPRITE_COORD_ORIGIN is GL_UPPER_LEFT then gl_PointCoord.t varies from
0.0 to 1.0 vertically from top to bottom. The default value of
GL_POINT_SPRITE_COORD_ORIGIN is GL_UPPER_LEFT.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_PointCoord ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-POINT-SIZE
Type:
:FLOAT
Official GLSL Documentaion:
Name
gl_PointSize — contains size of rasterized points, in pixels
Description
In the vertex, tessellation evaluation and geometry languages, a single global
instance of the gl_PerVertex named block is available and its gl_PointSize
member is an output that receives the intended size of the point to be
rasterized, in pixels. It may be written at any time during shader execution.
If GL_PROGRAM_POINT_SIZE is enabled, gl_PointSize is used to determine the size
of rasterized points, otherwise it is ignored by the rasterization stage.
In the tessellation control language, the gl_PerVertex named block is used to
construct an array, gl_out[], whose members become available as inputs to the
subsequent tessellation evaluation shader.
The value of gl_PointSize (or the gl_PointSize member of the gl_out[] array, in
the case of the tessellation control shader) is undefined after the vertex,
tessellation control, and tessellation evaluation shading stages if the
corresponding shader executable does not write to gl_PointSize. It is also
undefined after the geometry processing stage if the geometry shader executable
calls EmitVertex without having written gl_PointSize since the last call to
EmitVertex (or hasn't written it at all).
In the tessellation control, tessellation evaluation and geometry languages,
the gl_PerVertex named block is used to construct an array, gl_in[] of
per-vertex or per-control point inputs whose content represents the
corresponding outputs written by the previous stage.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_PointSize (vertex ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
shader)
gl_PointSize - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(geometry shader)
gl_PointSize
(tessellation - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
evaluation shader)
Copyright © 2011-2014 Khronos Group
-
GL-POSITION
Type:
:VEC4
Official GLSL Documentaion:
Name
gl_Position — contains the position of the current vertex
Description
In the vertex, tessellation evaluation and geometry languages, a single global
instance of the gl_PerVertex named block is available and its gl_Position
member is an output that receives the homogeneous vertex position. It may be
written at any time during shader execution. The value written to gl_Position
will be used by primitive assembly, clipping, culling and other fixed
functionality operations, if present, that operate on primitives after vertex
processing has occurred.
In the tessellation control language, the gl_PerVertex named block is used to
construct an array, gl_out[], whose gl_Position members hold the homogeneous
control point position, which become available as inputs to the subsequent
tessellation evaluation shader.
The value of gl_Position (or the gl_Position member of the gl_out[] array, in
the case of the tessellation control shader) is undefined after the vertex,
tessellation control, and tessellation evaluation shading stages if the
corresponding shader executable does not write to gl_Position. It is also
undefined after the geometry processing stage if the geometry shader executable
calls EmitVertex without having written gl_Position since the last call to
EmitVertex (or hasn't written it at all).
In the tessellation control, tessellation evaluation and geometry languages,
the gl_PerVertex named block is used to construct an array, gl_in[] of
per-vertex or per-control point inputs whose content represents the
corresponding outputs written by the previous stage.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_Position ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Versions 1.10 to 1.40 - vertex shader only.
Versions 1.50 to 3.30 - vertex and geometry shaders only.
Copyright © 2011-2014 Khronos Group
-
GL-PRIMITIVE-ID
Type:
:INT32
Official GLSL Documentaion:
Name
gl_PrimitiveID — contains the index of the current primitive
Description
gl_PrimitiveID is a tessellation control, tessellation evaluation and fragment
language input variable. For the tessellation control and tessellation
evaluation languages, it holds the number of primitives processed by the shader
since the current set of rendering primitives was started. The first primitive
processed by the drawing command is numbered zero and the primitive ID counter
is incremented after every individual point, line or triangle primitive is
processed. For triangles drawn in point or line mode, the primitive ID counter
is incremented only once, even through multiple points or lines may actually be
drawn. Restarting a primitive topology using the primitive restart index has no
effect on the primitive ID counter.
In the geometry language, gl_PrimitiveID is an output variable that is passed
to the corresponding gl_PrimitiveID input variable in the fragment shader. If
no geomery shader is present then gl_PrimitiveID in the fragment language
behaves identically as it would in the tessellation control and evaluation
languages. If a geometry shader is present but does not write to
gl_PrimitiveID, the value of gl_PrimitiveID in the fragment shader is
undefined.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_PrimitiveID
(Fragment and - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Geometry Languages)
gl_PrimitiveID
(Tessellation
Control and - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Evaluation
Languages)
Copyright © 2011-2014 Khronos Group
-
GL-PRIMITIVE-IDIN
Type:
:INT32
Official GLSL Documentaion:
Name
gl_PrimitiveIDIn — contains the index of the current primitive
Description
gl_PrimitiveIDIn is a geometry language input variable that holds the number of
primitives processed by the shader since the current set of rendering
primitives was started. The first primitive processed by the drawing command is
numbered zero and the primitive ID counter is incremented after every
individual point, line or triangle primitive is processed. For triangles drawn
in point or line mode, the primitive ID counter is incremented only once, even
through multiple points or lines may actually be drawn. Restarting a primitive
topology using the primitive restart index has no effect on the primitive ID
counter.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_PrimitiveIDIn - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-SAMPLE-ID
Type:
:INT32
Official GLSL Documentaion:
Name
gl_SampleID — contains the index of the sample currently being processed
Description
gl_SampleID is a fragment language input variable that contains the index of
the sample currently being processed. This variable is in the range 0 to
gl_NumSamples - 1, where gl_NumSamples is the total number of samples in each
fragment for the current framebuffer (and thus 1 if rendering to a
non-multisample buffer). Any static use of this variable in a fragment shader
causes the entire shader to be evaluated per-sample rather than per-fragment.
When rendering to a non-multisample buffer, or if multisample rasterization is
disabled, gl_SampleID will always be zero. gl_NumSamples is the sample count of
the framebuffer regardless of whether multisample rasterization is enabled or
not.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_SampleID - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-SAMPLE-MASK
Type:
:INT32
Official GLSL Documentaion:
Name
gl_SampleMask — specifies the sample coverage mask for the current fragment
Description
gl_SampleMask is a fragment language output array that may be used to set the
sample mask for the fragment being processed. Coverage for the current fragment
will become the logical AND of the coverage mask and the output gl_SampleMask.
That is, setting a bit in gl_SampleMask to zero will cause the corresponding
sample to be considered uncovered for the purposes of multisample fragment
operations. However, setting sample mask bits back to one will never enable
samples not covered by the original primitive. Bit B of mask gl_SampleMask[M]
corresponds to sample 32 * M + B. This array must be sized in the fragment
shader either implicitly or explicitly to be the same size as the
implementation-dependent maximum sample-mask (as an array of 32-bit elements),
determined by the maximum number of samples. If the fragment shader statically
assigns a value to gl_SampleMask, the sample mask will be undefined for any
array elements of any fragment shader invocation that fails to assign a value.
If a shader does not statically assign a value to gl_SampleMask, the sample
mask has no effect on the processing of a fragment. If the fragment shader is
being evaluated at any frequency other than per-fragment, bits within the
sample mask not corresponding to the current fragment shader invocation are
ignored.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_SampleMask - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-SAMPLE-MASK-IN
Type:
:INT32
Official GLSL Documentaion:
Name
gl_SampleMaskIn — contains the computed sample coverage mask for the current
fragment
Description
gl_SampleMaskIn is a fragment language that indicates the set of samples
covered by the primitive generating the fragment during multisample
rasterization. It has a sample bit set if and only if the sample is considered
covered for this fragment shader invocation. Bit B of mask gl_SampleMask[M]
corresponds to sample 32 * M + B. The array has ceil(s / 32) elements where s
is the maximum number of color samples supported by the implementation.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_SampleMaskIn - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-SAMPLE-POSITION
Type:
:VEC2
Official GLSL Documentaion:
Name
gl_SamplePosition — contains the location of the current sample within the
current fragment
Description
gl_SamplePosition is a fragment language input variable that contains the
location within a fragment of the sample currently being processed. The x and y
components of gl_SamplePosition contain the sub-pixel coordinate of the current
sample and will have values in the range 0.0 to 1.0. The sub-pixel coordinates
of the center of the pixel are always (0.5, 0.5). Any static use of
gl_SamplePosition causes the entire fragment shader to be evaluated per-sample
rather than per-fragment. When rendering to a non-multisample buffer, or if
multisample rasterization is disabled, gl_SamplePosition will be (0.5, 0.5).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_SamplePosition - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-TESS-COORD
Type:
:VEC3
Official GLSL Documentaion:
Name
gl_TessCoord — contains the coordinate of the vertex within the current patch
Description
Available only in the tessellation cevaluation language, gl_TessCoord specifies
the three component (u, v, w) vector identifying the position of the vertex
being processed by the shader relative to the primitive being tessellated.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_TessCoord - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-TESS-LEVEL-INNER
Type:
(:FLOAT *)
Official GLSL Documentaion:
Name
gl_TessLevelInner — contains the inner tessellation levels for the current
patch
Description
Available only in the tessellation control and evaluation languages,
gl_TessLevelInner is used to assign values to the corresponding inner
tesellation levels of the current patch. The values written into
gl_TessLevelInner by the tessellation control shader are used by the
tessellation primitive generator to control primitive tessellation and may be
read by the subsequent tessellation evaluation shader.
As inputs to the tessellation evaluation shader, gl_TessLevelInner contains the
values written by the tessellation control shader, if present. If no
tessellation control shader is present, it contains the default tessellation
level.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_TessLevelInner - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-TESS-LEVEL-OUTER
Type:
(:FLOAT *)
Official GLSL Documentaion:
Name
gl_TessLevelOuter — contains the outer tessellation levels for the current
patch
Description
Available only in the tessellation control and evaluation languages,
gl_TessLevelOuter is used to assign values to the corresponding outer
tesellation levels of the current patch. The values written into
gl_TessLevelOuter by the tessellation control shader are used by the
tessellation primitive generator to control primitive tessellation and may be
read by the subsequent tessellation evaluation shader.
As inputs to the tessellation evaluation shader, gl_TessLevelOuter contains the
values written by the tessellation control shader, if present. If no
tessellation control shader is present, it contains the default tessellation
level.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_TessLevelOuter - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-VERTEX-ID
Type:
:INT32
Official GLSL Documentaion:
Name
gl_VertexID — contains the index of the current vertex
Description
gl_VertexID is a vertex language input variable that holds an integer index for
the vertex. The index is impliclty generated by glDrawArrays and other commands
that do not reference the content of the GL_ELEMENT_ARRAY_BUFFER, or explicitly
generated from the content of the GL_ELEMENT_ARRAY_BUFFER by commands such as
glDrawElements.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_VertexID ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-VIEWPORT-INDEX
Type:
:INT32
Official GLSL Documentaion:
Name
gl_ViewportIndex — contains the index of the viewport to be used in viewport
transformation and scissoring
Description
In the geometry language, gl_ViewportIndex is used to specify the index of the
viewport to which the next primitive emitted from the shader should be drawn.
Primitives generated by the geometry shader will undergo viewport
transformation and scissor testing using the viewport transformation and
scissor rectangle selected by the value of gl_ViewportIndex. The viewport index
used will come from one of the vertices in the primitive being shaded. However,
which vertex the viewport index comes from is implementation-defined, and so it
is recommended to use the same viewport index for all vertices of a primitive.
If a geometry shader does not assign a value to gl_ViewportIndex, viewport
transform and scissor rectangle zero will be used. If a geometry shader
statically assigns a value to gl_ViewportIndex and there is a path through the
shader that does not assign a value to gl_ViewportIndex, the value of
gl_ViewportIndex is undefined for executions of the shader that take that path.
In the fragment language, gl_ViewportIndex will have the same value that was
written to the output variable gl_ViewportIndex in the geometry stage. If the
geometry stage does not dynamically assign to gl_ViewportIndex, the value of
gl_ViewportIndex in the fragment shader will be undefined. If the geometry
stage makes no static assignment to gl_ViewportIndex, the fragment stage will
read zero. Otherwise, the fragment stage will read the same value written by
the geometry stage, even if that value is out of range. If a fragment shader
contains a static access to gl_ViewportIndex, it will count against the
implementation defined limit for the maximum number of inputs to the fragment
stage.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_ViewportIndex - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(geometry stage)
gl_ViewportIndex - - - - - - - - - ✔ ✔ ✔
(fragment stage)
Copyright © 2011-2014 Khronos Group
-
GL-WORK-GROUP-ID
Type:
:UVEC3
Official GLSL Documentaion:
Name
gl_WorkGroupID — contains the index of the workgroup currently being operated
on by a compute shader
Description
In the compute language, gl_WorkGroupID contains the 3-dimensional index of the
global work group that the current compute shader invocation is executing
within. The possible values range across the parameters passed into
glDispatchCompute, i.e., from (0, 0, 0) to (gl_NumWorkGroups.x - 1,
gl_NumWorkGroups.y - 1, gl_NumWorkGroups.z - 1).
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_WorkGroupID - - - - - - - - - ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GL-WORK-GROUP-SIZE
Type:
:UVEC3
Official GLSL Documentaion:
Name
gl_WorkGroupSize — contains the size of the workgroup operated on by a compute
shader
Description
In the compute language, gl_WorkGroupSize contains the size of a workgroup
declared by a compute shader. The size of the work group in the X, Y, and Z
dimensions is stored in the x, y, and z components of gl_WorkGroupSize. The
values stored in gl_WorkGroupSize match those specified in the required
local_size_x, local_size_y, and local_size_z layout qualifiers for the current
shader. This value is constant so that it can be used to size arrays of memory
that can be shared within the local work group.
Version Support
OpenGL Shading Language Version
Variable Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
gl_WorkGroupSize - - - - - - - - - ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
-
(
%PEEK
0 overloads
)
func -
<<
Overloads:
(VARI.GLSL:<< :IVEC4 :INT32)
(VARI.GLSL:<< :IVEC3 :INT32)
(VARI.GLSL:<< :IVEC2 :INT32)
(VARI.GLSL:<< :UVEC4 :UINT32)
(VARI.GLSL:<< :UVEC3 :UINT32)
(VARI.GLSL:<< :UVEC2 :UINT32)
(VARI.GLSL:<< :INT32 :IVEC4)
(VARI.GLSL:<< :INT32 :IVEC3)
(VARI.GLSL:<< :INT32 :IVEC2)
(VARI.GLSL:<< :UINT32 :UVEC4)
(VARI.GLSL:<< :UINT32 :UVEC3)
(VARI.GLSL:<< :UINT32 :UVEC2)
(VARI.GLSL:<< :IVEC4 :IVEC4)
(VARI.GLSL:<< :IVEC3 :IVEC3)
(VARI.GLSL:<< :IVEC2 :IVEC2)
(VARI.GLSL:<< :UVEC4 :UVEC4)
(VARI.GLSL:<< :UVEC3 :UVEC3)
(VARI.GLSL:<< :UVEC2 :UVEC2)
(VARI.GLSL:<< :INT32 :INT32)
(VARI.GLSL:<< :UINT32 :UINT32)
-
>>
Overloads:
(VARI.GLSL:>> :IVEC4 :INT32)
(VARI.GLSL:>> :IVEC3 :INT32)
(VARI.GLSL:>> :IVEC2 :INT32)
(VARI.GLSL:>> :UVEC4 :UINT32)
(VARI.GLSL:>> :UVEC3 :UINT32)
(VARI.GLSL:>> :UVEC2 :UINT32)
(VARI.GLSL:>> :INT32 :IVEC4)
(VARI.GLSL:>> :INT32 :IVEC3)
(VARI.GLSL:>> :INT32 :IVEC2)
(VARI.GLSL:>> :UINT32 :UVEC4)
(VARI.GLSL:>> :UINT32 :UVEC3)
(VARI.GLSL:>> :UINT32 :UVEC2)
(VARI.GLSL:>> :IVEC4 :IVEC4)
(VARI.GLSL:>> :IVEC3 :IVEC3)
(VARI.GLSL:>> :IVEC2 :IVEC2)
(VARI.GLSL:>> :UVEC4 :UVEC4)
(VARI.GLSL:>> :UVEC3 :UVEC3)
(VARI.GLSL:>> :UVEC2 :UVEC2)
(VARI.GLSL:>> :INT32 :INT32)
(VARI.GLSL:>> :UINT32 :UINT32)
-
(
ABS
20 overloads
)
func ABS
Overloads:
(ABS :DVEC4)
(ABS :DVEC3)
(ABS :DVEC2)
(ABS :DOUBLE)
(ABS :IVEC4)
(ABS :IVEC3)
(ABS :IVEC2)
(ABS :INT32)
(ABS :VEC4)
(ABS :VEC3)
(ABS :VEC2)
(ABS :FLOAT)
Official GLSL Documentaion:
Name
abs — return the absolute value of the parameter
Parameters
x
Specify the value of which to return the absolute.
Description
abs returns the absolute value of x.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
abs (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
abs (genIType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
abs (genDType) - - - - - - - ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
ACOS
4 overloads
)
func ACOS
Overloads:
(ACOS :VEC4)
(ACOS :VEC3)
(ACOS :VEC2)
(ACOS :FLOAT)
Official GLSL Documentaion:
Name
acos — return the arccosine of the parameter
Parameters
x
Specify the value whose arccosine to return.
Description
atan returns the angle whose trigonometric cosine is x. The range of values
returned by acos is 0 π . The result is undefined if |x|>1.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
acos ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
ACOSH
4 overloads
)
func ACOSH
Overloads:
(ACOSH :VEC4)
(ACOSH :VEC3)
(ACOSH :VEC2)
(ACOSH :FLOAT)
Official GLSL Documentaion:
Name
acosh — return the arc hyperbolic cosine of the parameter
Parameters
x
Specify the value whose arc hyperbolic cosine to return.
Description
acosh returns the arc hyperbolic cosine of x; the non-negative inverse of cosh.
Results are undefined if x<1.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
acosh - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
ALL
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ALL :BVEC4)
(GLSL-SYMBOLS.FUNCTIONS:ALL :BVEC3)
(GLSL-SYMBOLS.FUNCTIONS:ALL :BVEC2)
Official GLSL Documentaion:
Name
all — check whether all elements of a boolean vector are true
Parameters
x
Specifies the vector to be tested for truth.
Description
all returns true if all elements of x are true and false otherwise. It is
functionally equivalent to:
bool all(bvec x) // bvec can be bvec2, bvec3 or bvec4
{
bool result = true;
int i;
for (i = 0; i < x.length(); ++i)
{
result &= x[i];
}
return result;
}
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
all ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
ALL-INVOCATION
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ALL-INVOCATION :BOOL)
-
ANY
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ANY :BVEC4)
(GLSL-SYMBOLS.FUNCTIONS:ANY :BVEC3)
(GLSL-SYMBOLS.FUNCTIONS:ANY :BVEC2)
Official GLSL Documentaion:
Name
any — check whether any element of a boolean vector is true
Parameters
x
Specifies the vector to be tested for truth.
Description
any returns true if any element of x is true and false otherwise. It is
functionally equivalent to:
bool any(bvec x) { // bvec can be bvec2, bvec3 or bvec4
bool result = false;
int i;
for (i = 0; i < x.length(); ++i) {
result |= x[i];
}
return result;
}
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
any ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
ANY-INVOCATION
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ANY-INVOCATION :BOOL)
-
ANY-INVOCATIONS-EQUAL
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ANY-INVOCATIONS-EQUAL :BOOL)
-
(
ASIN
4 overloads
)
func ASIN
Overloads:
(ASIN :VEC4)
(ASIN :VEC3)
(ASIN :VEC2)
(ASIN :FLOAT)
Official GLSL Documentaion:
Name
asin — return the arcsine of the parameter
Parameters
x
Specify the value whose arcsine to return.
Description
atan returns the angle whose trigonometric sine is x. The range of values
returned by asin is − π 2 π 2 . The result is undefined if |x|>1.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
asin ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
ASINH
4 overloads
)
func ASINH
Overloads:
(ASINH :VEC4)
(ASINH :VEC3)
(ASINH :VEC2)
(ASINH :FLOAT)
Official GLSL Documentaion:
Name
asinh — return the arc hyperbolic sine of the parameter
Parameters
x
Specify the value whose arc hyperbolic sine to return.
Description
asinh returns the arc hyperbolic sine of x; the inverse of sinh.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
asinh - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
ATAN
8 overloads
)
func ATAN
Overloads:
(ATAN :VEC4)
(ATAN :VEC3)
(ATAN :VEC2)
(ATAN :FLOAT)
(ATAN :VEC4 :VEC4)
(ATAN :VEC3 :VEC3)
(ATAN :VEC2 :VEC2)
(ATAN :FLOAT :FLOAT)
Official GLSL Documentaion:
Name
atan — return the arc-tangent of the parameters
Parameters
y
Specify the numerator of the fraction whose arctangent to return.
x
Specify the denominator of the fraction whose arctangent to return.
y_over_x
Specify the fraction whose arctangent to return.
Description
atan returns the angle whose trigonometric arctangent is y x or y_over_x,
depending on which overload is invoked. In the first overload, the signs of y
and x are used to determine the quadrant that the angle lies in. The values
returned by atan in this case are in the range − π π . Results are undefined if
x is zero.
For the second overload, atan returns the angle whose tangent is y_over_x.
Values returned in this case are in the range − π 2 π 2 .
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
atan ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
ATANH
4 overloads
)
func ATANH
Overloads:
(ATANH :VEC4)
(ATANH :VEC3)
(ATANH :VEC2)
(ATANH :FLOAT)
Official GLSL Documentaion:
Name
atanh — return the arc hyperbolic tangent of the parameter
Parameters
x
Specify the value whose arc hyperbolic tangent to return.
Description
atanh returns the arc hyperbolic tangent of x; the inverse of tanh. Results are
undefined if |x|>1.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
atanh ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
ATOMIC-COUNTER
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER :ATOMIC-UINT)
Official GLSL Documentaion:
Name
atomicCounter — return the current value of an atomic counter
Parameters
c
Specify the handle to the atomic counter whose value to return.
Description
atomicCounter returns the current value of of the atomic counter c.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
atomicCounter - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
ATOMIC-COUNTER-ADD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-ADD :ATOMIC-UINT :UINT32)
-
ATOMIC-COUNTER-AND
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-AND :ATOMIC-UINT :UINT32)
-
ATOMIC-COUNTER-COMP-SWAP
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-COMP-SWAP :ATOMIC-UINT :UINT32 :UINT32)
-
ATOMIC-COUNTER-DECREMENT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-DECREMENT :ATOMIC-UINT)
Official GLSL Documentaion:
Name
atomicCounterDecrement — atomically decrement a counter and return its new
value
Parameters
c
Specify the handle to the atomic counter to decrement.
Description
atomicCounterDecrement atomically decrements the value of the atomic counter c
and returns its new value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
atomicCounterDecrement - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
ATOMIC-COUNTER-EXCHANGE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-EXCHANGE :ATOMIC-UINT :UINT32)
-
ATOMIC-COUNTER-INCREMENT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-INCREMENT :ATOMIC-UINT)
Official GLSL Documentaion:
Name
atomicCounterIncrement — atomically increment a counter and return the prior
value
Parameters
c
Specify the handle to the atomic counter to increment.
Description
atomicCounterIncrement atomically increments the value of the atomic counter c
and returns its prior value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
atomicCounterIncrement - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
ATOMIC-COUNTER-MAX
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-MAX :ATOMIC-UINT :UINT32)
-
ATOMIC-COUNTER-MIN
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-MIN :ATOMIC-UINT :UINT32)
-
ATOMIC-COUNTER-OR
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-OR :ATOMIC-UINT :UINT32)
-
ATOMIC-COUNTER-SUBTRACT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-SUBTRACT :ATOMIC-UINT :UINT32)
-
ATOMIC-COUNTER-XOR
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ATOMIC-COUNTER-XOR :ATOMIC-UINT :UINT32)
-
BARRIER
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:BARRIER)
Official GLSL Documentaion:
Name
barrier — synchronize execution of multiple shader invocations
Declaration
void barrier( void);
Description
Available only in the Tessellation Control and Compute Shaders, barrier
provides a partially defined order of execution between shader invocations. For
any given static instance of barrier, in a tessellation control shader, all
invocations for a single input patch must enter it before any will be allowed
to continue beyond it. For any given static instance of barrier in a compute
shader, all invocations within a single work group must enter it before any are
allowed to continue beyond it. This ensures that values written by one
invocation prior to a given static instance of barrier can be safely read by
other invocations after their call to the same static instance of barrier.
Because invocations may execute in undefined order between these barrier calls,
the values of a per-vertex or per-patch output variable, or any shared variable
will be undefined in a number of cases.
barrier may only be placed inside the function main() of the tessellation
control shader, but may be placed anywhere in a compute shader. Calls to
barrier may not be placed within any control flow. Barriers are also disallowed
after a return statement in the function main().
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
barrier - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
BIT-COUNT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:BIT-COUNT :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:BIT-COUNT :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:BIT-COUNT :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:BIT-COUNT :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:BIT-COUNT :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:BIT-COUNT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:BIT-COUNT :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:BIT-COUNT :INT32)
Official GLSL Documentaion:
Name
bitCount — counts the number of 1 bits in an integer
Parameters
value
Specifies the value whose bits to count.
Description
bitCount returns the number of bits that are set to 1 in the binary
representation of value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
bitCount - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
BITFIELD-EXTRACT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-EXTRACT :UVEC4 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-EXTRACT :UVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-EXTRACT :UVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-EXTRACT :UINT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-EXTRACT :IVEC4 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-EXTRACT :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-EXTRACT :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-EXTRACT :INT32 :INT32 :INT32)
Official GLSL Documentaion:
Name
bitfieldExtract — extract a range of bits from an integer
Parameters
value
Specifies the integer from which to extract bits.
offset
Specifies the index of the first bit to extract.
bits
Specifies the number of bits to extract.
Description
bitfieldExtract extracts a subset of the bits of value and returns it in the
least significant bits of the result. The range of bits extracted is [offset,
offset + bits + 1].
For unsigned data types, the most significant bits of the result will be set to
zero. For signed data types, the most significant bits will be set to the value
of bit offset + base - 1 (i.e., it is sign extended to the width of the return
type).
If bits is zero, the result will be zero. The result will be undefined if
offset or bits is negative, or if the sum of offset and bits is greater than
the number of bits used to store the operand.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
bitfieldInsert - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
BITFIELD-INSERT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-INSERT :UVEC4 :UVEC4 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-INSERT :UVEC3 :UVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-INSERT :UVEC2 :UVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-INSERT :UINT32 :UINT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-INSERT :IVEC4 :IVEC4 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-INSERT :IVEC3 :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-INSERT :IVEC2 :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-INSERT :INT32 :INT32 :INT32 :INT32)
Official GLSL Documentaion:
Name
bitfieldInsert — insert a range of bits into an integer
Parameters
base
Specifies the integer into which to insert insert.
insert
Specifies the the value of the bits to insert.
offset
Specifies the index of the first bit to insert.
bits
Specifies the number of bits to insert.
Description
bitfieldInsert inserts the bits least significant bits of insert into base at
offset offset. The returned value will have bits [offset, offset + bits + 1]
taken from [0, bits - 1] of insert and all other bits taken directly from the
corresponding bits of base. If bits is zero, the result will simply be the
original value of base. The result will be undefined if offset or bits is
negative, or if the sum of offset and bits is greater than the number of bits
used to store the operand.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
bitfieldInsert - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
BITFIELD-REVERSE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-REVERSE :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-REVERSE :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-REVERSE :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-REVERSE :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-REVERSE :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-REVERSE :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-REVERSE :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:BITFIELD-REVERSE :INT32)
Official GLSL Documentaion:
Name
bitfieldReverse — reverse the order of bits in an integer
Parameters
value
Specifies the value whose bits to reverse.
Description
bitfieldReverse returns the reversal of the bits of value. The bit numbered n
will be taken from bit (bits - 1) - n of value, where bits is the total number
of bits used to represent value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
bitfieldReverse - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
BOOL
0 overloads
)
func BOOL
Overloads:
(GLSL-SYMBOLS.TYPES:BOOL :DOUBLE)
(GLSL-SYMBOLS.TYPES:BOOL :FLOAT)
(GLSL-SYMBOLS.TYPES:BOOL :UINT32)
(GLSL-SYMBOLS.TYPES:BOOL :INT32)
(GLSL-SYMBOLS.TYPES:BOOL :BOOL)
-
(
BVEC2
0 overloads
)
func BVEC2
Overloads:
(GLSL-SYMBOLS.TYPES:BVEC2 :BOOL :BOOL)
-
(
BVEC3
0 overloads
)
func BVEC3
Overloads:
(GLSL-SYMBOLS.TYPES:BVEC3 :BOOL :BOOL :BOOL)
(GLSL-SYMBOLS.TYPES:BVEC3 :BVEC2 :BOOL)
(GLSL-SYMBOLS.TYPES:BVEC3 :BOOL :BVEC2)
-
(
BVEC4
0 overloads
)
func BVEC4
Overloads:
(GLSL-SYMBOLS.TYPES:BVEC4 :BOOL :BOOL :BOOL :BOOL)
(GLSL-SYMBOLS.TYPES:BVEC4 :BOOL :BOOL :BVEC2)
(GLSL-SYMBOLS.TYPES:BVEC4 :BOOL :BVEC2 :BOOL)
(GLSL-SYMBOLS.TYPES:BVEC4 :BVEC2 :BOOL :BOOL)
(GLSL-SYMBOLS.TYPES:BVEC4 :BVEC3 :BOOL)
(GLSL-SYMBOLS.TYPES:BVEC4 :BOOL :BVEC3)
(GLSL-SYMBOLS.TYPES:BVEC4 :BVEC2 :BVEC2)
-
(
CEIL
8 overloads
)
func CEIL
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:CEIL :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:CEIL :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:CEIL :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:CEIL :FLOAT)
Official GLSL Documentaion:
Name
ceil — find the nearest integer that is greater than or equal to the parameter
Parameters
x
Specify the value to evaluate.
Description
ceil returns a value equal to the nearest integer that is greater than or equal
to x.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
ceil (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
ceil (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
CLAMP
28 overloads
)
func CLAMP
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :VEC4 :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :VEC4 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :VEC3 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :VEC2 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :UVEC4 :UVEC4 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :UVEC4 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :UVEC3 :UVEC3 :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :UVEC3 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :UVEC2 :UVEC2 :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :UVEC2 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :UINT32 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :IVEC4 :IVEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :IVEC4 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :IVEC3 :IVEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :IVEC2 :IVEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :DVEC4 :DVEC4 :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :DVEC4 :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :DVEC3 :DVEC3 :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :DVEC3 :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :DVEC2 :DVEC2 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :DVEC2 :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.FUNCTIONS:CLAMP :DOUBLE :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
clamp — constrain a value to lie between two further values
Parameters
x
Specify the value to constrain.
minVal
Specify the lower end of the range into which to constrain x.
maxVal
Specify the upper end of the range into which to constrain x.
Description
clamp returns the value of x constrained to the range minVal to maxVal. The
returned value is computed as min(max(x, minVal), maxVal).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
clamp (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
clamp (genIType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
clamp (genUType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
clamp (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
COS
Overloads:
(COS :VEC4)
(COS :VEC3)
(COS :VEC2)
(COS :FLOAT)
Official GLSL Documentaion:
Name
cos — return the cosine of the parameter
Parameters
angle
Specify the quantity, in radians, of which to return the cosine.
Description
cos returns the trigonometric cosine of angle.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
cos ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
COSH
4 overloads
)
func COSH
Overloads:
(COSH :VEC4)
(COSH :VEC3)
(COSH :VEC2)
(COSH :FLOAT)
Official GLSL Documentaion:
Name
cosh — return the hyperbolic cosine of the parameter
Parameters
x
Specify the value whose hyperbolic cosine to return.
Description
cosh returns the hyperbolic cosine of x. The hyperbolic cosine of x is computed
as e x + e − x 2 .
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
cosh - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
CROSS
2 overloads
)
func CROSS
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:CROSS :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:CROSS :DVEC3 :DVEC3)
Official GLSL Documentaion:
Name
cross — calculate the cross product of two vectors
Parameters
x
Specifies the first of two vectors
y
Specifies the second of two vectors
Description
cross returns the cross product of two vectors, x and y. i.e.,
( x [ 1 ] ⋅ y [ 2 ] − y [ 1 ] ⋅ x [ 2 ] x [ 2 ] ⋅ y [ 0 ] − y [ 2 ] ⋅ x [ 0 ] x
[ 0 ] ⋅ y [ 1 ] − y [ 1 ] ⋅ x [ 1 ] )
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
cross (vec3) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
cross (dvec3) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
D-FDX
4 overloads
)
func D-FDX
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:D-FDX :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX :FLOAT)
Official GLSL Documentaion:
Name
dFdx, dFdy — return the partial derivative of an argument with respect to x or
y
Parameters
p
Specifies the expression of which to take the partial derivative.
Description
Available only in the fragment shader, these functions return the partial
derivative of expression p with respect to the window $x$ coordinate (for
dFdx*) and $y$ coordinate (for dFdy*).
dFdxFine and dFdyFine calculate derivatives using local differencing based on
on the value of p for the current fragment and its immediate neighbor(s).
dFdxCoarse and dFdyCoarse calculate derivatives using local differencing based
on the value of p for the current fragment's neighbors, and will possibly, but
not necessarily, include the value for the current fragment. That is, over a
given area, the implementation can compute derivatives in fewer unique
locations than would be allowed for the corresponding dFdxFine and dFdyFine
functions.
dFdx returns either dFdxCoarse or dFdxFine. dFdy returns either dFdyCoarse or
dFdyFine. The implementation may choose which calculation to perform based upon
factors such as performance or the value of the API
GL_FRAGMENT_SHADER_DERIVATIVE_HINT hint.
Expressions that imply higher order derivatives such as dFdx(dFdx(n)) have
undefined results, as do mixed-order derivatives such as dFdx(dFdy(n)). It is
assumed that the expression p is continuous and therefore, expressions
evaluated via non-uniform control flow may be undefined.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
dFdx ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
dFdy ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
dFdxCoarse,
dFdxFine, - - - - - - - - - - - ✔
dFdyCoarse, dFdyFine
Copyright © 2011-2014 Khronos Group
-
D-FDX-COARSE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:D-FDX-COARSE :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX-COARSE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX-COARSE :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX-COARSE :FLOAT)
-
D-FDX-FINE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:D-FDX-FINE :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX-FINE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX-FINE :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:D-FDX-FINE :FLOAT)
-
(
D-FDY
4 overloads
)
func D-FDY
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:D-FDY :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY :FLOAT)
Official GLSL Documentaion:
-
D-FDY-COARSE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:D-FDY-COARSE :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY-COARSE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY-COARSE :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY-COARSE :FLOAT)
-
D-FDY-FINE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:D-FDY-FINE :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY-FINE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY-FINE :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:D-FDY-FINE :FLOAT)
-
DEGREES
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:DEGREES :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:DEGREES :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:DEGREES :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:DEGREES :FLOAT)
Official GLSL Documentaion:
Name
degrees — convert a quantity in radians to degrees
Parameters
radians
Specify the quantity, in radians, to be converted to degrees.
Description
degrees converts a quantity, specified in radians into degrees. That is, the
return value is 180⋅ radians π .
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
degrees ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
DETERMINANT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:DETERMINANT :MAT4)
(GLSL-SYMBOLS.FUNCTIONS:DETERMINANT :MAT3)
(GLSL-SYMBOLS.FUNCTIONS:DETERMINANT :MAT2)
(GLSL-SYMBOLS.FUNCTIONS:DETERMINANT :DMAT4)
(GLSL-SYMBOLS.FUNCTIONS:DETERMINANT :DMAT3)
(GLSL-SYMBOLS.FUNCTIONS:DETERMINANT :DMAT2)
Official GLSL Documentaion:
Name
determinant — calculate the determinant of a matrix
Parameters
m
Specifies the matrix of which to take the determinant.
Description
determinant returns the determinant of the matrix m.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
determinant (float) - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
determinant - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(double)
Copyright © 2011-2014 Khronos Group
-
(
DIFF
0 overloads
)
func DIFF
Overloads:
(VARI.GLSL:DIFF VARI.GLSL::V-DEPTH-RANGE-PARAMETERS)
-
DISCARD
Overloads:
(VARI.GLSL:DISCARD)
-
DISTANCE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:DISTANCE :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:DISTANCE :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:DISTANCE :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:DISTANCE :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:DISTANCE :DVEC2 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:DISTANCE :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
distance — calculate the distance between two points
Parameters
p0
Specifies the first of two points
p1
Specifies the second of two points
Description
distance returns the distance between the two points p0 and p1. i.e., length(p0
, p1);
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
distance (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
distance (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
DIVF
0 overloads
)
func -
DOT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:DOT :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:DOT :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:DOT :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:DOT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:DOT :DVEC2 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:DOT :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
dot — calculate the dot product of two vectors
Parameters
x
Specifies the first of two vectors
y
Specifies the second of two vectors
Description
dot returns the dot product of two vectors, x and y. i.e., x [ 0 ] ⋅ y [ 0 ] +
x [ 1 ] ⋅ y [ 1 ] + ...
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
dot (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
dot (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
DOUBLE
Overloads:
(GLSL-SYMBOLS.TYPES:DOUBLE :FLOAT)
(GLSL-SYMBOLS.TYPES:DOUBLE :BOOL)
(GLSL-SYMBOLS.TYPES:DOUBLE :UINT32)
(GLSL-SYMBOLS.TYPES:DOUBLE :INT32)
(GLSL-SYMBOLS.TYPES:DOUBLE :DOUBLE)
-
(
DVEC2
0 overloads
)
func DVEC2
Overloads:
(GLSL-SYMBOLS.TYPES:DVEC2 :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC2 :DOUBLE :DOUBLE)
-
(
DVEC3
0 overloads
)
func DVEC3
Overloads:
(GLSL-SYMBOLS.TYPES:DVEC3 :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC3 :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC3 :DOUBLE :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC3 :DVEC2 :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC3 :DOUBLE :DVEC2)
-
(
DVEC4
0 overloads
)
func DVEC4
Overloads:
(GLSL-SYMBOLS.TYPES:DVEC4 :DOUBLE :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC4 :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC4 :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC4 :DOUBLE :DOUBLE :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC4 :DOUBLE :DOUBLE :DVEC2)
(GLSL-SYMBOLS.TYPES:DVEC4 :DOUBLE :DVEC2 :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC4 :DVEC2 :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC4 :DVEC3 :DOUBLE)
(GLSL-SYMBOLS.TYPES:DVEC4 :DOUBLE :DVEC3)
(GLSL-SYMBOLS.TYPES:DVEC4 :DVEC2 :DVEC2)
-
(
EMIT
0 overloads
)
func -
-
EMIT-STREAM-VERTEX
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:EMIT-STREAM-VERTEX :INT32)
Official GLSL Documentaion:
Name
EmitStreamVertex — emit a vertex to a specified stream
Parameters
stream
Specifies the stream upon which the vertex will be emitted.
Description
Available only in the Geometry Shader, EmitStreamVertex emits the current
values of output variables to the current output primitive on stream stream.
The argument stream must be a constant integral expression. On return from this
call, the value of all output variables for all streams are undefined.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
EmitStreamVertex - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
EMIT-VERTEX
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:EMIT-VERTEX)
Official GLSL Documentaion:
Name
EmitVertex — emit a vertex to the first vertex stream
Declaration
void EmitVertex( void);
Description
Available only in the Geometry Shader, EmitVertex emits the current values of
output variables to the current output primitive on the first (and possibly
only) primitive stream. It is equivalent to calling EmitStreamVertex with
stream set to 0.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
EmitVertex - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
See Also
EmitStreamVertex, EndStreamPrimitive, EndPrimitive
Copyright © 2011-2014 Khronos Group
-
END-PRIMITIVE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:END-PRIMITIVE)
Official GLSL Documentaion:
Name
EndPrimitive — complete the current output primitive on the first vertex stream
Declaration
void EndPrimitive( void);
Description
Available only in the Geometry Shader, EndPrimitive completes the current
output primitive on the first (and possibly only) vertex stream and starts a
new one.No vertex is emitted. Calling EndPrimitive is equivalent to calling
EmitStreamVertex with stream set to 0.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
EndPrimitive - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
See Also
EmitVertex, EmitStreamVertex, EndStreamPrimitive
Copyright © 2011-2014 Khronos Group
-
END-STREAM-PRIMITIVE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:END-STREAM-PRIMITIVE :INT32)
Official GLSL Documentaion:
Name
EndStreamPrimitive — complete the current output primitive on a specified
stream
Parameters
stream
Specifies the stream upon which the current primitive will be ended.
Description
Available only in the Geometry Shader, EndStreamPrimitive completes the current
output primitive on stream stream and starts a new one. The argument to stream
must be a constant integral expression. No vertex is emitted.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
EndStreamPrimitive - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
EQUAL
9 overloads
)
func EQUAL
Overloads:
(EQUAL COMPLEX COMPLEX)
(EQUAL VARI.TYPES:V-ARRAY VARI.TYPES:V-ARRAY)
(EQUAL :MAT4 :MAT4)
(EQUAL :MAT3 :MAT3)
(EQUAL :MAT2 :MAT2)
(EQUAL :DVEC4 :DVEC4)
(EQUAL :DVEC3 :DVEC3)
(EQUAL :DVEC2 :DVEC2)
(EQUAL :UVEC4 :UVEC4)
(EQUAL :UVEC3 :UVEC3)
(EQUAL :UVEC2 :UVEC2)
(EQUAL :IVEC4 :IVEC4)
(EQUAL :IVEC3 :IVEC3)
(EQUAL :IVEC2 :IVEC2)
(EQUAL :VEC4 :VEC4)
(EQUAL :VEC3 :VEC3)
(EQUAL :VEC2 :VEC2)
(EQUAL :SHORT-FLOAT :SHORT-FLOAT)
(EQUAL :DOUBLE :DOUBLE)
(EQUAL :FLOAT :FLOAT)
(EQUAL :UINT32 :UINT32)
(EQUAL :INT32 :INT32)
Returns T is both arguments are numbers with the same value, or in the case
of aggregates, if the are component-wise EQUAL.
EQUAL does not work on GLSL's opaque types
-
EXP
Overloads:
(EXP :VEC4)
(EXP :VEC3)
(EXP :VEC2)
(EXP :FLOAT)
Official GLSL Documentaion:
Name
exp — return the natural exponentiation of the parameter
Parameters
x
Specify the value to exponentiate.
Description
pow returns the natural exponentiation of x. i.e., ex.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
exp ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
EXP2
4 overloads
)
func EXP2
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:EXP2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:EXP2 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:EXP2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:EXP2 :FLOAT)
Official GLSL Documentaion:
Name
exp2 — return 2 raised to the power of the parameter
Parameters
x
Specify the value of the power to which 2 will be raised.
Description
exp2 returns 2 raised to the power of x. i.e., 2x.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
exp2 ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
FACEFORWARD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FACEFORWARD :VEC4 :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:FACEFORWARD :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:FACEFORWARD :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:FACEFORWARD :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:FACEFORWARD :DVEC2 :DVEC2 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:FACEFORWARD :DOUBLE :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
faceforward — return a vector pointing in the same direction as another
Parameters
N
Specifies the vector to orient.
I
Specifies the incident vector.
Nref
Specifies the reference vector.
Description
faceforward orients a vector to point away from a surface as defined by its
normal. If dot(Nref, I) < 0 faceforward returns N, otherwise it returns -N.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
faceforward (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
faceforward - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(genDType)
Copyright © 2011-2014 Khronos Group
-
FAR
Overloads:
(VARI.GLSL:FAR VARI.GLSL::V-DEPTH-RANGE-PARAMETERS)
-
FIND-LSB
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FIND-LSB :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:FIND-LSB :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:FIND-LSB :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:FIND-LSB :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:FIND-LSB :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:FIND-LSB :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:FIND-LSB :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:FIND-LSB :INT32)
Official GLSL Documentaion:
Name
findLSB — find the index of the least significant bit set to 1 in an integer
Parameters
value
Specifies the value whose bits to scan.
Description
findLSB returns the bit number of the least significant bit that is set to 1 in
the binary representation of value. If value is zero, -1 will be returned.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
findLSB - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
FIND-MSB
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FIND-MSB :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:FIND-MSB :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:FIND-MSB :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:FIND-MSB :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:FIND-MSB :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:FIND-MSB :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:FIND-MSB :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:FIND-MSB :INT32)
Official GLSL Documentaion:
Name
findMSB — find the index of the most significant bit set to 1 in an integer
Parameters
value
Specifies the value whose bits to scan.
Description
findMSB returns the bit number of the most significant bit that is set to 1 in
the binary representation of value. For positive integers, the result will be
the bit number of the most significant bit that is set to 1. For negative
integers, the result will be the bit number of the most significant bit set to
0. For a value of zero or negative 1, -1 will be returned.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
findMSB - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
FLOAT
0 overloads
)
func FLOAT
Overloads:
(FLOAT VARI.TYPES:V-REAL :DOUBLE)
(FLOAT VARI.TYPES:V-REAL :FLOAT)
(FLOAT :DOUBLE)
(FLOAT :BOOL)
(FLOAT :UINT32)
(FLOAT :INT32)
(FLOAT :FLOAT)
Converts any REAL to a float. If OTHER is not provided, it returns a
SINGLE-FLOAT if NUMBER is not already a FLOAT. If OTHER is provided, the
result is the same float format as OTHER.
-
FLOAT-BITS-TO-INT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FLOAT-BITS-TO-INT :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:FLOAT-BITS-TO-INT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:FLOAT-BITS-TO-INT :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:FLOAT-BITS-TO-INT :FLOAT)
Official GLSL Documentaion:
Name
floatBitsToInt — produce the encoding of a floating point value as an integer
Parameters
x
Specifies the value whose floating point encoding to return.
Description
floatBitsToInt and floatBitsToUint return the encoding of their floating-point
parameters as int or uint, respectively. The floating-point bit-level
representation is preserved.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
floatBitsToInt - - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔
floatBitsToUInt - - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
FLOAT-BITS-TO-UINT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FLOAT-BITS-TO-UINT :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:FLOAT-BITS-TO-UINT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:FLOAT-BITS-TO-UINT :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:FLOAT-BITS-TO-UINT :FLOAT)
-
(
FLOOR
8 overloads
)
func FLOOR
Overloads:
(FLOOR :VEC4)
(FLOOR :VEC3)
(FLOOR :VEC2)
(FLOOR :FLOAT)
Official GLSL Documentaion:
Name
floor — find the nearest integer less than or equal to the parameter
Parameters
x
Specify the value to evaluate.
Description
floor returns a value equal to the nearest integer that is less than or equal
to x.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
floor (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
floor (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
FMA
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FMA :VEC4 :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:FMA :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:FMA :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:FMA :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:FMA :DVEC2 :DVEC2 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:FMA :DOUBLE :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
fma — perform a fused multiply-add operation
Parameters
a
Specifies the first multiplicand.
b
Specifies the second multiplicand.
c
Specifies the value to be added to the result.
Description
fma performs, where possible, a fused multiply-add operation, returning a * b +
c. In use cases where the return value is eventually consumed by a variable
declared as precise:
• fma() is considered a single operation, whereas the expression a * b + c
consumed by a variable declared as precise is considered two operations.
• The precision of fma() can differ from the precision of the expression a *
b + c.
• fma() will be computed with the same precision as any other fma() consumed
by a precise variable, giving invariant results for the same input values
of a, b and c.
Otherwise, in the absense of precise consumption, there are no special
constraints on the number of operations or difference in precision between fma
() and the expression a * b + c.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
fma (genType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
fma (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
-
(
FRACT
8 overloads
)
func FRACT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FRACT :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:FRACT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:FRACT :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:FRACT :FLOAT)
Official GLSL Documentaion:
Name
fract — compute the fractional part of the argument
Parameters
x
Specify the value to evaluate.
Description
fract returns the fractional part of x. This is calculated as x - floor(x).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
fract (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
fract (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
FWIDTH
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH :FLOAT)
Official GLSL Documentaion:
Name
fwidth — return the sum of the absolute value of derivatives in x and y
Parameters
p
Specifies the expression of which to take the partial derivative.
Description
Available only in the fragment shader, these functions return the sum of the
absolute derivatives in $x$ and $y$ using local differencing for the input
argument p. fwidth is equivalent to abs(dFdx(p)) + abs(dFdy(p)) . fwidthCoarse
is equivalent to abs(dFdxCoarse(p)) + abs(dFdyCoarse(p)) . fwidthFine is
equivalent to abs(dFdxFine(p)) + abs(dFdyFine(p)) .
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
fwidth ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
fwidthCoarse, - - - - - - - - - - - ✔
fwidthFine
Copyright © 2011-2014 Khronos Group
-
FWIDTH-COARSE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH-COARSE :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH-COARSE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH-COARSE :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH-COARSE :FLOAT)
-
FWIDTH-FINE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH-FINE :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH-FINE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH-FINE :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:FWIDTH-FINE :FLOAT)
-
-
GREATER-THAN
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :UVEC4 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :IVEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :UVEC3 :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :IVEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :UVEC2 :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN :IVEC2 :IVEC2)
Official GLSL Documentaion:
Name
greaterThan — perform a component-wise greater-than comparison of two vectors
Parameters
x
Specifies the first vector to be used in the comparison operation.
y
Specifies the second vector to be used in the comparison operation.
Description
greaterThan returns a boolean vector in which each element i is computed as x[i
] > y[i].
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
greaterThan (vec) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
greaterThan (ivec) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
greaterThan (uvec) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
GREATER-THAN-EQUAL
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :UVEC4 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :IVEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :UVEC3 :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :IVEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :UVEC2 :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:GREATER-THAN-EQUAL :IVEC2 :IVEC2)
Official GLSL Documentaion:
Name
greaterThanEqual — perform a component-wise greater-than-or-equal comparison of
two vectors
Parameters
x
Specifies the first vector to be used in the comparison operation.
y
Specifies the second vector to be used in the comparison operation.
Description
greaterThanEqual returns a boolean vector in which each element i is computed
as x[i] ≥ y[i].
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
greaterThanEqual ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(vec)
greaterThanEqual ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(ivec)
greaterThanEqual - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(uvec)
Copyright © 2011-2014 Khronos Group
-
GROUP-MEMORY-BARRIER
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:GROUP-MEMORY-BARRIER)
Official GLSL Documentaion:
Name
groupMemoryBarrier — controls the ordering of memory transaction issued shader
invocation relative to a work group
Declaration
void groupMemoryBarrier( void);
Description
groupMemoryBarrier waits on the completion of all memory accesses performed by
an invocation of a compute shader relative to the same access performed by
other invocations in the same work group and then returns with no other effect.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
groupMemoryBarrier - - - - - - - - - ✔ ✔ ✔
See Also
memoryBarrier, memoryBarrierImage, memoryBarrierBuffer, memoryBarrierShared
Copyright © 2011-2014 Khronos Group
-
IMAGE-ATOMIC-ADD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :BUFFER-IMAGE :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :UIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :IIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-ADD :BUFFER-IMAGE :INT32 :INT32)
Official GLSL Documentaion:
Name
imageAtomicAdd — atomically add a value to an existing value in memory and
return the original value
Parameters
image
Specify the image unit into which to add data.
P
Specify the coordinate at which to add the data.
sample
When present, specifies the sample within the image to add into.
data
Specifies the data to add into the image.
Description
imageAtomicAdd atomically computes a new value by adding the value of data to
the contents of the texel at coordinate P and sample in the image bound to uint
image, stores that value into the image and returns the original value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageAtomicAdd - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-ATOMIC-AND
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :BUFFER-IMAGE :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :UIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :IIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-AND :BUFFER-IMAGE :INT32 :INT32)
Official GLSL Documentaion:
Name
imageAtomicAnd — atomically compute the logical AND of a value with an existing
value in memory, store that value and return the original value
Parameters
image
Specify the image unit into which to store data.
P
Specify the coordinate at which to store the data.
sample
When present, specifies the sample within the image to store into.
data
Specifies the data to logically AND into the image.
Description
imageAtomicAnd atomically computes a new value by logically ANDing the value of
data to the contents of the texel at coordinate P and sample in the image bound
to uint image, stores that value into the image and returns the original value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageAtomicAnd - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-ATOMIC-COMP-SWAP
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-CUBE-ARRAY :IVEC3
:UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-CUBE :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-3D :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D-RECT :IVEC2 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D-MS-ARRAY :IVEC3
:INT32 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D-MS :IVEC2 :INT32
:UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D-ARRAY :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D :IVEC2 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-1D-ARRAY :IVEC2 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-1D :INT32 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-CUBE-ARRAY :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-CUBE :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-3D :IVEC3 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D-RECT :IVEC2 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D-MS :IVEC2 :INT32
:UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D-ARRAY :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D :IVEC2 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-1D-ARRAY :IVEC2 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-1D :INT32 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-CUBE-ARRAY :IVEC3
:UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-CUBE :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-3D :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D-RECT :IVEC2 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D-MS-ARRAY :IVEC3
:INT32 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D-MS :IVEC2 :INT32
:UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D-ARRAY :IVEC3 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D :IVEC2 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-1D-ARRAY :IVEC2 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-1D :INT32 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :BUFFER-IMAGE :INT32 :UINT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-CUBE-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-CUBE :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-3D :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D-RECT :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D-MS-ARRAY :IVEC3
:INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D-MS :IVEC2 :INT32
:INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-2D :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-1D-ARRAY :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :UIMAGE-1D :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-CUBE-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-CUBE :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-3D :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D-RECT :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D-MS :IVEC2 :INT32
:INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-2D :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-1D-ARRAY :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IMAGE-1D :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-CUBE-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-CUBE :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-3D :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D-RECT :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D-MS-ARRAY :IVEC3
:INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D-MS :IVEC2 :INT32
:INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-2D :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-1D-ARRAY :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :IIMAGE-1D :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-COMP-SWAP :BUFFER-IMAGE :INT32 :INT32
:INT32)
Official GLSL Documentaion:
Name
imageAtomicCompSwap — atomically compares supplied data with that in memory and
conditionally stores it to memory
Parameters
image
Specify the image unit into which to compare and conditionally store data.
P
Specify the coordinate at which to compare and conditionally store the
data.
sample
When present, specifies the sample within the image to compare and
conditionally store into.
compare
Specifies the value to compare with the content of the image.
data
Specifies the value to store in the image if compare is equal to the
existing image content.
Description
imageAtomicCompSwap atomically compares the value of compare with that of the
texel at coordinate P and sample (for multisampled forms) in the image bound to
uint image. If the values are equal, data is stored into the texel, otherwise
it is discarded. It returns the original value of the texel regardless of the
result of the comparison operation.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageAtomicCompSwap - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-ATOMIC-EXCHANGE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-MS :IVEC2 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-MS :IVEC2 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-MS :IVEC2 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :BUFFER-IMAGE :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-CUBE-ARRAY :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-CUBE :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-3D :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-RECT :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-MS :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-MS :IVEC2 :INT32
:FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D-ARRAY :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-2D :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-1D-ARRAY :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :UIMAGE-1D :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-CUBE-ARRAY :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-CUBE :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-3D :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-RECT :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-MS :IVEC2 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D-ARRAY :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-2D :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-1D-ARRAY :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IMAGE-1D :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-CUBE-ARRAY :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-CUBE :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-3D :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-RECT :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-MS :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-MS :IVEC2 :INT32
:FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D-ARRAY :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-2D :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-1D-ARRAY :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :IIMAGE-1D :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :BUFFER-IMAGE :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-EXCHANGE :BUFFER-IMAGE :INT32 :FLOAT)
Official GLSL Documentaion:
Name
imageAtomicExchange — atomically store supplied data into memory and return the
original value from memory
Parameters
image
Specify the image unit into which to store data.
P
Specify the coordinate at which to store the data.
sample
When present, specifies the sample within the image to store into.
data
Specifies the data to exchange with that stored in the image.
Description
imageAtomicExchange atomically stores the value of data into the texel at
coordinate P and sample in the image bound to unit image, and returns the
original value of the texel.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageAtomicExchange - - - - - - - - ✔ ✔ ✔ ✔
(uint and int data)
imageAtomicExchange - - - - - - - - - - - ✔
(float data)
Copyright © 2011-2014 Khronos Group
-
IMAGE-ATOMIC-MAX
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :BUFFER-IMAGE :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :UIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :IIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MAX :BUFFER-IMAGE :INT32 :INT32)
Official GLSL Documentaion:
Name
imageAtomicMax — atomically compute the minimum of a value with an existing
value in memory, store that value and return the original value
Parameters
image
Specify the image unit into which to store data.
P
Specify the coordinate at which to store the data.
sample
When present, specifies the sample within the image to store into.
data
Specifies the data of which to take the minimum with that stored in the
image.
Description
imageAtomicMax atomically computes a new value by finding the maximum of the
value of data and the contents of the texel at coordinate P and sample in the
image bound to uint image, stores that value into the image and returns the
original value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageAtomicMax - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-ATOMIC-MIN
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :BUFFER-IMAGE :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :UIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :IIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-MIN :BUFFER-IMAGE :INT32 :INT32)
Official GLSL Documentaion:
Name
imageAtomicMin — atomically compute the minimum of a value with an existing
value in memory, store that value and return the original value
Parameters
image
Specify the image unit into which to store data.
P
Specify the coordinate at which to store the data.
sample
When present, specifies the sample within the image to store into.
data
Specifies the data of which to take the minimum with that stored in the
image.
Description
imageAtomicMin atomically computes a new value by finding the minimum of the
value of data and the contents of the texel at coordinate P and sample in the
image bound to uint image, stores that value into the image and returns the
original value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageAtomicMin - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-ATOMIC-OR
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :BUFFER-IMAGE :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :UIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D-MS-ARRAY :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :IIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-OR :BUFFER-IMAGE :INT32 :INT32)
Official GLSL Documentaion:
Name
imageAtomicOr — atomically compute the logical OR of a value with an existing
value in memory, store that value and return the original value
Parameters
image
Specify the image unit into which to store data.
P
Specify the coordinate at which to store the data.
sample
When present, specifies the sample within the image to store into.
data
Specifies the data to logically OR into the image.
Description
imageAtomicOr atomically computes a new value by logically ORing the value of
data to the contents of the texel at coordinate P and sample in the image bound
to uint image, stores that value into the image and returns the original value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageAtomicOr - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-ATOMIC-XOR
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-CUBE-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-CUBE :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-3D :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D-RECT :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D-MS :IVEC2 :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D-ARRAY :IVEC3 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-1D-ARRAY :IVEC2 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-1D :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :BUFFER-IMAGE :INT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :UIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-CUBE-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-CUBE :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D-MS :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :IIMAGE-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-ATOMIC-XOR :BUFFER-IMAGE :INT32 :INT32)
Official GLSL Documentaion:
Name
imageAtomicXor — atomically compute the logical exclusive OR of a value with an
existing value in memory, store that value and return the original value
Parameters
image
Specify the image unit into which to store data.
P
Specify the coordinate at which to store the data.
sample
When present, specifies the sample within the image to store into.
data
Specifies the data to logically XOR into the image.
Description
imageAtomicXor atomically computes a new value by logically XORing the value of
data to the contents of the texel at coordinate P and sample in the image bound
to uint image, stores that value into the image and returns the original value.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageAtomicXor - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-LOAD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-CUBE-ARRAY :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-CUBE :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-3D :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-2D-RECT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-2D-MS-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-2D-MS :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-2D-ARRAY :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-2D :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-1D-ARRAY :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IMAGE-1D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :BUFFER-IMAGE :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-CUBE-ARRAY :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-CUBE :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-3D :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-2D-RECT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-2D-MS :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-2D-ARRAY :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-2D :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-1D-ARRAY :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UIMAGE-1D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :UBUFFER-IMAGE :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-CUBE-ARRAY :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-CUBE :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-3D :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-2D-RECT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-2D-MS :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-2D-ARRAY :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-2D :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-1D-ARRAY :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IIMAGE-1D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-LOAD :IBUFFER-IMAGE :INT32)
Official GLSL Documentaion:
Name
imageLoad — load a single texel from an image
Parameters
image
Specify the image unit from which to load a texel.
P
Specify the coordinate from which to load the texel.
sample
When present, specifies the sample within the image to load
Description
imageLoad loads the texel at the coordinate P from the image unit image. For
multi-sample loads, the sample number is given by sample. When image, P, sample
identify a valid texel, the bits used to represent the selected texel in memory
are converted to a vec4, ivec4, or uvec4 in the manner described in the OpenGL
Specification and returned.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageLoad - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-SAMPLES
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SAMPLES :UIMAGE-2D-MS-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SAMPLES :UIMAGE-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SAMPLES :IMAGE-2D-MS-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SAMPLES :IMAGE-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SAMPLES :IIMAGE-2D-MS-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SAMPLES :IIMAGE-2D-MS)
Official GLSL Documentaion:
Name
imageSamples — return the number of samples of an image
Parameters
image
Specifies the image to which the texture is bound.
Description
imageSamples returns the number of samples per texel of the image bound to
image.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageSamples - - - - - - - - - - - ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-SIZE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-CUBE-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-3D)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-2D-MS-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-2D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-CUBE-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-3D)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-2D-MS-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-2D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-CUBE-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-3D)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-2D-MS-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-2D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-RECT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-CUBE)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-2D)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-1D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-RECT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-CUBE)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-2D)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-1D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-RECT)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-CUBE)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-2D)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-1D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-BUFFER)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :UIMAGE-1D)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-BUFFER)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IMAGE-1D)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-BUFFER)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-SIZE :IIMAGE-1D)
Official GLSL Documentaion:
Name
imageSize — retrieve the dimensions of an image
Parameters
image
Specifies the image to which the texture whose dimensions to retrieve is
bound.
Description
imageSize returns the dimensions of the image bound to image. The components in
the return value are filled in, in order, with the width, height and depth of
the image. For the array forms, the last component of the return value is the
number of layers in the texture array.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageSize - - - - - - - - - ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
IMAGE-STORE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-CUBE-ARRAY :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-CUBE-ARRAY :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-CUBE-ARRAY :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-CUBE :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-CUBE :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-CUBE :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-3D :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-3D :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-3D :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-RECT :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-RECT :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-RECT :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-MS-ARRAY :IVEC3 :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-MS :IVEC2 :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-MS :IVEC2 :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-MS :IVEC2 :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-ARRAY :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-ARRAY :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D-ARRAY :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-2D :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-1D-ARRAY :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-1D-ARRAY :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-1D-ARRAY :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-1D :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-1D :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :UIMAGE-1D :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-CUBE-ARRAY :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-CUBE-ARRAY :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-CUBE-ARRAY :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-CUBE :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-CUBE :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-CUBE :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-3D :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-3D :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-3D :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-RECT :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-RECT :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-RECT :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-MS-ARRAY :IVEC3 :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-MS-ARRAY :IVEC3 :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-MS-ARRAY :IVEC3 :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-MS :IVEC2 :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-MS :IVEC2 :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-MS :IVEC2 :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-ARRAY :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-ARRAY :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D-ARRAY :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-2D :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-1D-ARRAY :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-1D-ARRAY :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-1D-ARRAY :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-1D :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-1D :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IMAGE-1D :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-CUBE-ARRAY :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-CUBE-ARRAY :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-CUBE-ARRAY :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-CUBE :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-CUBE :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-CUBE :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-3D :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-3D :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-3D :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-RECT :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-RECT :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-RECT :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-MS-ARRAY :IVEC3 :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-MS :IVEC2 :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-MS :IVEC2 :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-MS :IVEC2 :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-ARRAY :IVEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-ARRAY :IVEC3 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D-ARRAY :IVEC3 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-2D :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-1D-ARRAY :IVEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-1D-ARRAY :IVEC2 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-1D-ARRAY :IVEC2 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-1D :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-1D :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :IIMAGE-1D :INT32 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :BUFFER-IMAGE :INT32 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :BUFFER-IMAGE :INT32 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:IMAGE-STORE :BUFFER-IMAGE :INT32 :IVEC4)
Official GLSL Documentaion:
Name
imageStore — write a single texel into an image
Parameters
image
Specify the image unit into which to store a texel.
P
Specify the coordinate at which to store the texel.
sample
When present, specifies the sample within the image to store into.
data
Specifies the data to store into the image.
Description
imageStore stores data into the texel at the coordinate P from the image
specified by image. For multi-sample stores, the sample number is given by
sample. When image, P, and sample identify a valid texel, the bits used to
represent data are converted to the format of the image unit in the manner
described in of the OpenGL Specification and stored to the specified texel.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
imageStore - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
INT
Overloads:
(GLSL-SYMBOLS.TYPES:INT :DOUBLE)
(GLSL-SYMBOLS.TYPES:INT :FLOAT)
(GLSL-SYMBOLS.TYPES:INT :BOOL)
(GLSL-SYMBOLS.TYPES:INT :UINT32)
(GLSL-SYMBOLS.TYPES:INT :INT32)
-
INT-BITS-TO-FLOAT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:INT-BITS-TO-FLOAT :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:INT-BITS-TO-FLOAT :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:INT-BITS-TO-FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:INT-BITS-TO-FLOAT :INT32)
Official GLSL Documentaion:
Name
intBitsToFloat, uintBitsToFloat — produce a floating point using an encoding
supplied as an integer
Parameters
x
Specifies the bit encoding to return as a floating point value.
Description
intBitsToFloat and uintBitsToFloat return the encoding passed in parameter x as
a floating-point value. If the encoding of a NaN is passed in x, it will not
signal and the resulting value will be undefined. If the encoding of a floating
point infinity is passed in parameter x, the resulting floating-point value is
the corresponding (positive or negative) floating point infinity.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
intBitsToFloat - - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
INTERPOLATE-AT-CENTROID
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-CENTROID :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-CENTROID :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-CENTROID :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-CENTROID :FLOAT)
Official GLSL Documentaion:
Name
interpolateAtCentroid — sample a varying at the centroid of a pixel
Parameters
interpolant
Specifies the interpolant to be sampled at the pixel centroid.
Description
interpolateAtCentroid returns the value of the input varying interpolant
sampled at a location inside both the pixel and the primitive being processed.
The value obtained would be the value assigned to the input variable if
declared with the centroid qualifier.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
interpolateAtCentroid - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
INTERPOLATE-AT-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-OFFSET :VEC4 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-OFFSET :VEC3 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-OFFSET :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-OFFSET :FLOAT :VEC2)
Official GLSL Documentaion:
Name
interpolateAtOffset — sample a varying at specified offset from the center of a
pixel
Parameters
interpolant
Specifies the interpolant to be sampled at the specified offset.
offset
Specifies the offset from the center of the pixel at which to sample
interpolant.
Description
interpolateAtOffset returns the value of the input varying interpolant sampled
at an offset from the center of the pixel specified by offset. The two
floating-point components of offset give the offset in pixels in the x and y
directions from the center of the pixel, respectively. An offset of (0, 0)
identifies the center of the pixel. The range and granularity of offsets
supported by this function is implementation-dependent.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
interpolateAtoOffset - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
INTERPOLATE-AT-SAMPLE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-SAMPLE :VEC4 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-SAMPLE :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-SAMPLE :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:INTERPOLATE-AT-SAMPLE :FLOAT :INT32)
Official GLSL Documentaion:
Name
interpolateAtSample — sample a varying at the location of a specified sample
Parameters
interpolant
Specifies the interpolant to be sampled at the location of sample sample.
sample
Specifies the index of the sample whose location will be used to sample
interpolant.
Description
interpolateAtSample returns the value of the input varying interpolant sampled
at the location of sample number sample. If multisample buffers are not
available, the input varying will be evaluated at the center of the pixel. If
sample sample does not exist, the position used to interpolate the input
varying is undefined.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
interpolateAtSample - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
INVERSE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:INVERSE :MAT4)
(GLSL-SYMBOLS.FUNCTIONS:INVERSE :MAT3)
(GLSL-SYMBOLS.FUNCTIONS:INVERSE :MAT2)
(GLSL-SYMBOLS.FUNCTIONS:INVERSE :DMAT4)
(GLSL-SYMBOLS.FUNCTIONS:INVERSE :DMAT3)
(GLSL-SYMBOLS.FUNCTIONS:INVERSE :DMAT2)
Official GLSL Documentaion:
Name
inverse — calculate the inverse of a matrix
Parameters
m
Specifies the matrix of which to take the inverse.
Description
inverse returns the inverse of the matrix m. The values in the returned matrix
are undefined if m is singular or poorly-conditioned (nearly singular).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
inverse (float) - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
inverse (double) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
INVERSESQRT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:INVERSESQRT :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:INVERSESQRT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:INVERSESQRT :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:INVERSESQRT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:INVERSESQRT :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:INVERSESQRT :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:INVERSESQRT :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:INVERSESQRT :DOUBLE)
Official GLSL Documentaion:
Name
inversesqrt — return the inverse of the square root of the parameter
Parameters
x
Specify the value of which to take the inverse of the square root.
Description
inversesqrt returns the inverse of the square root of x. i.e., the value 1x.
Results are undefined if x≤0.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
inversesqrt (genType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
inversesqrt - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(genDType)
Copyright © 2011-2014 Khronos Group
-
(
ISINF
8 overloads
)
func ISINF
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ISINF :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:ISINF :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:ISINF :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:ISINF :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:ISINF :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:ISINF :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:ISINF :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:ISINF :DOUBLE)
Official GLSL Documentaion:
Name
isinf — determine whether the parameter is positive or negative infinity
Parameters
x
Specifies the value to test for infinity.
Description
For each element element i of the result, isinf returns true if x[i] is
posititve or negative floating point infinity and false otherwise.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
isinf (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
isinf (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
ISNAN
8 overloads
)
func ISNAN
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ISNAN :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:ISNAN :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:ISNAN :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:ISNAN :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:ISNAN :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:ISNAN :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:ISNAN :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:ISNAN :DOUBLE)
Official GLSL Documentaion:
Name
isnan — determine whether the parameter is a number
Parameters
x
Specifies the value to test for NaN.
Description
For each element element i of the result, isinf returns true if x[i] is
posititve or negative floating point NaN (Not a Number) and false otherwise.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
isnan (genType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
isnan (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
IVEC2
0 overloads
)
func IVEC2
Overloads:
(GLSL-SYMBOLS.TYPES:IVEC2 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC2 :VEC2)
-
(
IVEC3
0 overloads
)
func IVEC3
Overloads:
(GLSL-SYMBOLS.TYPES:IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC3 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC3 :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC3 :IVEC2 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC3 :INT32 :IVEC2)
(GLSL-SYMBOLS.TYPES:IVEC3 :VEC3)
-
(
IVEC4
0 overloads
)
func IVEC4
Overloads:
(GLSL-SYMBOLS.TYPES:IVEC4 :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC4 :INT32 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC4 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC4 :INT32 :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC4 :INT32 :INT32 :IVEC2)
(GLSL-SYMBOLS.TYPES:IVEC4 :INT32 :IVEC2 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC4 :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC4 :IVEC3 :INT32)
(GLSL-SYMBOLS.TYPES:IVEC4 :INT32 :IVEC3)
(GLSL-SYMBOLS.TYPES:IVEC4 :IVEC2 :IVEC2)
(GLSL-SYMBOLS.TYPES:IVEC4 :VEC4)
-
-
(
LDEXP
8 overloads
)
func LDEXP
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:LDEXP :VEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:LDEXP :VEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:LDEXP :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:LDEXP :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:LDEXP :DVEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:LDEXP :DVEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:LDEXP :DVEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:LDEXP :DOUBLE :INT32)
Official GLSL Documentaion:
Name
ldexp — assemble a floating point number from a value and exponent
Parameters
x
Specifies the value to be used as a source of significand.
out exp
Specifies the value to be used as a source of exponent.
Description
ldexp builds a floating point number from x and the corresponding integral
exponent of two in exp, returning:
significand ⋅ 2 exponent
If this product is too large to be represented in the floating point type, the
result is undefined.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
ldexp (genType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
ldexp (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
LENGTH
Overloads:
(LENGTH VARI.TYPES:V-ARRAY)
(LENGTH :VEC4)
(LENGTH :VEC3)
(LENGTH :VEC2)
(LENGTH :FLOAT)
(LENGTH :DVEC2)
(LENGTH :DOUBLE)
Official GLSL Documentaion:
Name
length — calculate the length of a vector
Parameters
x
Specifies a vector of which to calculate the length.
Description
length returns the length of the vector. i.e., x[0] 2 + x[1] 2 + …
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
length (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
length (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
LESS-THAN
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :UVEC4 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :IVEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :UVEC3 :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :IVEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :UVEC2 :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN :IVEC2 :IVEC2)
Official GLSL Documentaion:
Name
lessThan — perform a component-wise less-than comparison of two vectors
Parameters
x
Specifies the first vector to be used in the comparison operation.
y
Specifies the second vector to be used in the comparison operation.
Description
lessThan returns a boolean vector in which each element i is computed as x[i] <
y[i].
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
lessThan (vec) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
lessThan (ivec) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
lessThan (uvec) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
LESS-THAN-EQUAL
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :UVEC4 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :IVEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :UVEC3 :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :IVEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :UVEC2 :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:LESS-THAN-EQUAL :IVEC2 :IVEC2)
Official GLSL Documentaion:
Name
lessThanEqual — perform a component-wise less-than-or-equal comparison of two
vectors
Parameters
x
Specifies the first vector to be used in the comparison operation.
y
Specifies the second vector to be used in the comparison operation.
Description
lessThanEqual returns a boolean vector in which each element i is computed as x
[i] ≤ y[i].
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
lessThanEqual (vec) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
lessThanEqual ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(ivec)
lessThanEqual - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(uvec)
Copyright © 2011-2014 Khronos Group
-
-
LOG
Overloads:
(LOG :FLOAT :FLOAT)
(LOG :VEC4)
(LOG :VEC3)
(LOG :VEC2)
(LOG :FLOAT)
Official GLSL Documentaion:
Name
log — return the natural logarithm of the parameter
Parameters
x
Specify the value of which to take the natural logarithm.
Description
log returns the natural logarithm of x. i.e., the value y which satisfies x=ey.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
log (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
LOG2
4 overloads
)
func LOG2
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:LOG2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:LOG2 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:LOG2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:LOG2 :FLOAT)
Official GLSL Documentaion:
Name
log2 — return the base 2 logarithm of the parameter
Parameters
x
Specify the value of which to take the base 2 logarithm.
Description
log2 returns the base 2 logarithm of x. i.e., the value y which satisfies x=2y.
Results are undefined if x≤0.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
log2 ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
MAT2
0 overloads
)
func MAT2
Overloads:
(GLSL-SYMBOLS.TYPES:MAT2 :VEC2 :VEC2)
(GLSL-SYMBOLS.TYPES:MAT2 :FLOAT :FLOAT :FLOAT :FLOAT)
-
(
MAT3
0 overloads
)
func MAT3
Overloads:
(GLSL-SYMBOLS.TYPES:MAT3 :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.TYPES:MAT3 :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT
:FLOAT :FLOAT)
-
(
MAT4
0 overloads
)
func MAT4
Overloads:
(GLSL-SYMBOLS.TYPES:MAT4 :VEC4 :VEC4 :VEC4 :VEC4)
(GLSL-SYMBOLS.TYPES:MAT4 :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT
:FLOAT :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT :FLOAT)
-
MATRIX-COMP-MULT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT4X4 :MAT4X4)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT4X3 :MAT4X3)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT4X2 :MAT4X2)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT4 :MAT4)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT3X4 :MAT3X4)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT3X3 :MAT3X3)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT3X2 :MAT3X2)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT3 :MAT3)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT2X4 :MAT2X4)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT2X3 :MAT2X3)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT2X2 :MAT2X2)
(GLSL-SYMBOLS.FUNCTIONS:MATRIX-COMP-MULT :MAT2 :MAT2)
Official GLSL Documentaion:
Name
matrixCompMult — perform a component-wise multiplication of two matrices
Parameters
x
Specifies the first matrix multiplicand.
y
Specifies the second matrix multiplicand.
Description
matrixCompMult performs a component-wise multiplication of two matrices,
yielding a result matrix where each component, result[i][j] is computed as the
scalar product of x[i][j] and y[i][j].
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
matrixCompMult ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(genType)
matrixCompMult - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(genDType)
Copyright © 2011-2014 Khronos Group
-
(
MAX
32 overloads
)
func MAX
Overloads:
(MAX :VEC4 :VEC4)
(MAX :VEC4 :FLOAT)
(MAX :VEC3 :VEC3)
(MAX :VEC3 :FLOAT)
(MAX :VEC2 :VEC2)
(MAX :VEC2 :FLOAT)
(MAX :UVEC4 :UVEC4)
(MAX :UVEC4 :UINT32)
(MAX :UVEC3 :UVEC3)
(MAX :UVEC3 :UINT32)
(MAX :UVEC2 :UVEC2)
(MAX :UVEC2 :UINT32)
(MAX :UINT32 :UINT32)
(MAX :IVEC4 :IVEC4)
(MAX :IVEC4 :INT32)
(MAX :IVEC3 :IVEC3)
(MAX :IVEC3 :INT32)
(MAX :IVEC2 :IVEC2)
(MAX :IVEC2 :INT32)
(MAX :INT32 :INT32)
(MAX :FLOAT :FLOAT)
(MAX :DVEC4 :DVEC4)
(MAX :DVEC4 :DOUBLE)
(MAX :DVEC3 :DVEC3)
(MAX :DVEC3 :DOUBLE)
(MAX :DVEC2 :DVEC2)
(MAX :DVEC2 :DOUBLE)
(MAX :DOUBLE :DOUBLE)
(MAX :UVEC4)
(MAX :UVEC3)
(MAX :UVEC2)
(MAX :UINT32)
(MAX :IVEC4)
(MAX :IVEC3)
(MAX :IVEC2)
(MAX :INT32)
(MAX :VEC4)
(MAX :VEC3)
(MAX :VEC2)
(MAX :FLOAT)
Official GLSL Documentaion:
Name
max — return the greater of two values
Parameters
x
Specify the first value to compare.
y
Specify the second value to compare.
Description
max returns the maximum of the two parameters. It returns y if y is greater
than x, otherwise it returns x.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
max (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
max (genIType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
max (genUType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
max (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
MEMORY-BARRIER
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:MEMORY-BARRIER)
Official GLSL Documentaion:
Name
memoryBarrier — controls the ordering of memory transactions issued by a single
shader invocation
Declaration
uint memoryBarrier( void);
Description
memoryBarrier waits on the completion of all memory accesses resulting from the
use of image variables or atomic counters and then returns with no other
effect. When this function returns, the results of any memory stores performed
using coherent variables performed prior to the call will be visible to any
future coherent memory access to the same addresses from other shader
invocations. In particular, the values written this way in one shader stage are
guaranteed to be visible to coherent memory accesses performed by shader
invocations in subsequent stages when those invocations were triggered by the
execution of the original shader invocation (e.g., fragment shader invocations
for a primitive resulting from a particular geometry shader invocation).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
memoryBarrier - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
See Also
imageLoad, imageStore, imageAtomicAdd, imageAtomicMin, imageAtomicMax,
imageAtomicXor, imageAtomicOr, imageAtomicAnd, imageAtomicExchange,
imageAtomicCompSwap, groupMemoryBarrier, memoryBarrierImage,
memoryBarrierBuffer, memoryBarrierShared
Copyright © 2011-2014 Khronos Group
-
MEMORY-BARRIER-ATOMIC-COUNTER
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:MEMORY-BARRIER-ATOMIC-COUNTER)
Official GLSL Documentaion:
Name
memoryBarrierAtomicCounter — controls the ordering of operations on atomic
counters issued by a single shader invocation
Declaration
void memoryBarrierAtomicCounter( void);
Description
memoryBarrierAtomicCounter waits on the completion of all accesses resulting
from the use of atomic counters and then returns with no other effect. When
this function returns, the results of any modifications to the value of atomic
counters will be visible to any access to the same counter from other shader
invocations. In particular, any modifications made in one shader stage are
guaranteed to be visible to accesses performed by shader invocations in
subsequent stages when those invocations were triggered by the execution of the
original shader invocation (e.g., fragment shader invocations for a primitive
resulting from a particular geometry shader invocation).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
memoryBarrierAtomicCounter - - - - - - - - - ✔ ✔ ✔
See Also
memoryBarrier
Copyright © 2011-2014 Khronos Group
-
MEMORY-BARRIER-BUFFER
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:MEMORY-BARRIER-BUFFER)
Official GLSL Documentaion:
Name
memoryBarrierBuffer — controls the ordering of operations on buffer variables
issued by a single shader invocation
Declaration
void memoryBarrierBuffer( void);
Description
memoryBarrierBuffer waits on the completion of all memory accesses resulting
from the use of buffer variables and then returns with no other effect. When
this function returns, the results of any modifications to the content of
buffer variables will be visible to any access to the same buffer from other
shader invocations. In particular, any modifications made in one shader stage
are guaranteed to be visible to accesses performed by shader invocations in
subsequent stages when those invocations were triggered by the execution of the
original shader invocation (e.g., fragment shader invocations for a primitive
resulting from a particular geometry shader invocation).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
memoryBarrierBuffer - - - - - - - - - ✔ ✔ ✔
See Also
memoryBarrier, memoryBarrierImage, memoryBarrierShared, groupMemoryBarrier
Copyright © 2011-2014 Khronos Group
-
MEMORY-BARRIER-IMAGE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:MEMORY-BARRIER-IMAGE)
Official GLSL Documentaion:
Name
memoryBarrierImage — controls the ordering of operations on image variables
issued by a single shader invocation
Declaration
void memoryBarrierImage( void);
Description
memoryBarrierImage waits on the completion of all memory accesses resulting
from the use of image variables and then returns with no other effect. When
this function returns, the results of any modifications to the content of image
variables will be visible to any access to the same buffer from other shader
invocations. In particular, any modifications made in one shader stage are
guaranteed to be visible to accesses performed by shader invocations in
subsequent stages when those invocations were triggered by the execution of the
original shader invocation (e.g., fragment shader invocations for a primitive
resulting from a particular geometry shader invocation).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
memoryBarrierImage - - - - - - - - - ✔ ✔ ✔
See Also
memoryBarrier, memoryBarrierShared, memoryBarrierBuffer, groupMemoryBarrier
Copyright © 2011-2014 Khronos Group
-
MEMORY-BARRIER-SHARED
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:MEMORY-BARRIER-SHARED)
Official GLSL Documentaion:
Name
memoryBarrierShared — controls the ordering of operations on shared variables
issued by a single shader invocation
Declaration
void memoryBarrierShared( void);
Description
memoryBarrierShared waits on the completion of all memory accesses resulting
from the use of shared variables and then returns with no other effect. When
this function returns, the results of any modifications to the content of
shared variables will be visible to any access to the same buffer from other
shader invocations. In particular, any modifications made in one shader stage
are guaranteed to be visible to accesses performed by shader invocations in
subsequent stages when those invocations were triggered by the execution of the
original shader invocation (e.g., fragment shader invocations for a primitive
resulting from a particular geometry shader invocation).
memoryBarrierShared is available only in the compute language.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
memoryBarrierShared - - - - - - - - - ✔ ✔ ✔
See Also
memoryBarrier, memoryBarrierImage, memoryBarrierBuffer, groupMemoryBarrier
Copyright © 2011-2014 Khronos Group
-
(
MIN
32 overloads
)
func MIN
Overloads:
(MIN :VEC4 :VEC4)
(MIN :VEC4 :FLOAT)
(MIN :VEC3 :VEC3)
(MIN :VEC3 :FLOAT)
(MIN :VEC2 :VEC2)
(MIN :VEC2 :FLOAT)
(MIN :UVEC4 :UVEC4)
(MIN :UVEC4 :UINT32)
(MIN :UVEC3 :UVEC3)
(MIN :UVEC3 :UINT32)
(MIN :UVEC2 :UVEC2)
(MIN :UVEC2 :UINT32)
(MIN :UINT32 :UINT32)
(MIN :IVEC4 :IVEC4)
(MIN :IVEC4 :INT32)
(MIN :IVEC3 :IVEC3)
(MIN :IVEC3 :INT32)
(MIN :IVEC2 :IVEC2)
(MIN :IVEC2 :INT32)
(MIN :INT32 :INT32)
(MIN :FLOAT :FLOAT)
(MIN :DVEC4 :DVEC4)
(MIN :DVEC4 :DOUBLE)
(MIN :DVEC3 :DVEC3)
(MIN :DVEC3 :DOUBLE)
(MIN :DVEC2 :DVEC2)
(MIN :DVEC2 :DOUBLE)
(MIN :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
min — return the lesser of two values
Parameters
x
Specify the first value to compare.
y
Specify the second value to compare.
Description
min returns the minimum of the two parameters. It returns y if y is less than x
, otherwise it returns x.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
min (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
min (genIType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
min (genUType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
min (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
MIX
26 overloads
)
func MIX
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:MIX :VEC4 :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:MIX :VEC4 :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:MIX :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:MIX :VEC3 :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:MIX :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:MIX :VEC2 :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:MIX :UVEC4 :UVEC4 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:MIX :UVEC3 :UVEC3 :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:MIX :UVEC2 :UVEC2 :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:MIX :UINT32 :UINT32 :UINT32)
(GLSL-SYMBOLS.FUNCTIONS:MIX :IVEC4 :IVEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:MIX :IVEC3 :IVEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:MIX :IVEC2 :IVEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:MIX :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:MIX :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:MIX :DVEC4 :DVEC4 :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:MIX :DVEC4 :DVEC4 :DOUBLE)
(GLSL-SYMBOLS.FUNCTIONS:MIX :DVEC3 :DVEC3 :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:MIX :DVEC3 :DVEC3 :DOUBLE)
(GLSL-SYMBOLS.FUNCTIONS:MIX :DVEC2 :DVEC2 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:MIX :DVEC2 :DVEC2 :DOUBLE)
(GLSL-SYMBOLS.FUNCTIONS:MIX :DOUBLE :DOUBLE :DOUBLE)
(GLSL-SYMBOLS.FUNCTIONS:MIX :BVEC4 :BVEC4 :BVEC4)
(GLSL-SYMBOLS.FUNCTIONS:MIX :BVEC3 :BVEC3 :BVEC3)
(GLSL-SYMBOLS.FUNCTIONS:MIX :BVEC2 :BVEC2 :BVEC2)
(GLSL-SYMBOLS.FUNCTIONS:MIX :BOOL :BOOL :BOOL)
Official GLSL Documentaion:
Name
mix — linearly interpolate between two values
Parameters
x
Specify the start of the range in which to interpolate.
y
Specify the end of the range in which to interpolate.
a
Specify the value to use to interpolate between x and y.
Description
mix performs a linear interpolation between x and y using a to weight between
them. The return value is computed as $x \times (1 - a) + y \times a$.
The variants of mix where a is genBType select which vector each returned
component comes from. For a component of a that is false, the corresponding
component of x is returned. For a component of a that is true, the
corresponding component of y is returned. Components of x and y that are not
selected are allowed to be invalid floating-point values and will have no
effect on the results.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
mix(genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
mix(genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
mix(genIType), mix
(genUType), mix - - - - - - - - - - - ✔
(genBType)
Copyright © 2011-2014 Khronos Group
-
MOD
Overloads:
(MOD :VEC4 :FLOAT)
(MOD :VEC3 :FLOAT)
(MOD :VEC2 :FLOAT)
(MOD :FLOAT :FLOAT)
(MOD :DVEC4 :DOUBLE)
(MOD :DVEC3 :DOUBLE)
(MOD :DVEC2 :DOUBLE)
(MOD :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
mod — compute value of one parameter modulo another
Parameters
x
Specify the value to evaluate.
Description
mod returns the value of x modulo y. This is computed as x - y * floor(x/y).
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
mod (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
mod (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
MULTF
0 overloads
)
func -
(
NEAR
0 overloads
)
func NEAR
Overloads:
(VARI.GLSL:NEAR VARI.GLSL::V-DEPTH-RANGE-PARAMETERS)
-
NOISE1
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:NOISE1 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:NOISE1 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:NOISE1 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:NOISE1 :FLOAT)
-
NOISE2
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:NOISE2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:NOISE2 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:NOISE2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:NOISE2 :FLOAT)
-
NOISE3
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:NOISE3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:NOISE3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:NOISE3 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:NOISE3 :FLOAT)
-
NOISE4
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:NOISE4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:NOISE4 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:NOISE4 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:NOISE4 :FLOAT)
-
NORMALIZE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:NORMALIZE :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:NORMALIZE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:NORMALIZE :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:NORMALIZE :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:NORMALIZE :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:NORMALIZE :DOUBLE)
Official GLSL Documentaion:
Name
normalize — calculate the normalize product of two vectors
Parameters
v
Specifies the vector to normalize.
Description
normalize returns a vector with the same direction as its parameter, v, but
with length 1.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
normalize (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
normalize - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(genDType)
Copyright © 2011-2014 Khronos Group
-
NOT
Overloads:
(NOT VARI.TYPES:V-TYPE)
(NOT :BOOL)
(NOT :BVEC4)
(NOT :BVEC3)
(NOT :BVEC2)
Official GLSL Documentaion:
Name
not — logically invert a boolean vector
Parameters
x
Specifies the vector to be inverted.
Description
not logically inverts the boolean vector x. It returns a new boolean vector for
which each element i is computed as !x[i].
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
not ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
NOT-EQUAL
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :UVEC4 :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :IVEC4 :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :UVEC3 :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :IVEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :UVEC2 :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:NOT-EQUAL :IVEC2 :IVEC2)
Official GLSL Documentaion:
Name
notEqual — perform a component-wise not-equal-to comparison of two vectors
Parameters
x
Specifies the first vector to be used in the comparison operation.
y
Specifies the second vector to be used in the comparison operation.
Description
notEqual returns a boolean vector in which each element i is computed as x[i] !
= y[i].
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
notEqual (vec) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
notEqual (ivec) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
notEqual (uvec) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
OUTER-PRODUCT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC3 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC2 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC4 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC2 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC4 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC3 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC3 :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC2 :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC4 :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC4 :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC2 :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC3 :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC4 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC3 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:OUTER-PRODUCT :DVEC2 :DVEC2)
Official GLSL Documentaion:
Name
outerProduct — calculate the outer product of a pair of vectors
Parameters
c
Specifies the parameter to be treated as a column vector.
r
Specifies the parameter to be treated as a row vector.
Description
outerProduct treats the first parameter c as a column vector (matrix with one
column) and the second parameter r as a row vector (matrix with one row) and
does a linear algebraic matrix multiply c * r, yielding a matrix whose number
of rows is the number of components in c and whose number of columns is the
number of components in r.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
outerProduct (float) - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
outerProduct - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(double)
Copyright © 2011-2014 Khronos Group
-
PACK-DOUBLE2X32
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:PACK-DOUBLE2X32 :UVEC2)
Official GLSL Documentaion:
Name
packDouble2x32 — create a double-precision value from a pair of unsigned
integers
Parameters
v
Specifies a vector of two unsigned integers to be packed into a single
double-precision result.
Description
packDouble2x32 packs the component of parameter v into a 64-bit value. If an
IEEE-754 infinity or NaN is created, it will not signal and the resulting
floating-point value is undefined. Otherwise, the bit-level representation of v
is preserved. The first vector component (v[0]) specifies the 32 least
significant bits of the result; the second component (v[1]) specifies the 32
most significant bits.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
packDouble2x32 - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
PACK-HALF2X16
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:PACK-HALF2X16 :VEC2)
Official GLSL Documentaion:
Name
packHalf2x16 — convert two 32-bit floating-point quantities to 16-bit
quantities and pack them into a single 32-bit integer
Parameters
v
Specify a vector of two 32-bit floating point values that are to be
converted to 16-bit representation and packed into the result.
Description
packHalf2x16 returns an unsigned integer obtained by converting the components
of a two-component floating-point vector to the 16-bit floating-point
representation found in the OpenGL Specification, and then packing these two
16-bit integers into a 32-bit unsigned integer. The first vector component
specifies the 16 least-significant bits of the result; the second component
specifies the 16 most-significant bits.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
packHalf2x16 - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
PACK-SNORM2X16
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:PACK-SNORM2X16 :VEC2)
-
PACK-SNORM4X8
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:PACK-SNORM4X8 :VEC4)
-
PACK-UNORM2X16
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:PACK-UNORM2X16 :VEC2)
-
PACK-UNORM4X8
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:PACK-UNORM4X8 :VEC4)
-
POW
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:POW :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:POW :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:POW :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:POW :FLOAT :FLOAT)
Official GLSL Documentaion:
Name
pow — return the value of the first parameter raised to the power of the second
Parameters
x
Specify the value to raise to the power y.
y
Specify the power to which to raise x.
Description
pow returns the value of x raised to the y power. i.e., xy. Results are
undefined if x< or if x=0 and y=0.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
pow ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
RADIANS
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:RADIANS :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:RADIANS :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:RADIANS :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:RADIANS :FLOAT)
Official GLSL Documentaion:
Name
radians — convert a quantity in degrees to radians
Parameters
degrees
Specify the quantity, in degrees, to be converted to radians.
Description
radians converts a quantity, specified in degrees into radians. That is, the
return value is π⋅degrees 180 .
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
radians ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
REFLECT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:REFLECT :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:REFLECT :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:REFLECT :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:REFLECT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:REFLECT :DVEC2 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:REFLECT :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
reflect — calculate the reflection direction for an incident vector
Parameters
I
Specifies the incident vector.
N
Specifies the normal vector.
Description
For a given incident vector I and surface normal N reflect returns the
reflection direction calculated as I - 2.0 * dot(N, I) * N.
N should be normalized in order to achieve the desired result.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
reflect (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
reflect (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
REFRACT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:REFRACT :VEC4 :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:REFRACT :VEC3 :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:REFRACT :VEC2 :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:REFRACT :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:REFRACT :DVEC2 :DVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:REFRACT :DOUBLE :DOUBLE :FLOAT)
Official GLSL Documentaion:
Name
refract — calculate the refraction direction for an incident vector
Parameters
I
Specifies the incident vector.
N
Specifies the normal vector.
eta
Specifies the ratio of indices of refraction.
Description
For a given incident vector I, surface normal N and ratio of indices of
refraction, eta, refract returns the refraction vector, R.
R is calculated as:
k = 1.0 - eta * eta * (1.0 - dot(N, I) * dot(N, I));
if (k < 0.0)
R = genType(0.0); // or genDType(0.0)
else
R = eta * I - (eta * dot(N, I) + sqrt(k)) * N;
The input parameters I and N should be normalized in order to achieve the
desired result.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
refract (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
refract (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
ROUND
6 overloads
)
func ROUND
Overloads:
(ROUND :VEC4)
(ROUND :VEC3)
(ROUND :VEC2)
(ROUND :FLOAT)
(ROUND :DVEC2)
(ROUND :DOUBLE)
Official GLSL Documentaion:
Name
round — find the nearest integer less than or equal to the parameter
Parameters
x
Specify the value to evaluate.
Description
round returns a value equal to the nearest integer to x. The fraction 0.5 will
round in a direction chosen by the implementation, presumably the direction
that is fastest. This includes the possibility that round(x) returns the same
value as roundEven(x) for all values of x.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
round (genType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
round (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
ROUND-EVEN
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:ROUND-EVEN :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:ROUND-EVEN :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:ROUND-EVEN :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:ROUND-EVEN :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:ROUND-EVEN :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:ROUND-EVEN :DOUBLE)
Official GLSL Documentaion:
Name
roundEven — find the nearest even integer to the parameter
Parameters
x
Specify the value to evaluate.
Description
roundEven returns a value equal to the nearest integer to x. The fractional
part of 0.5 will round toward the nearest even integer. For example, both 3.5
and 4.5 will round to 4.0.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
roundEven (genType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
roundEven - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(genDType)
Copyright © 2011-2014 Khronos Group
-
(
SIGN
10 overloads
)
func SIGN
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:SIGN :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :IVEC4)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :INT32)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:SIGN :DOUBLE)
Official GLSL Documentaion:
Name
sign — extract the sign of the parameter
Parameters
x
Specify the value from which to extract the sign.
Description
sign returns -1.0 if x is less than 0.0, 0.0 if x is equal to 0.0, and +1.0 if
x is greater than 0.0.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
sign (genType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
sign (genIType) - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
sign (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
SIN
Overloads:
(SIN :VEC4)
(SIN :VEC3)
(SIN :VEC2)
(SIN :FLOAT)
Official GLSL Documentaion:
Name
sin — return the sine of the parameter
Parameters
angle
Specify the quantity, in radians, of which to return the sine.
Description
sin returns the trigonometric sine of angle.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
sin ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
SINH
4 overloads
)
func SINH
Overloads:
(SINH :VEC4)
(SINH :VEC3)
(SINH :VEC2)
(SINH :FLOAT)
Official GLSL Documentaion:
Name
sinh — return the hyperbolic sine of the parameter
Parameters
x
Specify the value whose hyperbolic sine to return.
Description
sinh returns the hyperbolic sine of x. The hyperbolic sine of x is computed as
e x − e − x 2 .
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
sinh - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
SMOOTHSTEP
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:SMOOTHSTEP :VEC4 :VEC4 :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:SMOOTHSTEP :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:SMOOTHSTEP :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:SMOOTHSTEP :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:SMOOTHSTEP :DVEC2 :DVEC2 :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:SMOOTHSTEP :DOUBLE :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
smoothstep — perform Hermite interpolation between two values
Parameters
edge0
Specifies the value of the lower edge of the Hermite function.
edge1
Specifies the value of the upper edge of the Hermite function.
x
Specifies the source value for interpolation.
Description
smoothstep performs smooth Hermite interpolation between 0 and 1 when edge0 < x
< edge1. This is useful in cases where a threshold function with a smooth
transition is desired. smoothstep is equivalent to:
genType t; /* Or genDType t; */
t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
return t * t * (3.0 - 2.0 * t);
Results are undefined if edge0 ≥ edge1.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
smoothstep (genType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
smoothstep - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(genDType)
Copyright © 2011-2014 Khronos Group
-
(
SQRT
6 overloads
)
func SQRT
Overloads:
(SQRT :VEC4)
(SQRT :VEC3)
(SQRT :VEC2)
(SQRT :FLOAT)
(SQRT :DVEC2)
(SQRT :DOUBLE)
Official GLSL Documentaion:
Name
sqrt — return the square root of the parameter
Parameters
x
Specify the value of which to take the square root.
Description
sqrt returns the square root of x. i.e., the value x. Results are undefined if
x<0.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
sqrt (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
sqrt (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
STEP
6 overloads
)
func STEP
Overloads:
(STEP :VEC4 :VEC4)
(STEP :VEC3 :VEC3)
(STEP :VEC2 :VEC2)
(STEP :FLOAT :FLOAT)
(STEP :DVEC2 :DVEC2)
(STEP :DOUBLE :DOUBLE)
Official GLSL Documentaion:
Name
step — generate a step function by comparing two values
Parameters
edge
Specifies the location of the edge of the step function.
x
Specify the value to be used to generate the step function.
Description
step generates a step function by comparing x to edge.
For element i of the return value, 0.0 is returned if x[i] < edge[i], and 1.0
is returned otherwise.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
step (genType) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
step (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
-
-
TAN
Overloads:
(TAN :VEC4)
(TAN :VEC3)
(TAN :VEC2)
(TAN :FLOAT)
Official GLSL Documentaion:
Name
tan — return the tangent of the parameter
Parameters
angle
Specify the quantity, in radians, of which to return the tangent.
Description
tan returns the trigonometric tangent of angle.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
tan ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
TANH
4 overloads
)
func TANH
Overloads:
(TANH :VEC4)
(TANH :VEC3)
(TANH :VEC2)
(TANH :FLOAT)
Official GLSL Documentaion:
Name
tanh — return the hyperbolic tangent of the parameter
Parameters
x
Specify the value whose hyperbolic tangent to return.
Description
tanh returns the hyperbolic tangent of x. The hyperbolic tangent of x is
computed as sinh x cosh x .
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
tanh - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
TEXEL-FETCH
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-BUFFER :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-2D-RECT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-2D-MS-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-2D-MS :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :SAMPLER-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :USAMPLER-BUFFER :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :USAMPLER-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :USAMPLER-2D-RECT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :USAMPLER-2D-MS :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :USAMPLER-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :USAMPLER-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :USAMPLER-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :USAMPLER-1D :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :ISAMPLER-BUFFER :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :ISAMPLER-3D :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :ISAMPLER-2D-RECT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :ISAMPLER-2D-MS :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :ISAMPLER-2D-ARRAY :IVEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :ISAMPLER-2D :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :ISAMPLER-1D-ARRAY :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH :ISAMPLER-1D :INT32 :INT32)
Official GLSL Documentaion:
Name
texelFetch — perform a lookup of a single texel within a texture
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
lod
If present, specifies the level-of-detail within the texture from which the
texel will be fetched.
sample
For multisampled fetches, specifies which sample within the texel from
which which will be returned.
Description
texelFetch performs a lookup of a single texel from texture coordinate P in the
texture bound to sampler. The array layer is specified in the last component of
P for array forms. The lod parameter (if present) specifies the level-of-detail
from which the texel will be fetched. The sample specifies which sample within
the texel will be returned when reading from a multi-sample texure.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
texelFetch - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
texelFetch
(gsampler2DRect, - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
gsamplerBuffer)
texelFetch
(gsampler2DMS, - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
gsampler2DMSArray)
Copyright © 2011-2014 Khronos Group
-
TEXEL-FETCH-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :SAMPLER-3D :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :SAMPLER-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :SAMPLER-2D-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :SAMPLER-2D :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :SAMPLER-1D-ARRAY :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :SAMPLER-1D :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :USAMPLER-3D :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :USAMPLER-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :USAMPLER-2D-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :USAMPLER-2D :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :USAMPLER-1D-ARRAY :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :USAMPLER-1D :INT32 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :ISAMPLER-3D :IVEC3 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :ISAMPLER-2D-RECT :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :ISAMPLER-2D-ARRAY :IVEC3 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :ISAMPLER-2D :IVEC2 :INT32 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :ISAMPLER-1D-ARRAY :IVEC2 :INT32
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXEL-FETCH-OFFSET :ISAMPLER-1D :INT32 :INT32 :INT32)
Official GLSL Documentaion:
Name
texelFetchOffset — perform a lookup of a single texel within a texture with an
offset
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
lod
If present, specifies the level-of-detail within the texture from which the
texel will be fetched.
offset
Specifies offset, in texels that will be applied to P before looking up the
texel.
Description
texelFetchOffset performs a lookup of a single texel from texture coordinate P
in the texture bound to sampler. Before fetching the texel, the offset
specified in offset is added to P. offset must be a constant expression. The
array layer is specified in the last component of P for array forms. The lod
parameter (if present) specifies the level-of-detail from which the texel will
be fetched. The sample parameter specifies which sample within the texel will
be returned when reading from a multi-sample texure.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
texelFetchOffset - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
texelFetchOffset - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
(gsampler2DRect)
texelFetchOffset
(gsampler2DMS, - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
gsampler2DMSArray)
Copyright © 2011-2014 Khronos Group
-
TEXTURE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-CUBE-ARRAY :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-CUBE-ARRAY :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-CUBE :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-3D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-3D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D-RECT :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D-ARRAY :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-1D-ARRAY :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-1D-ARRAY :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-1D :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-1D :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-CUBE-ARRAY :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-CUBE-ARRAY :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-CUBE :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-3D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-3D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-2D-RECT :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-2D-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-2D-ARRAY :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-2D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-1D-ARRAY :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-1D-ARRAY :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-1D :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :USAMPLER-1D :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-CUBE-ARRAY :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-CUBE-ARRAY :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-CUBE :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-3D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-3D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-2D-RECT :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-2D-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-2D-ARRAY :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-2D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-1D-ARRAY :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-1D-ARRAY :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-1D :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :ISAMPLER-1D :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-CUBE-SHADOW :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-CUBE-SHADOW :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-CUBE-ARRAY-SHADOW :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D-SHADOW :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D-SHADOW :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D-RECT-SHADOW :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D-ARRAY-SHADOW :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-2D-ARRAY-SHADOW :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-1D-SHADOW :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-1D-SHADOW :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-1D-ARRAY-SHADOW :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE :SAMPLER-1D-ARRAY-SHADOW :VEC3 :FLOAT)
Official GLSL Documentaion:
Name
texture — retrieves texels from a texture
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
bias
Specifies an optional bias to be applied during level-of-detail
computation.
compare
Specifies the value to which the fetched texel will be compared when
sampling from gsamplerCubeArrayShadow.
Description
texture samples texels from the texture bound to sampler at texture coordinate
P. An optional bias, specified in bias is included in the level-of-detail
computation that is used to choose mipmap(s) from which to sample.
For shadow forms, when compare is present, it is used as Dsub and the array
layer is specified in P.w. When compare is not present, the last component of P
is used as Dsub and the array layer is specified in the second to last
component of P. (The second component of P is unused for 1D shadow lookups.)
For non-shadow variants, the array layer comes from the last component of P.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
texture - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
texture
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
texture
(gsampler2DMS, - - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
gsampler2DMSArray)
texture
(gsamplerCubeArray - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
Copyright © 2011-2014 Khronos Group
-
TEXTURE-GATHER
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-CUBE-SHADOW :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-CUBE-ARRAY-SHADOW :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-CUBE-ARRAY :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-CUBE-ARRAY :VEC4 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-CUBE :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D-SHADOW :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D-RECT-SHADOW :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D-RECT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D-RECT :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D-ARRAY-SHADOW :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D-ARRAY :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :SAMPLER-2D :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-CUBE-ARRAY :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-CUBE-ARRAY :VEC4 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-CUBE :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-2D-RECT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-2D-RECT :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-2D-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-2D-ARRAY :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :USAMPLER-2D :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-CUBE-ARRAY :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-CUBE-ARRAY :VEC4 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-CUBE :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-2D-RECT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-2D-RECT :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-2D-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-2D-ARRAY :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER :ISAMPLER-2D :VEC2 :INT32)
Official GLSL Documentaion:
Name
textureGather — gathers four texels from a texture
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
comp
Specifies the component of the source texture that will be used to generate
the resulting vector.
refZ
Specifies the reference Z value used in the comparison for shadow forms.
Description
textureGather returns the value:
vec4(Sample_i0_j1(P, base).comp,
Sample_i1_j1(P, base).comp,
Sample_i1_j0(P, base).comp,
Sample_i0_j0(P, base).comp);
If specified, the value of comp must ba constant integer expression with a
value of 0, 1, 2, or 3, identifying the x, y, z or w component of the
four-component vector lookup result for each texel, respectively. If comp is
not specified, it is treated as 0, selecting the x component of each texel to
generate the result.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureGather - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
TEXTURE-GATHER-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D-SHADOW :VEC2 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D-RECT-SHADOW :VEC3
:FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D-RECT :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D-ARRAY-SHADOW :VEC3
:FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D-ARRAY :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :SAMPLER-2D :VEC2 :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :USAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :USAMPLER-2D-RECT :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :USAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :USAMPLER-2D-ARRAY :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :USAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :USAMPLER-2D :VEC2 :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :ISAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :ISAMPLER-2D-RECT :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :ISAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :ISAMPLER-2D-ARRAY :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :ISAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSET :ISAMPLER-2D :VEC2 :IVEC2 :INT32)
Official GLSL Documentaion:
Name
textureGatherOffset — gathers four texels from a texture with offset
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
comp
Specifies the component of the source texture that will be used to generate
the resulting vector.
refZ
Specifies the reference Z value used in the comparison for shadow forms.
offset
Specifies the offset from the specified texture coordinate P from which the
texels will be gathered.
Description
textureGatherOffset returns the value:
vec4(Sample_i0_j1(P + offset, base).comp,
Sample_i1_j1(P + offset, base).comp,
Sample_i1_j0(P + offset, base).comp,
Sample_i0_j1(P + offset, base).comp);
It perfoms as textureGather but with offset applied as described in
textureOffset, except that the implementation-dependent minimum and maximum
offset values are given by GL_MIN_PROGRRAM_TEXTURE_GATHER_OFFSET and
GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET, respectively.
If specified, the value of comp must ba constant integer expression with a
value of 0, 1, 2, or 3, identifying the x, y, z or w component of the
four-component vector lookup result for each texel, respectively. If comp is
not specified, it is treated as 0, selecting the x component of each texel to
generate the result.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureGatherOffset - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
TEXTURE-GATHER-OFFSETS
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D-SHADOW :VEC2 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D-RECT-SHADOW :VEC3
:FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D-RECT :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D-ARRAY-SHADOW :VEC3
:FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D-ARRAY :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :SAMPLER-2D :VEC2 :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :USAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :USAMPLER-2D-RECT :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :USAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :USAMPLER-2D-ARRAY :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :USAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :USAMPLER-2D :VEC2 :IVEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :ISAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :ISAMPLER-2D-RECT :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :ISAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :ISAMPLER-2D-ARRAY :VEC3 :IVEC2
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :ISAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GATHER-OFFSETS :ISAMPLER-2D :VEC2 :IVEC2 :INT32)
Official GLSL Documentaion:
Name
textureGatherOffsets — gathers four texels from a texture with an array of
offsets
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
comp
Specifies the component of the source texture that will be used to generate
the resulting vector.
refZ
Specifies the reference Z value used in the comparison for shadow forms.
offsets
Specifies an array of offsets from the specified texture coordinate P from
which the texels will be gathered.
Description
textureGatherOffsets operates identically to textureGatherOffset, except that
offsets is used to determine the location of the four texels to sample. Each of
the four texels is obtained by applying the offset in offsets as a (u, v)
coordinate offset to P, identifying the four-texel GL_LINEAR footprint, and
then selecting the texel i0i0 of that footprint. The specified values in
offsets must be set with constant integral expressions.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureGatherOffsets - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
TEXTURE-GRAD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-CUBE-ARRAY :VEC4 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-CUBE :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-3D :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-2D-RECT :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-2D-ARRAY :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-2D :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-1D-ARRAY :VEC2 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-1D :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :USAMPLER-CUBE-ARRAY :VEC4 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :USAMPLER-CUBE :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :USAMPLER-3D :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :USAMPLER-2D-RECT :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :USAMPLER-2D-ARRAY :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :USAMPLER-2D :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :USAMPLER-1D-ARRAY :VEC2 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :USAMPLER-1D :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :ISAMPLER-CUBE-ARRAY :VEC4 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :ISAMPLER-CUBE :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :ISAMPLER-3D :VEC3 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :ISAMPLER-2D-RECT :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :ISAMPLER-2D-ARRAY :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :ISAMPLER-2D :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :ISAMPLER-1D-ARRAY :VEC2 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :ISAMPLER-1D :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-2D-SHADOW :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-2D-RECT-SHADOW :VEC2 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-1D-SHADOW :VEC3 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD :SAMPLER-1D-ARRAY-SHADOW :VEC3 :FLOAT
:FLOAT)
Official GLSL Documentaion:
Name
textureGrad — perform a texture lookup with explicit gradients
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
dPdx
Specifies the partial derivative of P with respect to window x.
dPdy
Specifies the partial derivative of P with respect to window y.
Description
textureGrad performs a texture lookup at coordinate P from the texture bound to
sampler with explicit texture coordinate gradiends as specified in dPdx and
dPdy. Set:
δs δx = δP δx for a 1D texture, δP.s δx otherwise
δs δy = δP δy for a 1D texture, δP.s δy otherwise
δt δx = 0.0 for a 1D texture, δP.t δx otherwise
δt δy = 0.0 for a 1D texture, δP.t δy otherwise
δr δx = 0.0 for a 1D or 2D texture, δP.p δx otherwise
δr δy = 0.0 for a 1D or 2D texture, δP.p δy otherwise
For the cube version, the partial derivatives of P are assumed to be in the
coordinate system used before texture coordinates are projected onto the
appropriate cube face.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureGrad - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureGrad
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
textureGrad - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(gsamplerCubeArray)
Copyright © 2011-2014 Khronos Group
-
TEXTURE-GRAD-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-3D :VEC3 :VEC3 :VEC3
:IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-2D-RECT :VEC2 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-2D-ARRAY :VEC3 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-2D :VEC2 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-1D-ARRAY :VEC2 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-1D :FLOAT :FLOAT :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :USAMPLER-3D :VEC3 :VEC3 :VEC3
:IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :USAMPLER-2D-RECT :VEC2 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :USAMPLER-2D-ARRAY :VEC3 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :USAMPLER-2D :VEC2 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :USAMPLER-1D-ARRAY :VEC2 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :USAMPLER-1D :FLOAT :FLOAT :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :ISAMPLER-3D :VEC3 :VEC3 :VEC3
:IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :ISAMPLER-2D-RECT :VEC2 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :ISAMPLER-2D-ARRAY :VEC3 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :ISAMPLER-2D :VEC2 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :ISAMPLER-1D-ARRAY :VEC2 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :ISAMPLER-1D :FLOAT :FLOAT :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-2D-SHADOW :VEC3 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-2D-RECT-SHADOW :VEC3 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-2D-ARRAY-SHADOW :VEC3
:VEC2 :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-1D-SHADOW :VEC3 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-GRAD-OFFSET :SAMPLER-1D-ARRAY-SHADOW :VEC3
:FLOAT :FLOAT :INT32)
Official GLSL Documentaion:
Name
textureGradOffset — perform a texture lookup with explicit gradients and offset
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
dPdx
Specifies the partial derivative of P with respect to window x.
dPdy
Specifies the partial derivative of P with respect to window y.
offset
Specifies the offset to be applied to the texture coordinates before
sampling.
Description
textureGradOffset performs a texture lookup at coordinate P from the texture
bound to sampler with explicit texture coordinate gradiends as specified in
dPdx and dPdy. An explicit offset is also supplied in offset. textureGradOffset
consumes dPdx and dPdy as textureGrad and offset as textureOffset.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureGradOffset - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureGradOffset
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
Copyright © 2011-2014 Khronos Group
-
TEXTURE-LOD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-CUBE-ARRAY :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-CUBE :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-3D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-2D-ARRAY :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-2D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-1D-ARRAY :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-1D :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :USAMPLER-CUBE-ARRAY :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :USAMPLER-CUBE :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :USAMPLER-3D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :USAMPLER-2D-ARRAY :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :USAMPLER-2D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :USAMPLER-1D-ARRAY :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :USAMPLER-1D :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :ISAMPLER-CUBE-ARRAY :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :ISAMPLER-CUBE :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :ISAMPLER-3D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :ISAMPLER-2D-ARRAY :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :ISAMPLER-2D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :ISAMPLER-1D-ARRAY :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :ISAMPLER-1D :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-2D-SHADOW :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-1D-SHADOW :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD :SAMPLER-1D-ARRAY-SHADOW :VEC3 :FLOAT)
Official GLSL Documentaion:
Name
textureLod — perform a texture lookup with explicit level-of-detail
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
lod
Specifies the explicit level-of-detail
Description
textureLod performs a texture lookup at coordinate P from the texture bound to
sampler with an explicit level-of-detail as specified in lod. lod specifies
λbase and sets the partial derivatives as follows:
δ u δ x = 0 , δ v δ x = 0 , δ w δ x = 0 δ u δ y = 0 , δ v δ y = 0 , δ w δ y = 0
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureLod - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureLod
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
textureLod - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(gsamplerCubeArray)
Copyright © 2011-2014 Khronos Group
-
TEXTURE-LOD-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :SAMPLER-3D :VEC3 :FLOAT :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :SAMPLER-2D-ARRAY :VEC3 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :SAMPLER-2D :VEC2 :FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :SAMPLER-1D-ARRAY :VEC2 :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :SAMPLER-1D :FLOAT :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :USAMPLER-3D :VEC3 :FLOAT :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :USAMPLER-2D-ARRAY :VEC3 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :USAMPLER-2D :VEC2 :FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :USAMPLER-1D-ARRAY :VEC2 :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :USAMPLER-1D :FLOAT :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :ISAMPLER-3D :VEC3 :FLOAT :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :ISAMPLER-2D-ARRAY :VEC3 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :ISAMPLER-2D :VEC2 :FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :ISAMPLER-1D-ARRAY :VEC2 :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :ISAMPLER-1D :FLOAT :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :SAMPLER-2D-SHADOW :VEC4 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :SAMPLER-1D-SHADOW :VEC3 :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-LOD-OFFSET :SAMPLER-1D-ARRAY-SHADOW :VEC3
:FLOAT :INT32)
Official GLSL Documentaion:
Name
textureLodOffset — perform a texture lookup with explicit level-of-detail and
offset
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which the texture will be sampled.
lod
Specifies the explicit level-of-detail from which texels will be fetched.
offset
Specifies the offset that will be applied to P before texels are fetched.
Description
textureLodOffset performs a texture lookup at coordinate P from the texture
bound to sampler with an explicit level-of-detail as specified in lod. Behavior
is the same as in textureLod except that before sampling, offset is added to P.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureLodOffset - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureLodOffset
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
textureLodOffset - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
(gsamplerCubeArray)
Copyright © 2011-2014 Khronos Group
-
TEXTURE-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-3D :VEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-3D :VEC3 :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D-RECT :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D-ARRAY :VEC3 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D :VEC2 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-1D-ARRAY :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-1D-ARRAY :VEC2 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-1D :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-1D :FLOAT :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-3D :VEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-3D :VEC3 :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-2D-RECT :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-2D-ARRAY :VEC3 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-2D :VEC2 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-1D-ARRAY :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-1D-ARRAY :VEC2 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-1D :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :USAMPLER-1D :FLOAT :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-3D :VEC3 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-3D :VEC3 :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-2D-RECT :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-2D-ARRAY :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-2D-ARRAY :VEC3 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-2D :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-2D :VEC2 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-1D-ARRAY :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-1D-ARRAY :VEC2 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-1D :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :ISAMPLER-1D :FLOAT :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D-SHADOW :VEC4 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D-SHADOW :VEC4 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D-RECT-SHADOW :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-2D-ARRAY-SHADOW :VEC4 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-1D-SHADOW :VEC3 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-1D-SHADOW :VEC3 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-OFFSET :SAMPLER-1D-ARRAY-SHADOW :VEC3 :INT32)
Official GLSL Documentaion:
Name
textureOffset — perform a texture lookup with offset
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
offset
Specifies offset, in texels that will be applied to P before looking up the
texel.
Description
textureOffset performs a texture lookup at coordinate P from the texture bound
to sampler with an an additional offset, specified in texels in offset that
will be applied to the (u, v, w) texture coordinates before looking up each
texel. The offset value must be a constant expression. A limited range of
offset values are supported; the minimum and maximum offset values are
implementation-dependent and may be determined by querying
GL_MIN_PROGRAM_TEXEL_OFFSET and GL_MAX_PROGRAM_TEXEL_OFFSET, respectively.
Note that offset does not apply to the layer coordinate for texture arrays.
Also note that offsets are not supported for cube maps.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureOffset - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureOffset
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
Copyright © 2011-2014 Khronos Group
-
TEXTURE-PROJ
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-3D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-3D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D-RECT :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D-RECT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-1D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-1D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-1D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-1D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-3D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-3D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-2D-RECT :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-2D-RECT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-2D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-2D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-2D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-2D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-1D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-1D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-1D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :USAMPLER-1D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-3D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-3D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-2D-RECT :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-2D-RECT :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-2D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-2D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-2D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-2D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-1D :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-1D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-1D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :ISAMPLER-1D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D-SHADOW :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D-SHADOW :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-2D-RECT-SHADOW :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-1D-SHADOW :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ :SAMPLER-1D-SHADOW :VEC4 :FLOAT)
Official GLSL Documentaion:
Name
textureProj — perform a texture lookup with projection
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
bias
Specifies an optional bias to be applied during level-of-detail
computation.
Description
textureProj performs a texture lookup with projection. The texture coordinates
consumed from P, not including the last component of P, are divided by the last
component of P. The resulting 3rd component of P in the shadow forms is used as
Dref. After these values are computed, the texture lookup proceeds as in
texture.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureProj - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureProj
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
Copyright © 2011-2014 Khronos Group
-
TEXTURE-PROJ-GRAD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-3D :VEC4 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-2D-RECT :VEC4 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-2D-RECT :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-2D :VEC4 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-2D :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-1D :VEC4 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-1D :VEC2 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :USAMPLER-3D :VEC4 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :USAMPLER-2D-RECT :VEC4 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :USAMPLER-2D-RECT :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :USAMPLER-2D :VEC4 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :USAMPLER-2D :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :USAMPLER-1D :VEC4 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :USAMPLER-1D :VEC2 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :ISAMPLER-3D :VEC4 :VEC3 :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :ISAMPLER-2D-RECT :VEC4 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :ISAMPLER-2D-RECT :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :ISAMPLER-2D :VEC4 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :ISAMPLER-2D :VEC3 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :ISAMPLER-1D :VEC4 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :ISAMPLER-1D :VEC2 :FLOAT :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-2D-SHADOW :VEC4 :VEC2 :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-2D-RECT-SHADOW :VEC4 :VEC2
:VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD :SAMPLER-1D-SHADOW :VEC4 :FLOAT
:FLOAT)
Official GLSL Documentaion:
Name
textureProjGrad — perform a texture lookup with projection and explicit
gradients
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
dPdx
Specifies the partial derivative of P with respect to window x.
dPdy
Specifies the partial derivative of P with respect to window y.
Description
textureProjGrad performs a texture lookup with projection and explicit
gradients. The texture coordinates consumed from P, not including the last
component of P, are divided by the last component of P. The resulting 3rd
component of P in the shadow forms is used as Dref. After these values are
computed, the texture lookup proceeds as in textureGrad, passing dPdx and dPdy
as gradients.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureProjGrad - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureProjGrad
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
Copyright © 2011-2014 Khronos Group
-
TEXTURE-PROJ-GRAD-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-3D :VEC4 :VEC3 :VEC3
:IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-2D-RECT :VEC4 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-2D-RECT :VEC3 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-2D :VEC4 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-2D :VEC3 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-1D :VEC4 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-1D :VEC2 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :USAMPLER-3D :VEC4 :VEC3 :VEC3
:IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :USAMPLER-2D-RECT :VEC4 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :USAMPLER-2D-RECT :VEC3 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :USAMPLER-2D :VEC4 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :USAMPLER-2D :VEC3 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :USAMPLER-1D :VEC4 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :USAMPLER-1D :VEC2 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :ISAMPLER-3D :VEC4 :VEC3 :VEC3
:IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :ISAMPLER-2D-RECT :VEC4 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :ISAMPLER-2D-RECT :VEC3 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :ISAMPLER-2D :VEC4 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :ISAMPLER-2D :VEC3 :VEC2 :VEC2
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :ISAMPLER-1D :VEC4 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :ISAMPLER-1D :VEC2 :FLOAT
:FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-2D-SHADOW :VEC4 :VEC2
:VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-2D-RECT-SHADOW :VEC4
:VEC2 :VEC2 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-GRAD-OFFSET :SAMPLER-1D-SHADOW :VEC4
:FLOAT :FLOAT :INT32)
Official GLSL Documentaion:
Name
textureProjGradOffset — perform a texture lookup with projection, explicit
gradients and offset
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
dPdx
Specifies the partial derivative of P with respect to window x.
dPdy
Specifies the partial derivative of P with respect to window y.
offset
Specifies the offsets, in texels at which the texture will be sampled
relative to the projection of P.
Description
textureProjGradOffset performs a texture lookup with projection and explicit
gradients and offsets. The texture coordinates consumed from P, not including
the last component of P, are divided by the last component of P. The resulting
3rd component of P in the shadow forms is used as Dref. After these values are
computed, the texture lookup proceeds as in textureGradOffset, passing dPdx and
dPdy as gradients, and offset as the offset.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureProjGradOffset - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureProjGradOffset
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
Copyright © 2011-2014 Khronos Group
-
TEXTURE-PROJ-LOD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :SAMPLER-3D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :SAMPLER-2D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :SAMPLER-2D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :SAMPLER-1D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :SAMPLER-1D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :USAMPLER-3D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :USAMPLER-2D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :USAMPLER-2D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :USAMPLER-1D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :USAMPLER-1D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :ISAMPLER-3D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :ISAMPLER-2D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :ISAMPLER-2D :VEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :ISAMPLER-1D :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :ISAMPLER-1D :VEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :SAMPLER-2D-SHADOW :VEC4 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD :SAMPLER-1D-SHADOW :VEC4 :FLOAT)
Official GLSL Documentaion:
Name
textureProjLod — perform a texture lookup with projection and explicit
level-of-detail
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
lod
Specifies the explicit level-of-detail from which to fetch texels.
Description
textureProjLod performs a texture lookup with projection from an explicitly
specified level-of-detail. The texture coordinates consumed from P, not
including the last component of P, are divided by the last component of P. The
resulting 3rd component of P in the shadow forms is used as Dref. After these
values are computed, the texture lookup proceeds as in textureLod, with lod
used to specify the level-of-detail from which the texture will be sampled.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureProjLod - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
TEXTURE-PROJ-LOD-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :SAMPLER-3D :VEC4 :FLOAT :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :SAMPLER-2D :VEC4 :FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :SAMPLER-2D :VEC3 :FLOAT :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :SAMPLER-1D :VEC4 :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :SAMPLER-1D :VEC2 :FLOAT :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :USAMPLER-3D :VEC4 :FLOAT
:IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :USAMPLER-2D :VEC4 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :USAMPLER-2D :VEC3 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :USAMPLER-1D :VEC4 :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :USAMPLER-1D :VEC2 :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :ISAMPLER-3D :VEC4 :FLOAT
:IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :ISAMPLER-2D :VEC4 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :ISAMPLER-2D :VEC3 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :ISAMPLER-1D :VEC4 :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :ISAMPLER-1D :VEC2 :FLOAT
:INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :SAMPLER-2D-SHADOW :VEC4 :FLOAT
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-LOD-OFFSET :SAMPLER-1D-SHADOW :VEC4 :FLOAT
:INT32)
Official GLSL Documentaion:
Name
textureProjLodOffset — perform a texture lookup with projection and explicit
level-of-detail and offset
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which texture will be sampled.
lod
Specifies the explicit level-of-detail from which to fetch texels.
offset
Specifies the offset, in texels, to be applied to P before fetching texels.
Description
textureProjLodOffset performs a texture lookup with projection from an
explicitly specified level-of-detail with an offset applied to the texture
coordinates before sampling. The texture coordinates consumed from P, not
including the last component of P, are divided by the last component of P. The
resulting 3rd component of P in the shadow forms is used as Dref. After these
values are computed, the texture lookup proceeds as in textureLodOffset, with
lod used to specify the level-of-detail from which the texture will be sampled
and offset used to specifiy the offset, in texels, to be applied to the texture
coordinates before sampling.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureProjLodOffset - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
TEXTURE-PROJ-OFFSET
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-3D :VEC4 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-3D :VEC4 :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D-RECT :VEC4 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D :VEC4 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D :VEC4 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D :VEC3 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-1D :VEC4 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-1D :VEC4 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-1D :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-1D :VEC2 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-3D :VEC4 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-3D :VEC4 :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-2D-RECT :VEC4 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-2D :VEC4 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-2D :VEC4 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-2D :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-2D :VEC3 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-1D :VEC4 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-1D :VEC4 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-1D :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :USAMPLER-1D :VEC2 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-3D :VEC4 :IVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-3D :VEC4 :IVEC3 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-2D-RECT :VEC4 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-2D-RECT :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-2D :VEC4 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-2D :VEC4 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-2D :VEC3 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-2D :VEC3 :IVEC2 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-1D :VEC4 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-1D :VEC4 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-1D :VEC2 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :ISAMPLER-1D :VEC2 :INT32 :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D-SHADOW :VEC4 :IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D-SHADOW :VEC4 :IVEC2
:FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-2D-RECT-SHADOW :VEC4
:IVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-1D-SHADOW :VEC4 :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-PROJ-OFFSET :SAMPLER-1D-SHADOW :VEC4 :INT32
:FLOAT)
Official GLSL Documentaion:
Name
textureProjOffset — perform a texture lookup with projection and offset
Parameters
sampler
Specifies the sampler to which the texture from which texels will be
retrieved is bound.
P
Specifies the texture coordinates at which the texture will be sampled.
offset
Specifies the offset that is applied to P before sampling occurs.
bias
Specifies an optional bias to be applied during level-of-detail
computation.
Description
textureProjOffset performs a texture lookup with projection. The texture
coordinates consumed from P, not including the last component of P, are divided
by the last component of P. The resulting 3rd component of P in the shadow
forms is used as Dref. After these values are computed, the texture lookup
proceeds as in textureOffset, with the offset used to offset the computed
texture coordinates.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureProjOffset - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureProjOffset
(gsampler2DRect - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
Copyright © 2011-2014 Khronos Group
-
TEXTURE-QUERY-LEVELS
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :USAMPLER-CUBE-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :USAMPLER-CUBE)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :USAMPLER-3D)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :USAMPLER-2D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :USAMPLER-2D)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :USAMPLER-1D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :USAMPLER-1D)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-CUBE-SHADOW)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-CUBE-ARRAY-SHADOW)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-CUBE-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-CUBE)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-3D)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-2D-SHADOW)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-2D-ARRAY-SHADOW)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-2D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-2D)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-1D-SHADOW)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-1D-ARRAY-SHADOW)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-1D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :SAMPLER-1D)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :ISAMPLER-CUBE-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :ISAMPLER-CUBE)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :ISAMPLER-3D)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :ISAMPLER-2D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :ISAMPLER-2D)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :ISAMPLER-1D-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LEVELS :ISAMPLER-1D)
Official GLSL Documentaion:
Name
textureQueryLevels — compute the number of accessible mipmap levels of a
texture
Parameters
sampler
Specifies the sampler to which the texture whose mipmap level count will be
queried is bound.
Description
textureQueryLevels returns the number of accessible mipmap levels in the
texture associated with sampler.
If called on an incomplete texture, or if no texture is associated with sampler
, zero is returned.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureQueryLevels - - - - - - - - - ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
TEXTURE-QUERY-LOD
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :USAMPLER-CUBE-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :USAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :USAMPLER-3D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :USAMPLER-2D-ARRAY :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :USAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :USAMPLER-1D-ARRAY :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :USAMPLER-1D :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-CUBE-SHADOW :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-CUBE-ARRAY-SHADOW :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-CUBE-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-3D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-2D-SHADOW :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-2D-ARRAY-SHADOW :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-2D-ARRAY :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-1D-SHADOW :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-1D-ARRAY-SHADOW :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-1D-ARRAY :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :SAMPLER-1D :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :ISAMPLER-CUBE-ARRAY :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :ISAMPLER-CUBE :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :ISAMPLER-3D :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :ISAMPLER-2D-ARRAY :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :ISAMPLER-2D :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :ISAMPLER-1D-ARRAY :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-QUERY-LOD :ISAMPLER-1D :FLOAT)
Official GLSL Documentaion:
Name
textureQueryLod — compute the level-of-detail that would be used to sample from
a texture
Parameters
sampler
Specifies the sampler to which the texture whose level-of-detail will be
queried is bound.
P
Specifies the texture coordinates at which the level-of-detail will be
queried.
Description
Available only in the fragment shader, textureQueryLod computes the
level-of-detail that would be used to sample from a texture. The mipmap array
(s) that would be accessed is returned in the x component of the return value.
The computed level-of-detail relative to the base level is returned in the y
component of the return value.
If called on an incomplete texture, the result of the operation is undefined.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureQueryLod - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
TEXTURE-SAMPLES
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SAMPLES :USAMPLER-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SAMPLES :SAMPLER-2D-MS-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SAMPLES :SAMPLER-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SAMPLES :ISAMPLER-2D-MS)
Official GLSL Documentaion:
Name
textureSamples — return the number of samples of a texture
Parameters
sampler
Specifies the sampler to which the texture is bound.
Description
textureSamples returns the number of samples per texel of the texture bound to
sampler.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureSamples - - - - - - - - - - - ✔
Copyright © 2011-2014 Khronos Group
-
TEXTURE-SIZE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-3D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-2D-ARRAY :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-CUBE-ARRAY-SHADOW :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-CUBE-ARRAY :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-3D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-2D-MS-ARRAY)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-2D-ARRAY-SHADOW :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-2D-ARRAY :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-3D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-2D-ARRAY :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-RECT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-CUBE :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-2D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-1D-ARRAY :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-RECT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-CUBE-SHADOW :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-CUBE :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-2D-SHADOW :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-2D-RECT-SHADOW)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-2D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-1D-ARRAY-SHADOW :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-1D-ARRAY :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-RECT)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-CUBE :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-2D-MS)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-2D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-1D-ARRAY :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-BUFFER)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :USAMPLER-1D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-BUFFER)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-1D-SHADOW :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :SAMPLER-1D :INT32)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-BUFFER)
(GLSL-SYMBOLS.FUNCTIONS:TEXTURE-SIZE :ISAMPLER-1D :INT32)
Official GLSL Documentaion:
Name
textureSize — retrieve the dimensions of a level of a texture
Parameters
sampler
Specifies the sampler to which the texture whose dimensions to retrieve is
bound.
lod
Specifies the level of the texture for which to retrieve the dimensions.
Description
textureSize returns the dimensions of level lod (if present) of the texture
bound to sampler. The components in the return value are filled in, in order,
with the width, height and depth of the texture. For the array forms, the last
component of the return value is the number of layers in the texture array.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
textureSize - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
textureSize
(samplerBuffer, - - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
samplerRect{Shadow})
textureSize
(samplerCube - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
{Shadow})
Copyright © 2011-2014 Khronos Group
-
TRANSPOSE
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT3X4)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT2X4)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT4)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT4X3)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT2X3)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT3)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT4X2)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT3X2)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :MAT2)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT3X4)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT2X4)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT4)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT4X3)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT2X3)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT3)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT4X2)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT3X2)
(GLSL-SYMBOLS.FUNCTIONS:TRANSPOSE :DMAT2)
Official GLSL Documentaion:
Name
transpose — calculate the transpose of a matrix
Parameters
m
Specifies the matrix of which to take the transpose.
Description
transpose returns the transpose of the matrix m.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
transpose (float) - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
transpose (double) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
TRUNC
8 overloads
)
func TRUNC
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:TRUNC :VEC4)
(GLSL-SYMBOLS.FUNCTIONS:TRUNC :VEC3)
(GLSL-SYMBOLS.FUNCTIONS:TRUNC :VEC2)
(GLSL-SYMBOLS.FUNCTIONS:TRUNC :FLOAT)
(GLSL-SYMBOLS.FUNCTIONS:TRUNC :DVEC4)
(GLSL-SYMBOLS.FUNCTIONS:TRUNC :DVEC3)
(GLSL-SYMBOLS.FUNCTIONS:TRUNC :DVEC2)
(GLSL-SYMBOLS.FUNCTIONS:TRUNC :DOUBLE)
Official GLSL Documentaion:
Name
trunc — find the nearest integer less than or equal to the parameter
Parameters
x
Specify the value to evaluate.
Description
trunc returns a a value equal to the nearest integer to x whose absolute value
is not larger than the absolute value of x.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
trunc (genType) - - ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
trunc (genDType) - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
(
UINT
0 overloads
)
func UINT
Overloads:
(GLSL-SYMBOLS.TYPES:UINT :UINT32)
-
UINT-BITS-TO-FLOAT
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:UINT-BITS-TO-FLOAT :UVEC4)
(GLSL-SYMBOLS.FUNCTIONS:UINT-BITS-TO-FLOAT :UVEC3)
(GLSL-SYMBOLS.FUNCTIONS:UINT-BITS-TO-FLOAT :UVEC2)
(GLSL-SYMBOLS.FUNCTIONS:UINT-BITS-TO-FLOAT :UINT32)
-
UNPACK-DOUBLE2X32
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:UNPACK-DOUBLE2X32 :DOUBLE)
Official GLSL Documentaion:
Name
unpackDouble2x32 — produce two unsigned integers containing the bit encoding of
a double precision floating point value
Parameters
d
Specifies double precision value to break into a pair of unsigned integers.
Description
unpackDouble2x32 returns a two-component unsigned integer vector representation
of d. The bit-level representation of d is preserved. The first component of
the returned vector contains the 32 least significant bits of the double; the
second component consists the 32 most significant bits.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
unpackDouble2x32 - - - - - - ✔ ✔ ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
UNPACK-HALF2X16
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:UNPACK-HALF2X16 :UINT32)
Official GLSL Documentaion:
Name
unpackHalf2x16 — convert two 16-bit floating-point values packed into a single
32-bit integer into a vector of two 32-bit floating-point quantities
Parameters
v
Specify a single 32-bit unsigned integer values that contains two 16-bit
floating point values to be unpacked.
Description
unpackHalf2x16 returns a two-component floating-point vector with components
obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values,
interpreting those values as 16-bit floating-point numbers according to the
OpenGL Specification, and converting them to 32-bit floating-point values. The
first component of the vector is obtained from the 16 least-significant bits of
v; the second component is obtained from the 16 most-significant bits of v.
Version Support
OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
unpackHalf2x16 - - - - - - - - ✔ ✔ ✔ ✔
Copyright © 2011-2014 Khronos Group
-
UNPACK-SNORM2X16
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:UNPACK-SNORM2X16 :UINT32)
-
UNPACK-SNORM4X8
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:UNPACK-SNORM4X8 :UINT32)
-
UNPACK-UNORM2X16
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:UNPACK-UNORM2X16 :UINT32)
-
UNPACK-UNORM4X8
Overloads:
(GLSL-SYMBOLS.FUNCTIONS:UNPACK-UNORM4X8 :UINT32)
-
(
UVEC2
0 overloads
)
func UVEC2
Overloads:
(GLSL-SYMBOLS.TYPES:UVEC2 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC2 :UINT32 :UINT32)
-
(
UVEC3
0 overloads
)
func UVEC3
Overloads:
(GLSL-SYMBOLS.TYPES:UVEC3 :UINT32 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC3 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC3 :UINT32 :UINT32 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC3 :UVEC2 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC3 :UINT32 :UVEC2)
-
(
UVEC4
0 overloads
)
func UVEC4
Overloads:
(GLSL-SYMBOLS.TYPES:UVEC4 :UINT32 :UINT32 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC4 :UINT32 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC4 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC4 :UINT32 :UINT32 :UINT32 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC4 :UINT32 :UINT32 :UVEC2)
(GLSL-SYMBOLS.TYPES:UVEC4 :UINT32 :UVEC2 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC4 :UVEC2 :UINT32 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC4 :UVEC3 :UINT32)
(GLSL-SYMBOLS.TYPES:UVEC4 :UINT32 :UVEC3)
(GLSL-SYMBOLS.TYPES:UVEC4 :UVEC2 :UVEC2)
-
V-EQUAL
Overloads:
(VARI.GLSL:V-EQUAL :DVEC4 :DVEC4)
(VARI.GLSL:V-EQUAL :DVEC3 :DVEC3)
(VARI.GLSL:V-EQUAL :DVEC2 :DVEC2)
(VARI.GLSL:V-EQUAL :DOUBLE :DOUBLE)
(VARI.GLSL:V-EQUAL :UVEC4 :UVEC4)
(VARI.GLSL:V-EQUAL :UVEC3 :UVEC3)
(VARI.GLSL:V-EQUAL :UVEC2 :UVEC2)
(VARI.GLSL:V-EQUAL :UINT32 :UINT32)
(VARI.GLSL:V-EQUAL :IVEC4 :IVEC4)
(VARI.GLSL:V-EQUAL :IVEC3 :IVEC3)
(VARI.GLSL:V-EQUAL :IVEC2 :IVEC2)
(VARI.GLSL:V-EQUAL :INT32 :INT32)
(VARI.GLSL:V-EQUAL :VEC4 :VEC4)
(VARI.GLSL:V-EQUAL :VEC3 :VEC3)
(VARI.GLSL:V-EQUAL :VEC2 :VEC2)
(VARI.GLSL:V-EQUAL :FLOAT :FLOAT)
(VARI.GLSL:V-EQUAL VARI.TYPES:V-BVECTOR VARI.TYPES:V-BVECTOR)
-
(
V-NOT
0 overloads
)
func V-NOT
Overloads:
(VARI.GLSL:V-NOT VARI.TYPES:V-BVECTOR)
-
V-NOT-EQUAL
Overloads:
(VARI.GLSL:V-NOT-EQUAL :VEC4 :VEC4)
(VARI.GLSL:V-NOT-EQUAL :VEC3 :VEC3)
(VARI.GLSL:V-NOT-EQUAL :VEC2 :VEC2)
(VARI.GLSL:V-NOT-EQUAL :FLOAT :FLOAT)
(VARI.GLSL:V-NOT-EQUAL VARI.TYPES:V-BVECTOR VARI.TYPES:V-BVECTOR)
-
(
VEC2
0 overloads
)
func VEC2
Overloads:
(GLSL-SYMBOLS.TYPES:VEC2 :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC2 :FLOAT :FLOAT)
-
(
VEC3
0 overloads
)
func VEC3
Overloads:
(GLSL-SYMBOLS.TYPES:VEC3 :FLOAT :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC3 :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC3 :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC3 :VEC2 :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC3 :FLOAT :VEC2)
-
(
VEC4
0 overloads
)
func VEC4
Overloads:
(GLSL-SYMBOLS.TYPES:VEC4 :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC4 :FLOAT :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC4 :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC4 :FLOAT :FLOAT :FLOAT :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC4 :FLOAT :FLOAT :VEC2)
(GLSL-SYMBOLS.TYPES:VEC4 :FLOAT :VEC2 :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC4 :VEC2 :FLOAT :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC4 :VEC3 :FLOAT)
(GLSL-SYMBOLS.TYPES:VEC4 :FLOAT :VEC3)
(GLSL-SYMBOLS.TYPES:VEC4 :VEC2 :VEC2)
-
(
WHILE
0 overloads
)
func
-
-
*
Overloads:
(* :FLOAT :VEC4)
(* :FLOAT :VEC3)
(* :FLOAT :VEC2)
(* VARI.TYPES:V-VECTOR VARI.TYPES:V-REAL)
(* VARI.TYPES:V-MATRIX VARI.TYPES:V-REAL)
(* :MAT4 :VEC4)
(* :MAT3 :VEC3)
(* :MAT2 :VEC2)
(* VARI.TYPES:V-MATRIX VARI.TYPES:V-MATRIX)
(* :DVEC4 :DVEC4)
(* :DVEC3 :DVEC3)
(* :DVEC2 :DVEC2)
(* :UVEC4 :UVEC4)
(* :UVEC3 :UVEC3)
(* :UVEC2 :UVEC2)
(* :IVEC4 :IVEC4)
(* :IVEC3 :IVEC3)
(* :IVEC2 :IVEC2)
(* :VEC4 :VEC4)
(* :VEC3 :VEC3)
(* :VEC2 :VEC2)
(* VARI.TYPES:V-REAL VARI.TYPES:V-REAL)
(* VARI.TYPES:V-MATRIX)
(* VARI.TYPES:V-VECTOR)
(* VARI.TYPES:V-REAL)
(*)
Return the product of its arguments. With no args, returns 1.
-
+
Overloads:
(+ COMPLEX COMPLEX)
(+ :DVEC4 :DVEC4)
(+ :DVEC3 :DVEC3)
(+ :DVEC2 :DVEC2)
(+ :UVEC4 :UVEC4)
(+ :UVEC3 :UVEC3)
(+ :UVEC2 :UVEC2)
(+ :IVEC4 :IVEC4)
(+ :IVEC3 :IVEC3)
(+ :IVEC2 :IVEC2)
(+ :VEC4 :VEC4)
(+ :VEC3 :VEC3)
(+ :VEC2 :VEC2)
(+ VARI.TYPES:V-VECTOR)
(+ VARI.TYPES:V-REAL)
(+)
Return the sum of its arguments. With no args, returns 0.
-
++
Overloads:
(++ VARI.TYPES:V-REAL)
-
-
Overloads:
(- COMPLEX COMPLEX)
(- COMPLEX)
(- :DVEC4 :DVEC4)
(- :DVEC3 :DVEC3)
(- :DVEC2 :DVEC2)
(- :UVEC4 :UVEC4)
(- :UVEC3 :UVEC3)
(- :UVEC2 :UVEC2)
(- :IVEC4 :IVEC4)
(- :IVEC3 :IVEC3)
(- :IVEC2 :IVEC2)
(- :VEC4 :VEC4)
(- :VEC3 :VEC3)
(- :VEC2 :VEC2)
(- VARI.TYPES:V-REAL VARI.TYPES:V-REAL)
(- :VEC4)
(- :VEC3)
(- :VEC2)
(- VARI.TYPES:V-REAL)
Subtract the second and all subsequent arguments from the first;
or with one argument, negate the first argument.
-
/
Overloads:
(/ :DVEC4 :DVEC4)
(/ :DVEC3 :DVEC3)
(/ :DVEC2 :DVEC2)
(/ :UVEC4 :UVEC4)
(/ :UVEC3 :UVEC3)
(/ :UVEC2 :UVEC2)
(/ :IVEC4 :IVEC4)
(/ :IVEC3 :IVEC3)
(/ :IVEC2 :IVEC2)
(/ :VEC4 :VEC4)
(/ :VEC3 :VEC3)
(/ :VEC2 :VEC2)
(/ VARI.TYPES:V-VECTOR VARI.TYPES:V-REAL)
(/ VARI.TYPES:V-REAL VARI.TYPES:V-REAL)
(/ VARI.TYPES:V-VECTOR)
(/ VARI.TYPES:V-REAL)
Divide the first argument by each of the following arguments, in turn.
With one argument, return reciprocal.
-
/=
Overloads:
(/= COMPLEX COMPLEX)
(/= VARI.TYPES:V-ARRAY VARI.TYPES:V-ARRAY)
(/= :MAT4 :MAT4)
(/= :MAT3 :MAT3)
(/= :MAT2 :MAT2)
(/= :DVEC4 :DVEC4)
(/= :DVEC3 :DVEC3)
(/= :DVEC2 :DVEC2)
(/= :UVEC4 :UVEC4)
(/= :UVEC3 :UVEC3)
(/= :UVEC2 :UVEC2)
(/= :IVEC4 :IVEC4)
(/= :IVEC3 :IVEC3)
(/= :IVEC2 :IVEC2)
(/= :VEC4 :VEC4)
(/= :VEC3 :VEC3)
(/= :VEC2 :VEC2)
(/= :SHORT-FLOAT :SHORT-FLOAT)
(/= :DOUBLE :DOUBLE)
(/= :FLOAT :FLOAT)
(/= :UINT32 :UINT32)
(/= :INT32 :INT32)
Return T if no two of its arguments are numerically equal, NIL otherwise.
-
1+
Overloads:
(1+ VARI.TYPES:V-MATRIX)
(1+ VARI.TYPES:V-VECTOR)
(1+ VARI.TYPES:V-REAL)
Return NUMBER + 1.
-
1-
Overloads:
(1- VARI.TYPES:V-MATRIX)
(1- VARI.TYPES:V-VECTOR)
(1- VARI.TYPES:V-REAL)
Return NUMBER - 1.
-
<
Return T if its arguments are in strictly increasing order, NIL otherwise.
-
<=
Return T if arguments are in strictly non-decreasing order, NIL otherwise.
-
=
Overloads:
(= COMPLEX COMPLEX)
(= VARI.TYPES:V-TYPE)
(= VARI.TYPES:V-ARRAY VARI.TYPES:V-ARRAY)
(= :MAT4 :MAT4)
(= :MAT3 :MAT3)
(= :MAT2 :MAT2)
(= :DVEC4 :DVEC4)
(= :DVEC3 :DVEC3)
(= :DVEC2 :DVEC2)
(= :UVEC4 :UVEC4)
(= :UVEC3 :UVEC3)
(= :UVEC2 :UVEC2)
(= :IVEC4 :IVEC4)
(= :IVEC3 :IVEC3)
(= :IVEC2 :IVEC2)
(= :VEC4 :VEC4)
(= :VEC3 :VEC3)
(= :VEC2 :VEC2)
(= VARI.TYPES:V-REAL VARI.TYPES:V-REAL)
Return T if all of its arguments are numerically equal, NIL otherwise.
-
>
Return T if its arguments are in strictly decreasing order, NIL otherwise.
-
>=
Return T if arguments are in strictly non-increasing order, NIL otherwise.
-
ADJUSTABLE-ARRAY-P
Overloads:
(ADJUSTABLE-ARRAY-P VARI.TYPES:V-ARRAY)
Returns T is the array is adjustable, always returns NIL in Vari
-
AND
The macro and evaluates each form one at a time from left to right.
As soon as any form evaluates to nil, and returns nil without evaluating the
remaining forms. If all forms but the last evaluate to true values, and returns
the results produced by evaluating the last form.
-
AREF
Overloads:
(AREF (VARI.TYPES:V-BLOCK-ARRAY "n/a" VARI.TYPES:V-TYPE (*)) :INT32)
(AREF :MAT4X4 :INT32)
(AREF :MAT4X3 :INT32)
(AREF :MAT4X2 :INT32)
(AREF :MAT3X4 :INT32)
(AREF :MAT3X3 :INT32)
(AREF :MAT3X2 :INT32)
(AREF :MAT2X4 :INT32)
(AREF :MAT2X3 :INT32)
(AREF :MAT2X2 :INT32)
(AREF :DMAT4 :INT32)
(AREF :DMAT3 :INT32)
(AREF :DMAT2 :INT32)
(AREF :MAT4 :INT32)
(AREF :MAT3 :INT32)
(AREF :MAT2 :INT32)
(AREF :MAT4X4 :INT32 :INT32)
(AREF :MAT4X3 :INT32 :INT32)
(AREF :MAT4X2 :INT32 :INT32)
(AREF :MAT3X4 :INT32 :INT32)
(AREF :MAT3X3 :INT32 :INT32)
(AREF :MAT3X2 :INT32 :INT32)
(AREF :MAT2X4 :INT32 :INT32)
(AREF :MAT2X3 :INT32 :INT32)
(AREF :MAT2X2 :INT32 :INT32)
(AREF :DMAT4 :INT32 :INT32)
(AREF :DMAT3 :INT32 :INT32)
(AREF :DMAT2 :INT32 :INT32)
(AREF :MAT4 :INT32 :INT32)
(AREF :MAT3 :INT32 :INT32)
(AREF :MAT2 :INT32 :INT32)
(AREF VARI.TYPES:V-VECTOR :INT32)
(AREF VARI.TYPES:V-ARRAY :INT32)
Return the element of the ARRAY specified by the SUBSCRIPT.
-
ARRAY-HAS-FILL-POINTER-P
Overloads:
(ARRAY-HAS-FILL-POINTER-P VARI.TYPES:V-ARRAY)
Return T if the given ARRAY has a fill pointer, or NIL otherwise. Always returns NIL in Vari
-
ARRAY-RANK
Overloads:
(ARRAY-RANK VARI.TYPES:V-ARRAY)
Return the number of dimensions of ARRAY. Always returns 1 for Vari arrays as GLSL doesnt support
multi-dimensional arrays.
-
ARRAY-ROW-MAJOR-INDEX
Overloads:
(ARRAY-ROW-MAJOR-INDEX VARI.TYPES:V-ARRAY :INT32)
Computes the position according to the row-major ordering of array for the
element that is specified by subscripts, and returns the offset of the element
in the computed position from the beginning of array.
For a one-dimensional array, the result of array-row-major-index equals
subscript.
-
ARRAY-TOTAL-SIZE
Overloads:
(ARRAY-TOTAL-SIZE VARI.TYPES:V-ARRAY)
Return the total number of elements in the Array.
-
ARRAYP
Overloads:
(ARRAYP VARI.TYPES:V-TYPE)
Return true if OBJECT is an ARRAY, and NIL otherwise.
-
-
-
BIT-VECTOR-P
Overloads:
(BIT-VECTOR-P VARI.TYPES:V-ARRAY)
-
-
BREAK
Overloads:
(BREAK)
break terminates the execution of the nearest enclosing for, switch, or while
-
CASE
CASE Keyform {(Key Form*)}*
Evaluates the Forms in the first clause with a Key EQL to the value of
Keyform. If a singleton key is T then the clause is a default clause.
Currently all Keys must be constantp
-
CIS
Overloads:
(CIS :FLOAT)
-
COERCE
Coerce the Object to an object of type Output-Type-Spec.
Output-Type-Spec should not be quoted
-
COMPILED-FUNCTION-P
Overloads:
(COMPILED-FUNCTION-P (FUNCTION NIL NIL))
Return true if OBJECT is a COMPILED-FUNCTION, and NIL otherwise.
All functions in Vari are compiled so this will return T for all functions
-
COMPLEMENT
Overloads:
(COMPLEMENT (FUNCTION NIL NIL))
Return a new function that returns T whenever FUNCTION returns NIL and
NIL whenever FUNCTION returns non-NIL.
-
COMPLEX
Overloads:
(COMPLEX :FLOAT)
(COMPLEX :FLOAT :FLOAT)
Return a complex number with the specified real and imaginary components.
-
COMPLEXP
Overloads:
(COMPLEXP VARI.TYPES:V-TYPE)
Return true if OBJECT is a COMPLEX, and NIL otherwise.
-
COND
Syntax:
cond {clause}+ => result*
clause::= (test-form form+)
Arguments and Values:
test-form---a form.
forms---an implicit progn.
results---the values of the forms in the first clause whose test-form yields
true, or the primary value of the test-form if there are no forms in
that clause, or else void if no test-form yields true.
Description:
cond allows the execution of forms to be dependent on test-form.
Test-forms are evaluated one at a time in the order in which they are given in
the argument list until a test-form is found that evaluates to true.
If there are no forms in that clause, the primary value of the test-form is
returned by the cond form. Otherwise, the forms associated with this test-form
are evaluated in order, left to right, as an implicit progn, and the values
returned by the last form are returned by the cond form.
Once one test-form has yielded true, no additional test-forms are evaluated.
If no test-form yields true, the COND evaluates to void.
-
CONJUGATE
Overloads:
(CONJUGATE COMPLEX)
(CONJUGATE VARI.TYPES:V-REAL)
Return the complex conjugate of NUMBER. For non-complex numbers, this is
an identity.
-
CONTINUE
Overloads:
(CONTINUE)
The continue statement passes control to the next iteration of the for or
while statement in which it appears, bypassing any remaining statements.
-
COPY-STRUCTURE
Overloads:
(COPY-STRUCTURE VARJO.TESTS::SOME-DATA)
(COPY-STRUCTURE VARJO.TESTS::BAH)
(COPY-STRUCTURE VARJO.TESTS::POS-SAM)
(COPY-STRUCTURE VARJO.TESTS::POS-COL)
(COPY-STRUCTURE VARJO.TESTS::POS-ROT)
(COPY-STRUCTURE VARI.GLSL::V-DEPTH-RANGE-PARAMETERS)
-
DECF
The first argument is some location holding a number. This number is
decremented by the second argument, DELTA, which defaults to 1.
-
DENOMINATOR
Overloads:
(DENOMINATOR RATIO)
Return the denominator of NUMBER, which must be rational.
-
DO
DO ({(Var Init Step)}+) (Test Exit-Form+) Declaration* Form*
Iteration construct. On subsequent iterations, the Vars are assigned the
value of the Step form in parallel. The Test is evaluated before
each evaluation of the body Forms. When the Test is true, the Exit-Forms
are evaluated as a PROGN, with the result being the value of the DO.
-
DOTIMES
Syntax:
dotimes (var count-form) declaration* {statement}+
=> void
Arguments and Values:
var---a symbol.
count-form---a form.
declaration---a declare expression; not evaluated.
statement---a compound form;
Description:
dotimes iterates over a series of integers.
-
EQL
Overloads:
(EQL COMPLEX COMPLEX)
(EQL :SHORT-FLOAT :SHORT-FLOAT)
(EQL :DOUBLE :DOUBLE)
(EQL :FLOAT :FLOAT)
(EQL :UINT32 :UINT32)
(EQL :INT32 :INT32)
Returns T is both arguments are numbers with the same value
GLSL does not provide a equivalent of EQ.
-
EVENP
Overloads:
(EVENP :UINT32)
(EVENP :INT32)
Is this integer even?
-
EXPT
Overloads:
(EXPT :FLOAT :FLOAT)
(EXPT :VEC2 :VEC2)
(EXPT :VEC3 :VEC3)
(EXPT :VEC4 :VEC4)
Return BASE raised to the POWER.
-
FLET
FLET ({(name lambda-list declaration* form*)}*) declaration* body-form*
Evaluate the BODY-FORMS with local function definitions. The bindings do
not enclose the definitions; any use of NAME in the FORMS will refer to the
lexically apparent function definition in the enclosing environment.
-
FLOAT-DIGITS
Overloads:
(FLOAT-DIGITS :FLOAT)
Returns the number of radix b digits used in the representation of float (including
any implicit digits, such as a ``hidden bit'').
-
FLOAT-RADIX
Overloads:
(FLOAT-RADIX :FLOAT)
Return (as an integer) the radix b of its floating-point argument.
-
FLOAT-SIGN
Overloads:
(FLOAT-SIGN :FLOAT)
Return a floating-point number that has the same sign as
FLOAT1 and, if FLOAT2 is given, has the same absolute value
as FLOAT2.
-
FLOATP
Overloads:
(FLOATP VARI.TYPES:V-TYPE)
Return true if OBJECT is a FLOAT, and NIL otherwise.
-
FUNCTION
FUNCTION name
Return the lexically apparent definition of the function NAME. If NAME is
a symbol the result will include all possible overloads of the function. To
specify a single function use the full signatures e.g. #'(sin :float)
NAME may also be a lambda expression.
-
FUNCTIONP
Overloads:
(FUNCTIONP VARI.TYPES:V-TYPE)
Return true if OBJECT is a FUNCTION, and NIL otherwise.
-
IDENTITY
Overloads:
(IDENTITY VARI.TYPES:V-TYPE)
This function simply returns what was passed to it.
-
IF
IF predicate then [else]
If PREDICATE evaluates to true, evaluate THEN and return its values,
otherwise evaluate ELSE and return its values. ELSE defaults to NIL.
If the branches evaluate to values of different type then the type
of the result will be (or type-from-then-branch type-from-else-branch)
This will cause issues if you attempt to return this value from a function
or pass it as an argument but is harmless in the non-tail position of a progn.
If `discard` is called in one branch then the result type of the IF is the
type of the branch that didnt discard
-
IMAGPART
Overloads:
(IMAGPART COMPLEX)
Extract the imaginary part of a number.
-
INCF
The first argument is some location holding a number. This number is
incremented by the second argument, DELTA, which defaults to 1.
-
INTEGER-LENGTH
Overloads:
(INTEGER-LENGTH :UINT32)
(INTEGER-LENGTH :INT32)
Return the number of non-sign bits in the twos-complement representation
of INTEGER.
-
INTEGERP
Overloads:
(INTEGERP VARI.TYPES:V-TYPE)
Return true if OBJECT is an INTEGER, and NIL otherwise.
-
ISQRT
Overloads:
(ISQRT :UINT32)
Return the greatest integer less than or equal to the square root of N.
-
KEYWORDP
Overloads:
(KEYWORDP VARI.TYPES:V-TYPE)
Return true if Object is a symbol in the "KEYWORD" package. Always NIL
in Vari
-
LABELS
LABELS ({(name lambda-list declaration* form*)}*) declaration* body-form*
Evaluate the BODY-FORMS with local function definitions. The bindings enclose
each subsequent definitions, so the defined functions can call the functions
defined before them in the definitions list.
Recursion (direct or indirect) is illegal in GLSL
-
LAMBDA
lambda lambda-list [[declaration* | documentation]] form+ => function
Arguments and Values:
lambda-list---an ordinary lambda list.
declaration---a declare expression; not evaluated.
documentation---a string; not evaluated.
form---a form.
function---a function.
Description:
Provides a shorthand notation for a function special form involving a lambda expression such that:
(lambda lambda-list [[declaration* | documentation]] form*)
== (function (lambda lambda-list [[declaration* | documentation]] form*))
== #'(lambda lambda-list [[declaration* | documentation]] form*)
-
LET
LET ({(var [value]) | var}*) declaration* form*
During evaluation of the FORMS, bind the VARS to the result of evaluating the
VALUE forms. The variables are bound in parallel after all of the VALUES forms
have been evaluated.
-
LET*
LET* ({(var [value]) | var}*) declaration* form*
Similar to LET, but the variables are bound sequentially, allowing each VALUE
form to reference any of the previous VARS.
-
LOCALLY
LOCALLY declaration* form*
Sequentially evaluate the FORMS in a lexical environment where the
DECLARATIONS have effect. If LOCALLY is a top level form, then the FORMS are
also processed as top level forms.
-
LOGAND
Overloads:
(LOGAND :INT32 :INT32)
(LOGAND :UVEC4 :UVEC4)
(LOGAND :UVEC4 :UINT32)
(LOGAND :UVEC3 :UVEC3)
(LOGAND :UVEC3 :UINT32)
(LOGAND :UVEC2 :UVEC2)
(LOGAND :UVEC2 :UINT32)
(LOGAND :UINT32 :UVEC4)
(LOGAND :UINT32 :UVEC3)
(LOGAND :UINT32 :UVEC2)
(LOGAND :UINT32 :UINT32)
(LOGAND :IVEC4 :IVEC4)
(LOGAND :IVEC4 :INT32)
(LOGAND :IVEC3 :IVEC3)
(LOGAND :IVEC3 :INT32)
(LOGAND :IVEC2 :IVEC2)
(LOGAND :IVEC2 :INT32)
(LOGAND :INT32 :IVEC4)
(LOGAND :INT32 :IVEC3)
(LOGAND :INT32 :IVEC2)
(LOGAND VARI.TYPES:V-INTEGER)
Return the bit-wise and of its arguments.
-
LOGANDC1
Overloads:
(LOGANDC1 :UINT32 :UINT32)
(LOGANDC1 :INT32 :INT32)
-
LOGANDC2
Overloads:
(LOGANDC2 :UINT32 :UINT32)
(LOGANDC2 :INT32 :INT32)
-
LOGCOUNT
Overloads:
(LOGCOUNT VARI.TYPES:V-INTEGER)
Count the number of 1 bits if INTEGER is non-negative,
and the number of 0 bits if INTEGER is negative.
-
LOGIOR
Overloads:
(LOGIOR :INT32 :INT32)
(LOGIOR :UINT32 :UINT32)
(LOGIOR :UVEC4 :UVEC4)
(LOGIOR :UVEC4 :UINT32)
(LOGIOR :UVEC3 :UVEC3)
(LOGIOR :UVEC3 :UINT32)
(LOGIOR :UVEC2 :UVEC2)
(LOGIOR :UVEC2 :UINT32)
(LOGIOR :UINT32 :UVEC4)
(LOGIOR :UINT32 :UVEC3)
(LOGIOR :UINT32 :UVEC2)
(LOGIOR :IVEC4 :IVEC4)
(LOGIOR :IVEC4 :INT32)
(LOGIOR :IVEC3 :IVEC3)
(LOGIOR :IVEC3 :INT32)
(LOGIOR :IVEC2 :IVEC2)
(LOGIOR :IVEC2 :INT32)
(LOGIOR :INT32 :IVEC4)
(LOGIOR :INT32 :IVEC3)
(LOGIOR :INT32 :IVEC2)
(LOGIOR VARI.TYPES:V-INTEGER)
Return the bit-wise or of its arguments
-
LOGNAND
Overloads:
(LOGNAND :UINT32 :UINT32)
(LOGNAND :INT32 :INT32)
-
LOGNOR
Overloads:
(LOGNOR :UINT32 :UINT32)
(LOGNOR :INT32 :INT32)
-
LOGNOT
Overloads:
(LOGNOT VARI.TYPES:V-INTEGER)
Return the bit-wise logical not of the input
-
LOGORC1
Overloads:
(LOGORC1 :UINT32 :UINT32)
(LOGORC1 :INT32 :INT32)
-
LOGORC2
Overloads:
(LOGORC2 :UINT32 :UINT32)
(LOGORC2 :INT32 :INT32)
-
LOGTEST
Overloads:
(LOGTEST :UINT32 :UINT32)
(LOGTEST :INT32 :INT32)
-
LOGXOR
Overloads:
(LOGXOR :UVEC4 :UVEC4)
(LOGXOR :UVEC4 :UINT32)
(LOGXOR :UVEC3 :UVEC3)
(LOGXOR :UVEC3 :UINT32)
(LOGXOR :UVEC2 :UVEC2)
(LOGXOR :UVEC2 :UINT32)
(LOGXOR :UINT32 :UVEC4)
(LOGXOR :UINT32 :UVEC3)
(LOGXOR :UINT32 :UVEC2)
(LOGXOR :UINT32 :UINT32)
(LOGXOR :IVEC4 :IVEC4)
(LOGXOR :IVEC4 :INT32)
(LOGXOR :IVEC3 :IVEC3)
(LOGXOR :IVEC3 :INT32)
(LOGXOR :IVEC2 :IVEC2)
(LOGXOR :IVEC2 :INT32)
(LOGXOR :INT32 :IVEC4)
(LOGXOR :INT32 :IVEC3)
(LOGXOR :INT32 :IVEC2)
(LOGXOR :INT32 :INT32)
(LOGXOR VARI.TYPES:V-INTEGER)
Return the bit-wise exclusive or of its arguments.
-
MACROLET
MACROLET ({(name lambda-list form*)}*) body-form*
Evaluate the BODY-FORMS in an environment with the specified local macros
defined. NAME is the local macro name, LAMBDA-LIST is a DEFMACRO style
destructuring lambda list, and the FORMS evaluate to the expansion.
-
MAKE-ARRAY
WARNING: API of MAKE-ARRAY subject to change.
Description:
Creates and returns an array.
Dimensions represents the dimensionality of the new array. The array must
be single-dimensional and dimensions must be a number.
element-type indicates the type of the elements intended to be stored in the
new-array
If initial-element is supplied, it is used to initialize each element of
new-array. If initial-element is supplied, it must be of the type given by
element-type. initial-element must be constantp
initial-contents is used to initialize the contents of array. It must currently
be a quoted list, this is an issue and will be changed.
-
MINUSP
Overloads:
(MINUSP VARI.TYPES:V-REAL)
Is this real number strictly negative?
-
MULTIPLE-VALUE-BIND
Creates new variable bindings for the vars and executes a series of forms that use
these bindings.
The variable bindings created are lexical.
Values-form is evaluated, and each of the vars is bound to the respective value
returned by that form. The number of values returns by values-form must match
the number of forms in 'vars'. The vars are bound to the values over the
execution of the forms, which make up an implicit progn.
The scopes of the name binding and declarations do not include the values-form.
-
MULTIPLE-VALUE-CALL
MULTIPLE-VALUE-CALL function values-form*
Call FUNCTION, passing all the values of each VALUES-FORM as arguments,
values from the first VALUES-FORM making up the first argument, etc.
-
MULTIPLE-VALUE-PROG1
MULTIPLE-VALUE-PROG1 values-form form*
Evaluate VALUES-FORM and then the FORMS, but return all the values of
VALUES-FORM.
-
MULTIPLE-VALUE-SETQ
multiple-value-setq assigns values to vars.
The form is evaluated, and each var is assigned to the corresponding value
returned by that form. The number of values returns by values-form must match
the number of forms in 'vars'
If any var is the name of a symbol macro, then it is assigned as if by setf.
-
NTH-VALUE
Evaluate FORM and return the Nth value (zero based)
without consing a temporary list of values.
-
NUMBERP
Overloads:
(NUMBERP VARI.TYPES:V-TYPE)
Return true if OBJECT is a NUMBER, and NIL otherwise.
-
NUMERATOR
Overloads:
(NUMERATOR RATIO)
Return the numerator of NUMBER, which must be rational.
-
ODDP
Overloads:
(ODDP :UINT32)
(ODDP :INT32)
Is this integer odd?
-
OR
or evaluates each form, one at a time, from left to right. The evaluation of
all forms terminates when a form evaluates to true (i.e., something other than
nil).
-
PHASE
Overloads:
(PHASE COMPLEX)
(PHASE :FLOAT)
-
PLUSP
Overloads:
(PLUSP VARI.TYPES:V-REAL)
Is this real number strictly positive?
-
PROG1
prog1 evaluates first-form and then forms, yielding as its only value the primary
value yielded by first-form.
-
PROG2
prog2 evaluates first-form, then second-form, and then forms, yielding as
its only value the primary value yielded by second-form.
-
PROGN
PROGN form*
Evaluates each FORM in order, returning the values of the last form.
It is not legal to have an empty PROGN in Vari
-
RANDOM-STATE-P
Overloads:
(RANDOM-STATE-P VARI.TYPES:V-TYPE)
Returns true if object is of type random-state; otherwise, returns false.
-
RATIONALP
Overloads:
(RATIONALP VARI.TYPES:V-TYPE)
Return true if OBJECT is a RATIONAL, and NIL otherwise.
-
REALP
Overloads:
(REALP VARI.TYPES:V-TYPE)
Return true if OBJECT is a REAL, and NIL otherwise.
-
REALPART
Overloads:
(REALPART COMPLEX)
Extract the real part of a number.
-
RETURN
return terminates the execution of a function and returns control and values to the calling
function. The types from all return forms in a stage must be idential.
-
ROW-MAJOR-AREF
Overloads:
(ROW-MAJOR-AREF VARI.TYPES:V-ARRAY :INT32)
Return the element of array corresponding to the row-major index. This is
SETFable.
-
SCALE-FLOAT
Overloads:
(SCALE-FLOAT :FLOAT :INT32)
-
SETF
Takes pairs of arguments like SETQ. The first is a place and the second
is the value that is supposed to go into that place. Returns the last
value. The place argument may be any of the access forms for which SETF
knows a corresponding setting form.
-
SETQ
Assigns a value to a variable.
(setq var1 form1)
is the simple variable assignment statement of Lisp.
First form is evaluated and then the result is stored in the variable var1.
If any var refers to a binding made by symbol-macrolet, then that var is
reated as if setf (not setq) had been used.
-
SIGNUM
Overloads:
(SIGNUM VARI.TYPES:V-REAL)
If NUMBER is zero, return NUMBER, else return (/ NUMBER (ABS NUMBER)).
-
SIMPLE-BIT-VECTOR-P
Overloads:
(SIMPLE-BIT-VECTOR-P VARI.TYPES:V-TYPE)
Return true if OBJECT is a SIMPLE-BIT-VECTOR, and NIL otherwise.
Always NIL in Vari
-
SIMPLE-VECTOR-P
Overloads:
(SIMPLE-VECTOR-P VARI.TYPES:V-TYPE)
Return true if OBJECT is a SIMPLE-VECTOR, and NIL otherwise.
All arrays are simple-vectors in Vari
-
SLOT-VALUE
The function slot-value returns the value of the slot named slot-name in the struct.
`setf` can be used with slot-value to change the value of a slot.
-
SVREF
Overloads:
(SVREF VARI.TYPES:V-ARRAY :INT32)
Return the INDEXth element of the given Simple-Vector.
-
SYMBOL-MACROLET
SYMBOL-MACROLET ({(name expansion)}*) decl* form*
Define the NAMES as symbol macros with the given EXPANSIONS. Within the
body, references to a NAME will effectively be replaced with the EXPANSION.
-
SYMBOLP
Overloads:
(SYMBOLP VARI.TYPES:V-TYPE)
Return true if OBJECT is a SYMBOL, and NIL otherwise.
Always NIL in Vari
-
THE
Specifies that the values returned by FORM conform to the VALUE-TYPE.
This becomes a compile-time assertion of the type, except in cases of global
variable capture where it can be used to inform the compiler of the type.
-
TYPECASE
TYPECASE Keyform {(Type Form*)}*
Evaluates the Forms in the first clause for which TYPEP of Keyform and Type
is true.
-
UNLESS
If the first argument is not true, the rest of the forms are
evaluated as a PROGN.
-
VALUES
Return all arguments, in order, as values.
You may also qualify the values. If the value is a list where the first symbol
is a qualifier-form then the last form is the value and the butlast forms are
treated as qualifiers.
For example:
(values (v! 1 2 3 4) ←[0]
(:flat 10) ←[1]
((:feedback 1) (+ position (v! pos 0 0))) ←[2]
((:feedback 0) (v! 0.1 0 1))) ←[2]
- [0] unqualified value
- [1] the value 10 is qualified as flat
- [2] two forms are qualfied as being the transform feedback of the stage
-
VECTOR
Construct a SIMPLE-VECTOR from the given objects.
-
VECTORP
Overloads:
(VECTORP VARI.TYPES:V-TYPE)
Return true if OBJECT is a VECTOR, and NIL otherwise.
-
WHEN
If the first argument is true, the rest of the forms are
evaluated as a PROGN.
-
WITH-ACCESSORS
Creates a lexical environment in which the slots specified by slot-entry are
lexically available through their accessors as if they were variables.
The macro with-accessors invokes the appropriate accessors to access the slots
specified by slot-entry. Both setf and setq can be used to set the value of the slot.
-
WITH-SLOTS
The macro with-slots establishes a lexical environment for referring to the slots in
the struct named by the given slot-names as though they were variables.
Within such a context the value of the slot can be specified by using its
slot name, as if it were a lexically bound variable.
Both setf and setq can be used to set the value of the slot.
The macro with-slots translates an appearance of the slot name as a variable
into a call to slot-value.
-
ZEROP
Overloads:
(ZEROP VARI.TYPES:V-NUMBER)
Is this number zero?