GeeXLab
Current version: 0.45.1
>GeeXLab homepage

FurMark
Current version: 1.30.0
>FurMark homepage

GPU Caps Viewer
Current version: 1.55.0.0
>GPU Caps Viewer homepage

GPU Shark
Current version: 0.26.0.0
>GPU Shark homepage


Blogs
>JeGX's HackLab

Geeks3D's Articles
>GPU Memory Speed Demystified

>Multi-Threading Programming Resources

>GeForce and Radeon OpenCL Overview

>How to Get your Multi-core CPU Busy at 100%

>How To Make a VGA Dummy Plug

>Night Vision Post Processing Filter

PhysX FluidMark
Current version: 1.5.4
>FluidMark homepage

TessMark
Current version: 0.3.0
>TessMark homepage

ShaderToyMark
Current version: 0.3.0
>ShaderToyMark homepage
>ShaderToyMark Scores

Demoniak3D
Current Version: 1.23.0
>Demoniak3D
>Download
>Libraries and Plugins
>Demos
>Online Help - Reference Guide
>Codes Samples
 
oZone3D.Net - Demoniak3D Developer Guide


» Back To Index

API Demoniak3D/LUA: fonctions de manipulation des textures

La librairie HYP_Texture effectue des opérations générales sur les textures.
HYP_Texture.SetAddressingMode
HYP_Texture.SetFilteringAnisotropicValue
HYP_Texture.SetFilteringMode
HYP_Texture.SetFunction
HYP_Texture.Save
HYP_Texture.LoadTex2D
HYP_Texture.LoadTex2DAvi
HYP_Texture.Create
HYP_Texture.Destroy
HYP_Texture.SetName
HYP_Texture.SetValueTex1DByteRgb
HYP_Texture.SetValueTex1DFloatRgba
HYP_Texture.SetValueTex2DByteRgb
HYP_Texture.SetValueTex2DFloatRgba
HYP_Texture.GetValueTex1DByteRgb
HYP_Texture.GetValueTex1DFloatRgba
HYP_Texture.GetValueTex2DByteRgb
HYP_Texture.GetValueTex2DFloatRgba
HYP_Texture.GetDimensions
HYP_Texture.SetTransformMatrix
HYP_Texture.GetTransformMatrix
HYP_Texture.PlayStopAVI
HYP_Texture.GetAVINumFrames
HYP_Texture.GetAVIMpf
HYP_Texture.GetAVICurrentTime
HYP_Texture.SetAVICurrentFrame
HYP_Texture.GetAVICurrentFrame
HYP_Texture.GetIdFromName

GetDimensions

GetDimensions permet de récupérer les dimensions d'une texture.
Syntaxe
w, h, d = HYP_Texture.GetDimensions( texture_name | tid );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • w - [INTEGER] - largeur de la texture.
  • h - [INTEGER] - hauteur de la texture.
  • d - [INTEGER] - profondeur de la texture.

LoadTex2D

LoadTex2D permet de charger une texture 2D depuis le disque dur.
Syntaxe
tid = HYP_Texture.LoadTex2D( filename, pixel_format, compresss );
  • filename - [STR255] - nom du fichier de texture en adressage relatif par rapport au script XML principal.
  • pixel_format - [INTEGER] - format de pixel de la texture:
    • RGBA_FLOAT_PIXEL_FORMAT = 1;
    • RGB_BYTE_PIXEL_FORMAT = 2;
    • RGBA_32F_PIXEL_FORMAT = 4;
  • compress - [INTEGER] - active (1) ou désactive (0) la compression de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture créée.
Exemple
RGB_BYTE_PIXEL_FORMAT = 2;
tid = HYP_Texture.LoadTex2D("data/textures/wood.jpg", RGB_BYTE_PIXEL_FORMAT, 0 );

LoadTex2DAvi

LoadTex2DAvi permet de charger une texture animée de type fichier vidéo AVI.
Syntaxe
tid = HYP_Texture.LoadTex2DAvi( avi_filename );
  • avi_filename - [STR255] - nom du fichier de texture en adressage relatif par rapport au script XML principal.
  • tid - [INTEGER] - identifiant numérique de la texture créée.
Exemple
tid = HYP_Texture.LoadTex2DAvi("data/animated_textures/water.avi" );

Create

