GLAPI/glGetInternalformat: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Renaming category: 'API Reference 4' to 'Core API Reference'.
m Bot: Adding better formatting.
Line 9: Line 9:
== Function Definition ==
== Function Definition ==


   void '''glGetInternalFormativ'''(GLenum ''target'', GLenum ''internalformat'', GLenum ''pname'', GLsizei ''bufSize'', GLint *''params'');
   void '''glGetInternalFormativ'''(GLenum {{param|target}}, GLenum {{param|internalformat}}, GLenum {{param|pname}}, GLsizei {{param|bufSize}}, GLint *{{param|params}});


; target
; target
: Indicates the usage of the internal format. ''target'' must be {{code|GL_RENDERBUFFER}}, {{code|GL_TEXTURE_2D_MULTISAMPLE}} or {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}}.
: Indicates the usage of the internal format. {{param|target}} must be {{code|GL_RENDERBUFFER}}, {{code|GL_TEXTURE_2D_MULTISAMPLE}} or {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}}.
; internalformat
; internalformat
: Specifies the internal format about which to retrieve information.
: Specifies the internal format about which to retrieve information.
Line 18: Line 18:
: Specifies the type of information to query.
: Specifies the type of information to query.
; bufSize
; bufSize
: Specifies the maximum number of basic machine units that may be written to ''params'' by the function.
: Specifies the maximum number of basic machine units that may be written to {{param|params}} by the function.
; params
; params
: Specifies the address of a variable into which to write the retrieved information.
: Specifies the address of a variable into which to write the retrieved information.
Line 24: Line 24:
== Description ==
== Description ==


'''glGetInternalFormativ''' retrieves information about implementation-dependent support for internal formats. ''target'' indicates the target with which the internal format will be used and must be one of {{code|GL_RENDERBUFFER}}, {{code|GL_TEXTURE_2D_MULTISAMPLE}}, or {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}}, corresponding to usage as a renderbuffer, two-dimensional multisample texture or two-dimensional multisample array texture, respectively.
'''glGetInternalFormativ''' retrieves information about implementation-dependent support for internal formats. {{param|target}} indicates the target with which the internal format will be used and must be one of {{code|GL_RENDERBUFFER}}, {{code|GL_TEXTURE_2D_MULTISAMPLE}}, or {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}}, corresponding to usage as a renderbuffer, two-dimensional multisample texture or two-dimensional multisample array texture, respectively.


''internalformat'' specifies the internal format about which to retrieve information and must be a color-renderable, depth-renderable or stencil-renderable format.
{{param|internalformat}} specifies the internal format about which to retrieve information and must be a color-renderable, depth-renderable or stencil-renderable format.


The information retrieved will be written to memory addressed by the pointer specified in ''params''. No more than ''bufSize'' basic machine units will be written to this memory.
The information retrieved will be written to memory addressed by the pointer specified in {{param|params}}. No more than {{param|bufSize}} basic machine units will be written to this memory.


If ''pname'' is {{code|GL_NUM_SAMPLE_COUNTS}}, the number of sample counts that would be returned by querying {{code|GL_SAMPLES}} will be returned in ''params''.
If {{param|pname}} is {{code|GL_NUM_SAMPLE_COUNTS}}, the number of sample counts that would be returned by querying {{code|GL_SAMPLES}} will be returned in {{param|params}}.


If ''pname'' is {{code|GL_SAMPLES}}, the sample counts supported for ''internalformat'' and ''target'' are written into ''params'' in descending numeric order. Only positive values are returned. Querying {{code|GL_SAMPLES}} with ''bufSize'' of one will return just the maximum supported number of samples for this format. The maximum value in {{code|GL_SAMPLES}} is guaranteed to be at least the lowest of the following: * The value of {{code|GL_MAX_INTEGER_SAMPLES}} if ''internalformat'' is a signed or unsigned integer format.* The value of {{code|GL_MAX_DEPTH_TEXTURE_SAMPLES}} if ''internalformat'' is a depth- or stencil-renderable format and ''target'' is {{code|GL_TEXTURE_2D_MULTISAMPLE}}, {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}}.* The value of {{code|GL_MAX_COLOR_TEXTURE_SAMPLES}} if ''internalformat'' is a color-renderable format and ''target'' is {{code|GL_TEXTURE_2D_MULTISAMPLE}} or {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}}.* The value of {{code|GL_MAX_SAMPLES}}.
If {{param|pname}} is {{code|GL_SAMPLES}}, the sample counts supported for {{param|internalformat}} and {{param|target}} are written into {{param|params}} in descending numeric order. Only positive values are returned. Querying {{code|GL_SAMPLES}} with {{param|bufSize}} of one will return just the maximum supported number of samples for this format. The maximum value in {{code|GL_SAMPLES}} is guaranteed to be at least the lowest of the following: * The value of {{code|GL_MAX_INTEGER_SAMPLES}} if {{param|internalformat}} is a signed or unsigned integer format.* The value of {{code|GL_MAX_DEPTH_TEXTURE_SAMPLES}} if {{param|internalformat}} is a depth- or stencil-renderable format and {{param|target}} is {{code|GL_TEXTURE_2D_MULTISAMPLE}}, {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}}.* The value of {{code|GL_MAX_COLOR_TEXTURE_SAMPLES}} if {{param|internalformat}} is a color-renderable format and {{param|target}} is {{code|GL_TEXTURE_2D_MULTISAMPLE}} or {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}}.* The value of {{code|GL_MAX_SAMPLES}}.


