gluBuild1DMipmapLevels
Prev | GLU | Next

## Name

gluBuild1DMipmapLevels, gluBuild1DMipmapLevelsb, gluBuild1DMipmapLevelsf, gluBuild1DMipmapLevelsi, gluBuild1DMipmapLevelss, gluBuild1DMipmapLevelsub, gluBuild1DMipmapLevelsui, gluBuild1DMipmapLevelsus — builds a subset of one-dimensional mipmap levels

## C Specification

`GLint `gluBuild1DMipmapLevels`` | `(` | `GLenum `target`, GLint `internalFormat`, GLsizei `width`, GLenum `format`, GLenum `type`, GLint `level`, GLint `base`, GLint `max`, const void *`data`);`

## Python Specification

``gluBuild1DMipmapLevels`` | `(` | ``target`, `internalFormat`, `width`, `format`, `type`, `level`, `base`, `max`, `data`) → `None``
``gluBuild1DMipmapLevelsb`` | `(` | ``target`, `internalFormat`, `format`, `level`, `base`, `max`, `data`[][]) → `None``
``gluBuild1DMipmapLevelsf`` | `(` | ``target`, `internalFormat`, `format`, `level`, `base`, `max`, `data`[][]) → `None``
``gluBuild1DMipmapLevelsi`` | `(` | ``target`, `internalFormat`, `format`, `level`, `base`, `max`, `data`[][]) → `None``
``gluBuild1DMipmapLevelss`` | `(` | ``target`, `internalFormat`, `format`, `level`, `base`, `max`, `data`[][]) → `None``
``gluBuild1DMipmapLevelsub`` | `(` | ``target`, `internalFormat`, `format`, `level`, `base`, `max`, `data`[][]) → `None``
``gluBuild1DMipmapLevelsui`` | `(` | ``target`, `internalFormat`, `format`, `level`, `base`, `max`, `data`[][]) → `None``
``gluBuild1DMipmapLevelsus`` | `(` | ``target`, `internalFormat`, `format`, `level`, `base`, `max`, `data`[][]) → `None``

## Parameters

`target`
  Specifies the target texture. Must be `GL_TEXTURE_1D`.
`internalFormat`
  Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants: `GL_ALPHA`, `GL_ALPHA4`, `GL_ALPHA8`, `GL_ALPHA12`, `GL_ALPHA16`, `GL_LUMINANCE`, `GL_LUMINANCE4`, `GL_LUMINANCE8`, `GL_LUMINANCE12`, `GL_LUMINANCE16`, `GL_LUMINANCE_ALPHA`, `GL_LUMINANCE4_ALPHA4`, `GL_LUMINANCE6_ALPHA2`, `GL_LUMINANCE8_ALPHA8`, `GL_LUMINANCE12_ALPHA4`, `GL_LUMINANCE12_ALPHA12`, `GL_LUMINANCE16_ALPHA16`, `GL_INTENSITY`, `GL_INTENSITY4`, `GL_INTENSITY8`, `GL_INTENSITY12`, `GL_INTENSITY16`, `GL_RGB`, `GL_R3_G3_B2`, `GL_RGB4`, `GL_RGB5`, `GL_RGB8`, `GL_RGB10`, `GL_RGB12`, `GL_RGB16`, `GL_RGBA`, `GL_RGBA2`, `GL_RGBA4`, `GL_RGB5_A1`, `GL_RGBA8`, `GL_RGB10_A2`, `GL_RGBA12` or `GL_RGBA16`.
`width`
  Specifies the width in pixels of the texture image. This should be a power of 2.
`format`
  Specifies the format of the pixel data. Must be one of: `GL_COLOR_INDEX`, `GL_DEPTH_COMPONENT`, `GL_RED`, `GL_GREEN`, `GL_BLUE`, `GL_ALPHA`, `GL_RGB`, `GL_RGBA`, `GL_BGR`, `GL_BGRA`, `GL_LUMINANCE`, or `GL_LUMINANCE_ALPHA`.
`type`
  Specifies the data type for `data`. Must be one of: `GL_UNSIGNED_BYTE`, `GL_BYTE`, `GL_BITMAP`, `GL_UNSIGNED_SHORT`, `GL_SHORT`, `GL_UNSIGNED_INT`, `GL_INT`, `GL_FLOAT`, `GL_UNSIGNED_BYTE_3_3_2`, `GL_UNSIGNED_BYTE_2_3_3_REV`, `GL_UNSIGNED_SHORT_5_6_5`, `GL_UNSIGNED_SHORT_5_6_5_REV`, `GL_UNSIGNED_SHORT_4_4_4_4`, `GL_UNSIGNED_SHORT_4_4_4_4_REV`, `GL_UNSIGNED_SHORT_5_5_5_1`, `GL_UNSIGNED_SHORT_1_5_5_5_REV`, `GL_UNSIGNED_INT_8_8_8_8`, `GL_UNSIGNED_INT_8_8_8_8_REV`, `GL_UNSIGNED_INT_10_10_10_2`, or `GL_UNSIGNED_INT_2_10_10_10_REV`.