Create permet de charger une texture 2D depuis le disque dur.
Syntaxe
tid = HYP_Texture.Create( type, pixel_format, w, h, d );
  • type - [INTEGER] - type de la texture:
    • TEXTURE_1D = 1;
    • TEXTURE_2D = 2;
    • TEXTURE_RECTANGLE_2D = 4;
  • pixel_format - [INTEGER] - format de pixel de la texture:
    • RGBA_FLOAT_PIXEL_FORMAT = 1;
    • RGB_BYTE_PIXEL_FORMAT = 2;
    • RGBA_32F_PIXEL_FORMAT = 4;
  • w - [INTEGER] - largeur de la texture (pour texture 1D / 2D et RECT_2D).
  • h - [INTEGER] - hauteur de la texture (pour texture 2D et RECT_2D).
  • d - [INTEGER] - profondeur de la texture (pour texture 3D - non implémenté).
  • tid - [INTEGER] - identifiant numérique de la texture créée.
Exemple
TEXTURE_1D = 1;
RGBA_FLOAT_PIXEL_FORMAT = 1; 
tid = HYP_Texture.Create( TEXTURE_1D, RGBA_FLOAT_PIXEL_FORMAT, 256, 0, 0 );

Destroy

Destroy permet de détruire une texture créée avec Create() ou LoadTex2D(). Destroy ne peut pas détruire une texture créée statiquement dans le script XML.
Syntaxe
HYP_Texture.Destroy( texture_name | tid );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.

SetName

SetName permet de renommer une texture.
Syntaxe
HYP_Texture.SetName( old_name | tid, new_name );
  • old_name - [STR127] - ancien nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • new_name - [STR127] - nouveau nom de la texture.

GetIdFromName

GetIdFromName permet de récupérer l'identifant numérique de la texture à partir de son nom.
Syntaxe
tid = HYP_Texture.GetIdFromName( texture_name );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.

SetValueTex1DByteRgb

SetValueTex1DByteRgb permet de modifier les données (texels) d'une texture 1D avec un format de pixel RGB_BYTE.
Syntaxe
HYP_Texture.SetValueTex1DByteRgb( texure_name | tid, offset, r, g, b );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • offset - [INTEGER] - localisation du texel à modifier. Valeur compise entre 0 et texture_width.
  • r - [INTEGER] - valeur de la composante rouge - [0 - 255].
  • g - [INTEGER] - valeur de la composante verte - [0 - 255].
  • b - [INTEGER] - valeur de la composante bleue - [0 - 255].

GetValueTex1DByteRgb

GetValueTex1DByteRgb permet de récupérer les données (texels) d'une texture 1D avec un format de pixel RGB_BYTE.
Syntaxe
r, g, b = HYP_Texture.GetValueTex1DByteRgb( texure_name | tid, offset );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • offset - [INTEGER] - localisation du texel. Valeur compise entre 0 et texture_width.
  • r - [INTEGER] - valeur de la composante rouge - [0 - 255].
  • g - [INTEGER] - valeur de la composante verte - [0 - 255].
  • b - [INTEGER] - valeur de la composante bleue - [0 - 255].

SetValueTex1DFloatRgba

SetValueTex1DFloatRgba permet de modifier les données (texels) d'une texture 1D avec un format de pixel RGBA_FLOAT ou RGBA_32F.
Syntaxe
HYP_Texture.SetValueTex1DFloatRgba( texure_name | tid, offset, r, g, b, a );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • offset - [INTEGER] - localisation du texel à modifier. Valeur compise entre 0 et texture_width.
  • r - [REAL] - valeur de la composante rouge.
  • g - [REAL] - valeur de la composante verte.
  • b - [REAL] - valeur de la composante bleue.
  • a - [REAL] - valeur de la composante alpha.

GetValueTex1DFloatRgba

GetValueTex1DFloatRgba permet de récupérer les données (texels) d'une texture 1D avec un format de pixel RGBA_FLOAT ou RGBA_32F.
Syntaxe
r, g, b, a = HYP_Texture.GetValueTex1DFloatRgba( texure_name | tid, offset );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • offset - [INTEGER] - localisation du texel. Valeur compise entre 0 et texture_width.
  • r - [REAL] - valeur de la composante rouge.
  • g - [REAL] - valeur de la composante verte.
  • b - [REAL] - valeur de la composante bleue.
  • a - [REAL] - valeur de la composante alpha.

SetValueTex2DByteRgb

SetValueTex2DByteRgb permet de modifier les données (texels) d'une texture 2D avec un format de pixel RGB_BYTE.
Syntaxe
HYP_Texture.SetValueTex2DByteRgb( texure_name | tid, offset, r, g, b );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • offset - [INTEGER] - localisation du texel à modifier. Valeur compise entre 0 et texture_width*texture_height.
  • r - [INTEGER] - valeur de la composante rouge - [0 - 255].
  • g - [INTEGER] - valeur de la composante verte - [0 - 255].
  • b - [INTEGER] - valeur de la composante bleue - [0 - 255].

