Graphics Reference
In-Depth Information
tures and can perform atomic arithmetic operations in uniform buffers. (This
should keep algorithm developers busy for some time!)
The other key feature of this standard is its relation to OpenGL ES 2.0.
The growing importance of OpenGL ES has made it important to support
application development for both desktop and embedded systems, and this
standard release makes desktop OpenGL a proper superset of OpenGL ES 2.0.
That is, if you develop for OpenGL ES 2.0, your application will run correctly
with OpenGL 4.x and GLSL 4.x0.
Finally, this standard extends the 64-bit floating point capability to vertex
shader input variables (that is, to atribute and uniform variables), allowing
you to do your application computation in double precision and maintain that
precision when your data is sent to the shaders.
What's Behind These Developments?
This continuing evolution of the OpenGL and GLSL standards is driven by
several factors. One is the continuing emphasis on speed by applications such
as games, and several of the new OpenGL/GLSL features reduce the need for
communication between the CPU and the graphics card or move computa-
tions from the CPU to the card. Another is the increasingly general architec-
ture of graphics cards that corresponds to the increasing use of these cards
for general-purpose computing with tools such as CUDA or OpenCL. These
changes will continue to drive OpenGL and GLSL for the foreseeable future.
OpenGL ES
OpenGL ES 2.0 is designed to support high-quality graphics on embedded
systems such as cell phones. It is based on OpenGL 2.0, but does not support
any fixed-function operations—all the vertex and fragment processing must
be done with shaders. It also does not support tessellation and geometry shad-
ers, just vertex and fragment shaders.
The key issue with embedded systems is the need to operate with limited
memory sizes and limited computing capabilities. Supporting the full set of
fixed-function operations requires a significant memory overhead, but using
shaders only requires memory for the data and operations you actually use.
Only vertex and fragment shaders are supported, however, because geometry
and tessellation shaders may expand the input geometry and require addi-
tional memory.
The OpenGL ES shading language is more restrictive than the GLSL 1.10
that is associated with OpenGL 2.0, however. It does not include the set of
Search WWH ::




Custom Search