Gambas Documentation
Aperçu du Langage
À traduire
Code Snippets
Comment faire ...
Compilation et installation
Composants
gb
gb.args
gb.cairo
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.db
gb.db.form
gb.dbus
gb.debug
gb.desktop
gb.desktop.gnome.keyring
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.mdi
gb.gmp
gb.gsl
gb.gtk
gb.gtk3
gb.gui
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.libxml
gb.media
gb.mysql
gb.net
gb.net.curl
gb.net.smtp
gb.openal
gb.opengl
gb.opengl.glsl
gb.opengl.glu
Glu
AUTO_LOAD_MATRIX
Build1DMipmaps
CULLING
Cylinder
DISPLAY_MODE
FILL
FLAT
INSIDE
INVALID_ENUM
INVALID_VALUE
LINE
LookAt
NewNurbsRenderer
NewQuadric
NONE
NURBS_MODE
Ortho2D
OUT_OF_MEMORY
OUTSIDE
PARAMETRIC_TOLERANCE
PartialDisk
Perspective
PickMatrix
POINT
QuadricDrawStyle
QuadricNormals
QuadricOrientation
QuadricTexture
SAMPLING_METHOD
SAMPLING_TOLERANCE
SILHOUETTE
SMOOTH
Sphere
U_STEP
V_STEP
GluNurb
GluQuadric
gb.opengl.sge
gb.option
gb.pcre
gb.pdf
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt5
gb.qt5.opengl
gb.report
gb.scanner
gb.sdl
gb.sdl.sound
gb.settings
gb.signal
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Derniers changements
Dépôt d'applications
Documentation de l'Environnement de développement
Documentation des développeurs
Documents
Indenter
Index de tous les Documents
Index du langage
Lexique
LISEZ-MOI
Manuel du wiki
Messages d'erreur
Tutoriels
Wiki License

Glu.Build1DMipmaps (gb.opengl.glu)

Static Function Build1DMipmaps ( Image As Image ) As Integer

Construit un "mipmap" mono-dimensionnel.

Paramètres

target

Spécifie la texture cible. elle doit être Glu.TEXTURE_1D.
internalFormat

Demande le stockage interne de la texture d'image . La version la plus courante de l'implémentation SGI de GLU ne vérifie pas la validité
de cette valeur avant de la passer à l'implémentation OpenGL sous-jacente. Une valeur qui n'est pas acceptée par l'implémentation OpenGL produira une erreur OpenGL. Le bénéfice de ne pas vérifier cette valeur au niveau GLU est que
les extensions OpenGL peuvent ajouter de nouveaux formats internes
de textures sans nécessiter une révision de l'implémentation GLU. Les plus anciennes implémentations de GLU vérifient cette valeur et lèvent
une erreur GLU si ce n'est pas 1, 2, 3, ou 4 ou l'une des constantes symboliques suivantes : Glu.ALPHA, Glu.ALPHA4, Glu.ALPHA8, Glu.ALPHA12, Glu.ALPHA16, Glu.LUMINANCE, Glu.LUMINANCE4, Glu.LUMINANCE8, Glu.LUMINANCE12, Glu.LUMINANCE16, Glu.LUMINANCE_ALPHA, Glu.LUMINANCE4_ALPHA4, Glu.LUMINANCE6_ALPHA2, Glu.LUMINANCE8_ALPHA8, Glu.LUMINANCE12_ALPHA4, Glu.LUMINANCE12_ALPHA12, Glu.LUMINANCE16_ALPHA16, Glu.INTENSITY, Glu.INTENSITY4, Glu.INTENSITY8, Glu.INTENSITY12, Glu.INTENSITY16, Glu.RGB, Glu.R3_G3_B2, Glu.RGB4, Glu.RGB5, Glu.RGB8, Glu.RGB10, Glu.RGB12, Glu.RGB16, Glu.RGBA, Glu.RGBA2, Glu.RGBA4, Glu.RGB5_A1, Glu.RGBA8, Glu.RGB10_A2, Glu.RGBA12, or Glu.RGBA16.
width

Spécifie la largeur, en pixels, de l'image de texture .
format

Spécifie le format des données pixel. Ce doit être Glu.COLOR_INDEX, Glu.DEPTH_COMPONENT, Glu.RED, Glu.GREEN, Glu.BLUE, Glu.ALPHA, Glu.RGB, Glu.RGBA, Glu.BGR, Glu.BGRA, Glu.LUMINANCE, or Glu.LUMINANCE_ALPHA.
type

Specifies the data type for data. Must be one of Glu.UNSIGNED_BYTE, Glu.BYTE, Glu.BITMAP, Glu.UNSIGNED_SHORT, Glu.SHORT, Glu.UNSIGNED_INT, Glu.INT, Glu.FLOAT, Glu.UNSIGNED_BYTE_3_3_2, Glu.UNSIGNED_BYTE_2_3_3_REV, Glu.UNSIGNED_SHORT_5_6_5, Glu.UNSIGNED_SHORT_5_6_5_REV, Glu.UNSIGNED_SHORT_4_4_4_4, Glu.UNSIGNED_SHORT_4_4_4_4_REV, Glu.UNSIGNED_SHORT_5_5_5_1, Glu.UNSIGNED_SHORT_1_5_5_5_REV, Glu.UNSIGNED_INT_8_8_8_8, Glu.UNSIGNED_INT_8_8_8_8_REV, Glu.UNSIGNED_INT_10_10_10_2, or Glu.UNSIGNED_INT_2_10_10_10_REV.
data

Spécifie un pointeur vers les données image en mémoire.

