Graphics Reference
In-Depth Information
• New vertex formats—New vertex formats, including 10-10-10-2 signed
and unsigned normalized vertex attributes; 8-bit, 16-bit, and 32-bit
integer attributes; and 16-bit half-float, are supported in OpenGL ES 3.0.
Buffer Objects
OpenGL ES 3.0 introduces many new buffer objects to increase the
efficiency and flexibility of specifying data to various parts of the graphics
pipeline:
• Uniform buffer objects—Provide an efficient method for storing/
binding large blocks of uniforms. Uniform buffer objects can be used
to reduce the performance cost of binding uniform values to shaders,
which is a common bottleneck in OpenGL ES 2.0 applications.
• Vertex array objects—Provide an efficient method for binding and
switching between vertex array states. Vertex array objects are
essentially container objects for vertex array states. Using them allows
an application to switch the vertex array state in a single API call
rather than making several calls.
• Sampler objects—Separate the sampler state (texture wrap mode
and filtering) from the texture object. This provides a more efficient
method of sharing the sampler state across textures.
• Sync objects—Provide a mechanism for the application to check on
whether a set of OpenGL ES operations has finished executing on
the GPU. A related new feature is a fence, which provides a way for
the application to inform the GPU that it should wait until a set of
OpenGL ES operations has finished executing before queuing up more
operations for execution.
• Pixel buffer objects—Enable the application to perform asynchronous
transfer of data to pixel operations and texture transfer operations.
This optimization is primarily intended to provide faster transfer
of data between the CPU and the GPU, where the application can
continue doing work during the transfer operation.
• Buffer subrange mapping—Allows the application to map a subregion
of a buffer for access by the CPU. This can provide better performance
than traditional buffer mapping, in which the whole buffer needs to
be available to the client.
• Buffer object to buffer object copies—Provide a mechanism to
efficiently transfer data from one buffer object to another without
intervention on the CPU.
 
 
Search WWH ::




Custom Search