GetValueTex2DByteRgb

GetValueTex2DByteRgb permet de modifier les données (texels) d'une texture 2D avec un format de pixel RGB_BYTE.
Syntaxe
r, g, b = HYP_Texture.GetValueTex2DByteRgb( texure_name | tid, offset );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • offset - [INTEGER] - localisation du texel. Valeur compise entre 0 et texture_width*texture_height.
  • r - [INTEGER] - valeur de la composante rouge - [0 - 255].
  • g - [INTEGER] - valeur de la composante verte - [0 - 255].
  • b - [INTEGER] - valeur de la composante bleue - [0 - 255].

SetValueTex2DFloatRgba

SetValueTex2DFloatRgba permet de modifier les données (texels) d'une texture 2D avec un format de pixel RGBA_FLOAT ou RGBA_32F.
Syntaxe
HYP_Texture.SetValueTex2DFloatRgba( texure_name | tid, offset, r, g, b, a );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • offset - [INTEGER] - localisation du textel à modifier. Valeur compise entre 0 et texture_width*texture_height.
  • r - [REAL] - valeur de la composante rouge.
  • g - [REAL] - valeur de la composante verte.
  • b - [REAL] - valeur de la composante bleue.
  • a - [REAL] - valeur de la composante alpha.

GetValueTex2DFloatRgba

GetValueTex2DFloatRgba permet de modifier les données (texels) d'une texture 2D avec un format de pixel RGBA_FLOAT ou RGBA_32F.
Syntaxe
r, g, b, a = HYP_Texture.GetValueTex2DFloatRgba( texure_name | tid, offset );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • offset - [INTEGER] - localisation du textel. Valeur compise entre 0 et texture_width*texture_height.
  • r - [REAL] - valeur de la composante rouge.
  • g - [REAL] - valeur de la composante verte.
  • b - [REAL] - valeur de la composante bleue.
  • a - [REAL] - valeur de la composante alpha.

SetAddressingMode

SetAddressingMode permet de changer le mode d'adressage de la texture. Voir texture_addressing_mode pour plus de détails.
Syntaxe
HYP_Texture.SetAddressingMode( texture_name | tid, tam );
  • texture_name - [STR127] - nom de la texture comme spécifié dans le script XML par l'attribut name.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • tam - [INTEGER] - mode d'adressage. Les valeurs suivantes sont acceptées:
    • 0 pour WRAP
    • 1 pour MIRROR
    • 2 pour CLAMP
Exemple
MIRROR = 1;
HYP_Texture.SetAddressingMode("base_map_tex", MIRROR );

SetFilteringAnisotropicValue

SetFilteringAnisotropicValue permet de changer le facteur de filtrage anisotropique de la texture. Voir texture_filtering_anisotropic_value pour plus de détails.
Syntaxe
HYP_Texture.SetFilteringAnisotropicValue( texture_name | tid, val );
  • texture_name - [STR127] - nom de la texture comme spécifié dans le script XML par l'attribut name.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • val - [REAL] - valeur du filtrage anisotropique.
Exemple
HYP_Texture.SetFilteringAnisotropicValue("base_map_tex", 8.0 );

SetFilteringMode

SetFilteringMode permet de changer le mode de filtrage de la texture. Voir texture_filtering_mode pour plus de détails.
Syntaxe
HYP_Texture.SetFilteringMode( texture_name | tid, filter_type );
  • texture_name - [STR127] - nom de la texture comme spécifié dans le script XML par l'attribut name.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • filter_mode - [INTEGER] - mode de filtrage. Les valeurs suivantes sont acceptées:
    • 0 pour NONE
    • 1 pour LINEAR
    • 2 pour TRILINEAR
Exemple
TRILINEAR = 2;
HYP_Texture.SetFilteringMode("base_map_tex", TRILINEAR );
HYP_Texture.SetFilteringAnisotropicValue("base_map_tex", 10.0 );

SetFunction

SetFunction permet de changer la fonction de texture. Voir texture_function pour plus de détails.
Syntaxe
HYP_Texture.SetFunction( texture_name | tid, texture_function );
  • texture_name - [STR127] - nom de la texture comme spécifié dans le script XML par l'attribut name.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • texture_function - [INTEGER] - fonction de texture. Les valeurs suivantes sont acceptées:
    • 0 pour MODULATE
    • 1 pour REPLACE
    • 2 pour ADD
    • 3 pour ADD_SIGNED
    • 4 pour SUB
