Difference between revisions of "GLAPI/glHint"

From OpenGL Wiki
Jump to navigation Jump to search
m (Bot: Adding better formatting.)
 
(2 intermediate revisions by one other user not shown)
Line 11: Line 11:
  
 
; target
 
; target
: Specifies a symbolic constant indicating the behavior to be controlled. {{code|GL_LINE_SMOOTH_HINT}}, {{code|GL_POLYGON_SMOOTH_HINT}}, {{code|GL_TEXTURE_COMPRESSION_HINT}}, and {{code|GL_FRAGMENT_SHADER_DERIVATIVE_HINT}} are accepted.
+
: Specifies a symbolic constant indicating the behavior to be controlled. {{enum|GL_LINE_SMOOTH_HINT}}, {{enum|GL_POLYGON_SMOOTH_HINT}}, {{enum|GL_TEXTURE_COMPRESSION_HINT}}, and {{enum|GL_FRAGMENT_SHADER_DERIVATIVE_HINT}} are accepted.
 
; mode
 
; mode
: Specifies a symbolic constant indicating the desired behavior. {{code|GL_FASTEST}}, {{code|GL_NICEST}}, and {{code|GL_DONT_CARE}} are accepted.
+
: Specifies a symbolic constant indicating the desired behavior. {{enum|GL_FASTEST}}, {{enum|GL_NICEST}}, and {{enum|GL_DONT_CARE}} are accepted.
  
 
== Description ==
 
== Description ==
  
Certain aspects of GL behavior, when there is room for interpretation, can be controlled with hints. A hint is specified with two arguments. {{param|target}} is a symbolic constant indicating the behavior to be controlled, and {{param|mode}} is another symbolic constant indicating the desired behavior. The initial value for each {{param|target}} is {{code|GL_DONT_CARE}}. {{param|mode}} can be one of the following:
+
Certain aspects of GL behavior, when there is room for interpretation, can be controlled with hints. A hint is specified with two arguments. {{param|target}} is a symbolic constant indicating the behavior to be controlled, and {{param|mode}} is another symbolic constant indicating the desired behavior. The initial value for each {{param|target}} is {{enum|GL_DONT_CARE}}. {{param|mode}} can be one of the following:
  
; {{code|GL_FASTEST}}
+
; {{enum|GL_FASTEST}}
 
:  
 
:  
 
The most efficient option should be chosen.
 
The most efficient option should be chosen.
; {{code|GL_NICEST}}
+
; {{enum|GL_NICEST}}
 
:  
 
:  
 
The most correct, or highest quality, option should be chosen.
 
The most correct, or highest quality, option should be chosen.
; {{code|GL_DONT_CARE}}
+
; {{enum|GL_DONT_CARE}}
 
:  
 
:  
 
No preference.
 
No preference.
 
Though the implementation aspects that can be hinted are well defined, the interpretation of the hints depends on the implementation. The hint aspects that can be specified with {{param|target}}, along with suggested semantics, are as follows:
 
Though the implementation aspects that can be hinted are well defined, the interpretation of the hints depends on the implementation. The hint aspects that can be specified with {{param|target}}, along with suggested semantics, are as follows:
  
; {{code|GL_FRAGMENT_SHADER_DERIVATIVE_HINT}}
+
; {{enum|GL_FRAGMENT_SHADER_DERIVATIVE_HINT}}
 
:  
 
:  
Indicates the accuracy of the derivative calculation for the GL shading language fragment processing built-in functions: {{code|dFdx}}, {{code|dFdy}}, and {{code|fwidth}}.
+
Indicates the accuracy of the derivative calculation for the GL shading language fragment processing built-in functions: {{enum|dFdx}}, {{enum|dFdy}}, and {{enum|fwidth}}.
; {{code|GL_LINE_SMOOTH_HINT}}
+
; {{enum|GL_LINE_SMOOTH_HINT}}
 
:  
 
:  
Indicates the sampling quality of antialiased lines. If a larger filter function is applied, hinting {{code|GL_NICEST}} can result in more pixel fragments being generated during rasterization.
+
Indicates the sampling quality of antialiased lines. If a larger filter function is applied, hinting {{enum|GL_NICEST}} can result in more pixel fragments being generated during rasterization.
; {{code|GL_POLYGON_SMOOTH_HINT}}
+
; {{enum|GL_POLYGON_SMOOTH_HINT}}
 
:  
 
