GL_ARB_shader_precision restricts the precision requirements of implementations of the GLSL specification. It enables a "mix-and-match" shader stage model for GLSL allowing multiple different GLSL program objects to be bound at once each to an individual rendering pipeline stage independently of other stage bindings. GL_ARB_separate_shader_objects is the most challenging extension introduced in GL 4.1. This extension supports both performance and intellectual property.
The resulting program binary can be reloaded into the GL via glProgramBinary(). glGetProgramBinary() returns a binary representation of the program object's compiled and linked executable source and allows an application to cache compiled and linked programs to avoid compiling and linking when used again. GL_ARB_get_program_binary introduces new commands to retrieve and set the binary representation of a program object. These features alleviate the process of porting applications from OpenGL ES 2.0 to OpenGL. GL_ARB_ES2_compatibility adds support for features of OpenGL ES 2.0 that are missing from OpenGL 3.x.
Opengl 4.1 create shader pipelines code#
More detailed comments with appropriate working code examples will be presented in appropriate tutorials that follow. This will be just a very brief overview of the new functionality. Lets look what each of the new extensions brings to us. Only GL_ARB_shader_precision and GL_ARB_vertex_attrib_64bit require a new peace of hardware (shader model 5.0). The good news is that almost all extensions can be supported on older (shader model 4.0) hardware.
Opengl 4.1 create shader pipelines drivers#
Well, the new OpenGL 4.1 spec is out, as well as NV drivers (259.09) that support the spec.