`level`
  Specifies the mipmap level of the image data.
`base`
  Specifies the minimum mipmap level to pass to `glTexImage1D`.
`max`
  Specifies the maximum mipmap level to pass to `glTexImage1D`.
`data`
  Specifies a pointer to the image data in memory.

## Description

`gluBuild1DMipmapLevels` builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives.

A return value of zero indicates success, otherwise a GLU error code is returned (see gluErrorString).

A series of mipmap levels from `base` to `max` is built by decimating `data` in half until size 1×1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. `glTexImage1D` is called to load these mipmap levels from `base` to `max`. If `max` is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see gluErrorString) and nothing is loaded.

For example, if `level` is 2 and `width` is 16, the following levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 through 6 respectively. If `base` is 3 and `max` is 5, then only mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if `max` is 7 then an error is returned and nothing is loaded since `max` is larger than the highest mipmap level which is, in this case, 6.

The highest mipmap level can be derived from the formula log 2 width · 2 level .

See the `glTexImage1D` reference page for a description of the acceptable values for `type` parameter. See the `glDrawPixels` reference page for a description of the acceptable values for `level` parameter.

## Notes

`gluBuild1DMipmapLevels` is only available if the GLU version is 1.3 or greater.

Formats `GL_BGR`, and `GL_BGRA`, and types `GL_UNSIGNED_BYTE_3_3_2`, `GL_UNSIGNED_BYTE_2_3_3_REV`, `GL_UNSIGNED_SHORT_5_6_5`, `GL_UNSIGNED_SHORT_5_6_5_REV`, `GL_UNSIGNED_SHORT_4_4_4_4`, `GL_UNSIGNED_SHORT_4_4_4_4_REV`, `GL_UNSIGNED_SHORT_5_5_5_1`, `GL_UNSIGNED_SHORT_1_5_5_5_REV`, `GL_UNSIGNED_INT_8_8_8_8`, `GL_UNSIGNED_INT_8_8_8_8_REV`, `GL_UNSIGNED_INT_10_10_10_2`, and `GL_UNSIGNED_INT_2_10_10_10_REV` are only available if the GL version is 1.2 or greater.

## Errors

`GLU_INVALID_VALUE` is returned if `level` > `base`, `base` < 0, `max` < `base` or `max` is > the highest mipmap level for `data`.

`GLU_INVALID_VALUE` is returned if `width` is < 1.

`GLU_INVALID_ENUM` is returned if `internalFormat`, `format`, or `type` are not legal.

`GLU_INVALID_OPERATION` is returned if `type` is `GL_UNSIGNED_BYTE_3_3_2` or `GL_UNSIGNED_BYTE_2_3_3_REV` and `format` is not `GL_RGB`.

`GLU_INVALID_OPERATION` is returned if `type` is `GL_UNSIGNED_SHORT_5_6_5` or `GL_UNSIGNED_SHORT_5_6_5_REV` and `format` is not `GL_RGB`.

`GLU_INVALID_OPERATION` is returned if `type` is `GL_UNSIGNED_SHORT_4_4_4_4` or `GL_UNSIGNED_SHORT_4_4_4_4_REV` and `format` is neither `GL_RGBA` nor `GL_BGRA`.

`GLU_INVALID_OPERATION` is returned if `type` is `GL_UNSIGNED_SHORT_5_5_5_1` or `GL_UNSIGNED_SHORT_1_5_5_5_REV` and `format` is neither `GL_RGBA` nor `GL_BGRA`.

`GLU_INVALID_OPERATION` is returned if `type` is `GL_UNSIGNED_INT_8_8_8_8` or `GL_UNSIGNED_INT_8_8_8_8_REV` and `format` is neither `GL_RGBA` nor `GL_BGRA`.

`GLU_INVALID_OPERATION` is returned if `type` is `GL_UNSIGNED_INT_10_10_10_2` or `GL_UNSIGNED_INT_2_10_10_10_REV` and `format` is neither `GL_RGBA` nor `GL_BGRA`.

## See Also

glDrawPixels, glTexImage1D, glTexImage2D, glTexImage3D, gluBuild1DMipmaps, gluBuild2DMipmaps, gluBuild3DMipmaps, gluErrorString, glGetTexImage, glGetTexLevelParameter, gluBuild2DMipmapLevels, gluBuild3DMipmapLevels

Prev | Up | Next
gluBeginTrim | Home | gluBuild1DMipmaps