:  
Indicates the sampling quality of antialiased polygons. Hinting {{code|GL_NICEST}} can result in more pixel fragments being generated during rasterization, if a larger filter function is applied.
+
Indicates the sampling quality of antialiased polygons. Hinting {{enum|GL_NICEST}} can result in more pixel fragments being generated during rasterization, if a larger filter function is applied.
; {{code|GL_TEXTURE_COMPRESSION_HINT}}
+
; {{enum|GL_TEXTURE_COMPRESSION_HINT}}
 
:  
 
:  
Indicates the quality and performance of the compressing texture images. Hinting {{code|GL_FASTEST}} indicates that texture images should be compressed as quickly as possible, while {{code|GL_NICEST}} indicates that texture images should be compressed with as little image quality loss as possible. {{code|GL_NICEST}} should be selected if the texture is to be retrieved by {{apifunc|glGetCompressedTexImage}} for reuse.
+
Indicates the quality and performance of the compressing texture images. Hinting {{enum|GL_FASTEST}} indicates that texture images should be compressed as quickly as possible, while {{enum|GL_NICEST}} indicates that texture images should be compressed with as little image quality loss as possible. {{enum|GL_NICEST}} should be selected if the texture is to be retrieved by {{apifunc|glGetCompressedTexImage}} for reuse.
 
== Notes ==
 
== Notes ==
  
Line 48: Line 48:
 
== Errors ==
 
== Errors ==
  
{{code|GL_INVALID_ENUM}} is generated if either {{param|target}} or {{param|mode}} is not an accepted value.
+
{{enum|GL_INVALID_ENUM}} is generated if either {{param|target}} or {{param|mode}} is not an accepted value.
  
 
== Copyright ==
 
== Copyright ==
  
Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see [http://oss.sgi.com/projects/FreeB/ http://oss.sgi.com/projects/FreeB/].
+
Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see [https://khronos.org/registry/OpenGL-Refpages/LICENSES/LicenseRef-FreeB.txt LicenseRef-FreeB].
  
 
[[Category:Core API Reference|Hint]]
 
[[Category:Core API Reference|Hint]]

Latest revision as of 22:24, 5 February 2021

glHint
Core in version 4.6
Core since version 1.0

glHint: specify implementation-specific hints

Function Definition

 void glHint(GLenum target​, GLenum mode​);
target
Specifies a symbolic constant indicating the behavior to be controlled. GL_LINE_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT, and GL_FRAGMENT_SHADER_DERIVATIVE_HINT are accepted.
mode
Specifies a symbolic constant indicating the desired behavior. GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted.

Description

Certain aspects of GL behavior, when there is room for interpretation, can be controlled with hints. A hint is specified with two arguments. target​ is a symbolic constant indicating the behavior to be controlled, and mode​ is another symbolic constant indicating the desired behavior. The initial value for each target​ is GL_DONT_CARE. mode​ can be one of the following:

GL_FASTEST

The most efficient option should be chosen.

GL_NICEST

The most correct, or highest quality, option should be chosen.

GL_DONT_CARE

No preference. Though the implementation aspects that can be hinted are well defined, the interpretation of the hints depends on the implementation. The hint aspects that can be specified with target​, along with suggested semantics, are as follows:

GL_FRAGMENT_SHADER_DERIVATIVE_HINT

Indicates the accuracy of the derivative calculation for the GL shading language fragment processing built-in functions: dFdx, dFdy, and fwidth.

GL_LINE_SMOOTH_HINT

Indicates the sampling quality of antialiased lines. If a larger filter function is applied, hinting GL_NICEST can result in more pixel fragments being generated during rasterization.

GL_POLYGON_SMOOTH_HINT

Indicates the sampling quality of antialiased polygons. Hinting GL_NICEST can result in more pixel fragments being generated during rasterization, if a larger filter function is applied.

GL_TEXTURE_COMPRESSION_HINT

Indicates the quality and performance of the compressing texture images. Hinting GL_FASTEST indicates that texture images should be compressed as quickly as possible, while GL_NICEST indicates that texture images should be compressed with as little image quality loss as possible. GL_NICEST should be selected if the texture is to be retrieved by glGetCompressedTexImage for reuse.

Notes

The interpretation of hints depends on the implementation. Some implementations ignore glHint settings.

Errors

GL_INVALID_ENUM is generated if either target​ or mode​ is not an accepted value.

Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see LicenseRef-FreeB.