Hilfe
Parameter
breite% | Breite der Textur in Pixel |
hoehe% | 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 +128=Cubic Environment Mapping +256=Speichert Textur in VRAM +512=HighColor-Textur |
frames% | Anzahl der Einzelbilder bei animierten Texturen (min 1) |
Rückgabewert
Es wird die Identität der Textur zurückgeliefert.
Beschreibung
Der Befehl CreateTexture 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 eine kurze Beschreibung:
[1] Color Map = Die Textur wird so eingezeichnet wie man die sieht
[2] Alpha Map = Die Textur benutzt Alpha Map für Transparenz. Wenn Alpha Map nicht vorhanden ist, dann erscheinen dunkle Stellen transparenter.*
[4] Masked = Schwarze 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
[128] Cubic Environment Mapping = Echtzeitreflektion
[256] Speichert Textur in VRAM = schneller
[512] Erstellt HighColor-Textur. So kann die Textur auch bei 16-Bit Farbtiefe weiterhin Alpha-Informationen enthalten.
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.
- Geschwindigkeitsverlust
- Unnötiger Speicherverbrauch
Zusatzinformation
Beispiel
Standardbeispiel:
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, RotateTexture, ScaleTexture, TextureBlend, TextureBuffer, TextureHeight, TextureWidth