Exemple
TFUNC_MODULATE = 0;
HYP_Texture.SetFunction( "base_map_tex", TFUNC_MODULATE );

Save

Save permet de sauvegarder la texture sur le disque dur.
Syntaxe
HYP_Texture.Save( texture_name | tid, [filename] );
  • texture_name - [STR127] - nom de la texture comme spécifié dans le script XML par l'attribut name.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • filename - [STR255] - nom du fichier de texture. Ce paramètre est optionnel. Si il est omis, la texture sera enregistrée avec le nom suivant: texture_output_xxx.jpg où xxx est une valeur numérique qui s'incrémente à chaque appel de la fonction Save().

SetTransformMatrix

SetTransformMatrix permet de mettre à jour la matrice de transformation des coordonnées de texture. Cette matrice suit les conventions OpenGL: vecteurs colonnes et multiplication des matrices de droite à gauche.
|x'|   | m0   m4    m8    m12 |   |x|
|y'| = | m1   m5    m9    m13 | * |y|
|z'|   | m2   m6    m10   m14 |   |z|
|1 |   | m3   m7    m11   m15 |   |1|

		--    --    --    --
		 X     Y     Z    Position
		axis  axis  axis
Syntaxe
HYP_Texture.SetTransformMatrix( tex_name | tex_id, 
m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15 );
  • tex_name - [STR127] - nom de la texture.
  • tex_id - [INTEGER] - identifiant numérique de la texture.
  • m0 à m15 - [REAL] - les 16 éléments de la matrice 4x4.

GetTransformMatrix

GetTransformMatrix permet de récupérer la matrice de transformation des coordonnées de texture. Cette matrice suit les conventions OpenGL: vecteurs colonnes et multiplication des matrices de droite à gauche.
|x'|   | m0   m4    m8    m12 |   |x|
|y'| = | m1   m5    m9    m13 | * |y|
|z'|   | m2   m6    m10   m14 |   |z|
|1 |   | m3   m7    m11   m15 |   |1|

		--    --    --    --
		 X     Y     Z    Position
		axis  axis  axis
Syntaxe
m0 to m15 = HYP_Texture.GetTransformMatrix( tex_name | tex_id );
  • tex_name - [STR127] - nom de la texture.
  • tex_id - [INTEGER] - identifiant numérique de la texture.
  • m0 à m15 - [REAL] - les 16 éléments de la matrice 4x4.

PlayStopAVI

PlayStopAVI permet de jouer ou de stopper un AVI.
Syntaxe
HYP_Texture.PlayStopAVI( texture_name | tid, state );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • state - [INTEGER] - 1 pour jouer et 0 pour stopper.

GetAVINumFrames

GetAVINumFrames permet de récupérer le nombre de frames d'une texture animée AVI.
Syntaxe
nFrames = HYP_Texture.GetAVINumFrames( texture_name | tid );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • nFrames - [INTEGER] - nombre de frames.

GetAVIMpf

GetAVIMpf permet de récupérer le nombre de millisecondes par frame d'une texture animée AVI.
Syntaxe
mpf = HYP_Texture.GetAVIMpf( texture_name | tid );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • mpf - [INTEGER] - millisecondes par frame.

GetAVICurrentTime

GetAVICurrentTime permet de récupérer la position temporelle courante d'une texture animée AVI.
Syntaxe
cur_time = HYP_Texture.GetAVICurrentTime( texture_name | tid );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • cur_time - [INTEGER] - position temporelle courante en millisecondes.

SetAVICurrentFrame

SetAVICurrentFrame permet de modifier la position courante d'une texture animée AVI.
Syntaxe
HYP_Texture.SetAVICurrentFrame( texture_name | tid, frame );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • frame - [INTEGER] - nouvelle position courante.

GetAVICurrentFrame

GetAVICurrentFrame permet de récupérer la frame courante d'une texture animée AVI.
Syntaxe
frame = HYP_Texture.GetAVICurrentFrame( texture_name | tid );
  • texture_name - [STR127] - nom de la texture.
  • tid - [INTEGER] - identifiant numérique de la texture.
  • frame - [INTEGER] - position courante.


GeeXLab demos


GLSL - Mesh exploder


PhysX 3 cloth demo


Normal visualizer with GS


Compute Shaders test on Radeon


Raymarching in GLSL



Misc
>Texture DataPack #1
>Asus Silent Knight CPU Cooler
Page generated in 0.002269983291626 seconds.