Textur=CREATETEXTURE (Breite, Höhe [,Modus] [,Frames])


BeschreibungBlitz3D
Der Befehl CREATETETEXTURE erstellt eine Textur im Speicher und liefert die Identität der Textur zurück.

Die Breite und Höhe in Pixel beschreiben die Größe der Textur. Beachte, dass die aktuelle Texturgröße anders sein kann als die benötigte Größe, da Grafikkarten unterschiedliche Texturgrößen verarbeiten können.

Der optionale Parameter "Modus" stellt Textureffekte ein. Mehrere Effekte können kombiniert werden, indem die Zahlen addiert werden.

Hier kurze Beschreibung:
[1] Color Map = Die Textur wird so eingezeichnet wie man die sieht
[2] Alpha Map = Wenn ein Bild ein alpha-map enthält, dann werden bestimmte Bereiche transparent eingezeichnet. Sonst wird color-map als alpha-map benutzt. Dunkle Stellen sind transparenter.
[4] Masked = alle schwarzen Flächen werden nicht eingezeichnet.
[8] Mipmapped = für weite Entfernungen wird eine Textur mit weniger Details benutzt.
[16] Clamp U = Textur-Koordinate U wird fixiert.
[32] Clamp V = Textur-Koordinate V wird fixiert.
[64] Spherical reflection map = Reflektionseffekt - bekannt von Teapot

Nachdem eine Textur erstellt wurde, sollten die Befehle SETBUFFER TEXTUREBUFFER benutzt werden, um die Textur mit Inhalt zu füllen. Sollen 3D-Grafiken dargestellt werden, dann muss man einen Ausschnitt von BACKBUFFER in eine Textur kopieren.

Warnung: Die Grafikkarte kann nur Texturen mit folgender Breite/Höhe verarbeiten: 1,2,4,8,16,32,64,128,256,512,1024. Wurde eine andere Texturgröße angegeben, dann wird es von BlitzBasic automatisch korrigiert. Dies bedeutet dann:
-Geschwindigkeitsverlust
-Unnötiger Speicherverbrauch



Parameter
Breite=Breite der Textur in Pixel
Höhe=Höhe der Textur in Pixel
Modus=Optionale Textur-Einstellungen:
+1=Color
+2=Alpha
+4=Masked
+8=Mipmapped
+16=Clamp U
+32=Clamp V
+64=Spherical reflection map
Frames=Anzahl der Einzelbilder bei animierten Texturen (min 1)


Rückgabewert
Es wird die Identität der Textur zurückgeliefert.


Beispiel
Dieses Programm erstellt eine Textur, die danach auf ein Objekt geklebt wird. Mit den Cursortasten kann dieser Würfel gedreht werden:

GRAPHICS3D 640,480
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
ROTATEENTITY light,90,0,0
cube=CREATECUBE()
POSITIONENTITY cube,0,0,5
tex=CREATETEXTURE(256,256)

SETBUFFER TEXTUREBUFFER(tex)
CLSCOLOR 255,255,255
CLS
font=LOADFONT("arial",24)
SETFONT font
COLOR 0,0,0
TEXT 0,0,"Diese Textur"
TEXT 0,40,"wurde erstellt mit"
COLOR 0,0,255
TEXT 0,80,"CREATETEXTURE()"
COLOR 0,0,0
TEXT 0,120,"und eingezeichnet mit"
COLOR 0,0,255
TEXT 0,160,"SETBUFFER TEXTUREBUFFER()"
ENTITYTEXTURE cube,tex
SETBUFFER BACKBUFFER()

WHILE NOT KEYHIT(1)
   pitch#=0
   yaw#=0
   roll#=0
   IF KEYDOWN(208)=1 THEN pitch#=-1
   IF KEYDOWN(200)=1 THEN pitch#=1
   IF KEYDOWN(203)=1 THEN yaw#=-1
   IF KEYDOWN(205)=1 THEN yaw#=1
   IF KEYDOWN(45)=1 THEN roll#=-1
   IF KEYDOWN(44)=1 THEN roll#=1
   TURNENTITY cube,pitch#,yaw#,roll#
   RENDERWORLD
   TEXT 0,0,"Drehe den Würfel mit Cursortasten" FLIP
WEND
END


Siehe auch
FREETEXTURE, LOADANIMTEXTURE, LOADTEXTURE, TEXTUREBUFFER