== Notes ==
== Notes ==
Line 40: Line 40:
== Errors ==
== Errors ==


{{code|GL_INVALID_VALUE}} is generated if ''bufSize'' is negative.
{{code|GL_INVALID_VALUE}} is generated if {{param|bufSize}} is negative.


{{code|GL_INVALID_ENUM}} is generated if ''pname'' is not {{code|GL_SAMPLES}} or {{code|GL_NUM_SAMPLE_COUNTS}}.
{{code|GL_INVALID_ENUM}} is generated if {{param|pname}} is not {{code|GL_SAMPLES}} or {{code|GL_NUM_SAMPLE_COUNTS}}.


{{code|GL_INVALID_ENUM}} is generated if ''internalformat'' is not color-, depth-, or stencil-renderable.
{{code|GL_INVALID_ENUM}} is generated if {{param|internalformat}} is not color-, depth-, or stencil-renderable.


{{code|GL_INVALID_ENUM}} is generated if ''target'' is not one of {{code|GL_TEXTURE_2D_MULTISAMPLE}}, {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}} or {{code|GL_RENDERBUFFER}}.
{{code|GL_INVALID_ENUM}} is generated if {{param|target}} is not one of {{code|GL_TEXTURE_2D_MULTISAMPLE}}, {{code|GL_TEXTURE_2D_MULTISAMPLE_ARRAY}} or {{code|GL_RENDERBUFFER}}.


== See Also ==
== See Also ==


[[GLAPI/glGet|glGet]]
{{apifunc|glGet}}


== Copyright ==
== Copyright ==

Revision as of 01:20, 29 April 2012

glGetInternalFormativ
Core in version 4.6
Core since version 4.2
Core ARB extension ARB_internalformat_query

glGetInternalFormativ: retrieve information about implementation-dependent support for internal formats

Function Definition

 void glGetInternalFormativ(GLenum target​, GLenum internalformat​, GLenum pname​, GLsizei bufSize​, GLint *params​);
target
Indicates the usage of the internal format. target​ must be GL_RENDERBUFFER, GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY.
internalformat
Specifies the internal format about which to retrieve information.
pname
Specifies the type of information to query.
bufSize
Specifies the maximum number of basic machine units that may be written to params​ by the function.
params
Specifies the address of a variable into which to write the retrieved information.

Description

glGetInternalFormativ retrieves information about implementation-dependent support for internal formats. target​ indicates the target with which the internal format will be used and must be one of GL_RENDERBUFFER, GL_TEXTURE_2D_MULTISAMPLE, or GL_TEXTURE_2D_MULTISAMPLE_ARRAY, corresponding to usage as a renderbuffer, two-dimensional multisample texture or two-dimensional multisample array texture, respectively.

internalformat​ specifies the internal format about which to retrieve information and must be a color-renderable, depth-renderable or stencil-renderable format.

The information retrieved will be written to memory addressed by the pointer specified in params​. No more than bufSize​ basic machine units will be written to this memory.

If pname​ is GL_NUM_SAMPLE_COUNTS, the number of sample counts that would be returned by querying GL_SAMPLES will be returned in params​.

If pname​ is GL_SAMPLES, the sample counts supported for internalformat​ and target​ are written into params​ in descending numeric order. Only positive values are returned. Querying GL_SAMPLES with bufSize​ of one will return just the maximum supported number of samples for this format. The maximum value in GL_SAMPLES is guaranteed to be at least the lowest of the following: * The value of GL_MAX_INTEGER_SAMPLES if internalformat​ is a signed or unsigned integer format.* The value of GL_MAX_DEPTH_TEXTURE_SAMPLES if internalformat​ is a depth- or stencil-renderable format and target​ is GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY.* The value of GL_MAX_COLOR_TEXTURE_SAMPLES if internalformat​ is a color-renderable format and target​ is GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY.* The value of GL_MAX_SAMPLES.

Notes

glGetInternalFormativ is available only if the GL version is 4.2 or higher.

Errors

GL_INVALID_VALUE is generated if bufSize​ is negative.

GL_INVALID_ENUM is generated if pname​ is not GL_SAMPLES or GL_NUM_SAMPLE_COUNTS.

GL_INVALID_ENUM is generated if internalformat​ is not color-, depth-, or stencil-renderable.

GL_INVALID_ENUM is generated if target​ is not one of GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_RENDERBUFFER.

See Also

glGet

Copyright

Copyright © 2011 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/.