glGetShaderPrecisionFormat 3G glGetShaderPrecisionFormat return the range and precision for different shader numeric formats C Specification void glGetShaderPrecisionFormat GLenum shaderType GLenum precisionType GLint *range GLint *precision Parameters shaderType Specifies the type of shader to query. Must be either GL_VERTEX_SHADER or GL_FRAGMENT_SHADER. precisionType Specifies the numeric format to query, corresponding to a shader precision qualifier and variable type. Must be one of GL_LOW_FLOAT, GL_MEDIUM_FLOAT, GL_HIGH_FLOAT, GL_LOW_INT, GL_MEDIUM_INT, or GL_HIGH_INT. range Specifies a pointer to the two-element array in which the log 2 of the minimum and maximum representable magnitudes of the format are returned. precision Specifies a pointer to the location in which the log 2 of the precision of the format is returned. Description glGetShaderPrecisionFormat returns range and precision limits for floating-point and integer shader variable formats with low, medium, and high precision qualifiers. When minRep and maxRep are the minimum and maximum representable values of the format, floor log 2 minRep and floor log 2 maxRep are returned in range as the first and second elements, respectively. If the smallest representable value greater than 1 is 1 + ε then floor - log 2 ε is returned in precision. An integer format will have an ε of 1, and thus will return 0. Floating-point formats will return values greater than 0. Notes The minimum range and precision required for different formats is described in the OpenGL ES Shading Language Specification. If a high precision floating-point format is not supported for fragment shaders, calling glGetShaderPrecisionFormat with arguments GL_FRAGMENT_SHADER and GL_HIGH_FLOAT will return 0 for both range and precision. Support for a high precision floating-point format is mandatory for vertex shaders. Shader compiler support is optional, and thus must be queried before use by calling glGet with argument GL_SHADER_COMPILER. glShaderSource, glCompileShader, glGetShaderPrecisionFormat, and glReleaseShaderCompiler will each generate GL_INVALID_OPERATION on implementations that do not support a shader compiler. Such implementations instead offer the glShaderBinary alternative for supplying a pre-compiled shader binary. If an error is generated, no change is made to the contents of range or precision. Errors GL_INVALID_OPERATION is generated if a shader compiler is not supported. GL_INVALID_ENUM is generated if shaderType or precisionType is not an accepted value. Associated Gets glGet with argument GL_SHADER_COMPILER See Also glCompileShader, glShaderSource Copyright Copyright 2008 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/.