Description

Glu.Build1DMipmaps construit une série de cartes de textures mono-dimensionnelles pré-filtrées de résolution décroissante appelée un "mipmap". Ceci est utilisé pour l’anticrénelage de primitives de texture "mappées" .

Une valeur de retour zéro indique le succès, sinon un code erreur GLU est retourné (voir Glu.ErrorString).

Initialement, la largeur de data est vérifiée pour voir si c'est une puissance de 2. Si ce n'est pas le cas, une copie de data est mise à l’échelle vers le haut ou vers le bas à la puissance de 2 la plus proche. (Si width est exactement entre 2 puissances de 2, la copie de data sera redimensionnée vers le haut.) Cette copie sera utilisée pour des opérations de mipmapping subséquentes décrites ci dessous. Par exemple, si width vaut 57, une copie de data sera agrandie à 64 avant que le mipmapping ait lieu.

Ensuite, les textures proxy (voir Gl.TexImage1D) sont utilisées pour déterminer si l’implémentation peut concorder avec la texture demandée. Si ce n'est pas le cas, width est continuellement réduite de moitié jusqu'à ce qu'elle concorde.

Puis, une serie de niveaux mipmap est construite en réduisant de moitié une copie de data jusqu'à ce que la taille 1 × 1 soit atteinte. A chaque niveau, chaque texel du niveau mipmap réduit est une moyenne des deux texel correspondants du niveau mipmap supérieur.

Gl.TexImage1D est appelé pour charger chacun de ces niveaux de mipmap. Le niveau 0 est une copie de data. Le plus haut niveau est log 2 width . Par exemple, si width vaut 64 et que l’implémentation peut stoker une texture de cette taille, les niveaux de mipmap suivants sont construits : 64 × 1 , 32 × 1 , 16 × 1 , 8 × 1 , 4 × 1 , 2 × 1 , et 1 × 1 . Ils correspondent aux niveaux 0 à 6, respectivement.

Voir la page de référence de Gl.TexImage1D pour une description des valeurs acceptées pour le parametre type. Voir la page de référence de Gl.DrawPixels pour une description des valeurs acceptées pour le parametre data.

Notes

Notez qu'il n'y a pas de moyen direct de requérir le niveau maximum. Il peut être déduit indirectement via Gl.GetTexLevelParameter. Demandez d'abord la largeur utilisée actuellement au niveau 0. (La largeur peut être différente de width puisque les textures proxy peuvent avoir été redimensionnées pour s’accorder à l’implémentation.) Le niveau maximum peut être évalué à partir de la formule log 2 width .

Les formats Glu.BGR, et Glu.BGRA, et les types Glu.UNSIGNED_BYTE_3_3_2, Glu.UNSIGNED_BYTE_2_3_3_REV, Glu.UNSIGNED_SHORT_5_6_5, Glu.UNSIGNED_SHORT_5_6_5_REV, Glu.UNSIGNED_SHORT_4_4_4_4, Glu.UNSIGNED_SHORT_4_4_4_4_REV, Glu.UNSIGNED_SHORT_5_5_5_1, Glu.UNSIGNED_SHORT_1_5_5_5_REV, Glu.UNSIGNED_INT_8_8_8_8, Glu.UNSIGNED_INT_8_8_8_8_REV, Glu.UNSIGNED_INT_10_10_10_2, and Glu.UNSIGNED_INT_2_10_10_10_REV ne sont disponibles que pour les versions GL 1.2 ou supérieures, et si la version de GLU est 1.3 ou supérieure.

Erreurs

Glu.INVALID_VALUE est retourné si width est < 1.

Glu.INVALID_ENUM est retourné si format ou type ne sont pas valides.

Glu.INVALID_OPERATION est retourné si type est Glu.UNSIGNED_BYTE_3_3_2 ou Glu.UNSIGNED_BYTE_2_3_3_REV et format n'est pas Glu.RGB.

Glu.INVALID_OPERATION est retourné si type est Glu.UNSIGNED_SHORT_5_6_5 ou Glu.UNSIGNED_SHORT_5_6_5_REV et format n'est pas Glu.RGB.

Glu.INVALID_OPERATION est retourné si type est Glu.UNSIGNED_SHORT_4_4_4_4 ou Glu.UNSIGNED_SHORT_4_4_4_4_REV et format n'est pas Glu.RGBA ni Glu.BGRA.

Glu.INVALID_OPERATION est retourné si type est Glu.UNSIGNED_SHORT_5_5_5_1 ou Glu.UNSIGNED_SHORT_1_5_5_5_REV et_format_ n'est pas Glu.RGBA ni Glu.BGRA.

Glu.INVALID_OPERATION est retourné si type est Glu.UNSIGNED_INT_8_8_8_8 ou Glu.UNSIGNED_INT_8_8_8_8_REV et format n'est pas Glu.RGBA ni Glu.BGRA.

Glu.INVALID_OPERATION est retourné si type est Glu.UNSIGNED_INT_10_10_10_2 ou Glu.UNSIGNED_INT_2_10_10_10_REV et format n'est pas Glu.RGBA ni Glu.BGRA.

Voir aussi

Glu.Build1DMipmapLevels, Glu.Build2DMipmapLevels, Glu.Build3DMipmapLevels, Glu.Build3DMipmaps, Glu.ErrorString, Gl.DrawPixels, Gl.GetTexImage, Gl.GetTexLevelParameter, Gl.TexImage1D, Gl.TexImage2D, Gl.TexImage3D

Voir la documentation originale sur le site web OpenGL