1991-2006 Silicon Graphics, Inc.
glHint 3G
glHint specify implementation-specific hints

## C Specification

void `glHint` GLenum target GLenum mode

## Parameters

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 http://oss.sgi.com/projects/FreeB/.