Hilfe

LoadBrush

B3D

Aufruf

brush% = LoadBrush (datei$ [, modus%] [, skalU#] [, skalV#])

Parameter

datei$ Dateiname einer Textur
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
skalU# Skalierungsfaktor U der Textur (Standard=1)
skalV# Skalierungsfaktor V der Textur (Standard=1)


Rückgabewert

Es wird die Identität eines Pinsels zurückgeliefert.


Beschreibung

Die Funktion LoadBrush erstellt einen Pinsel. Nachdem ein Pinsel erstellt wurde, wird noch eine Textur geladen und zum Pinsel zugewiesen. Diese Funktion liefert einen Wert zurück. Es handelt sich um die Identität des Pinsels.

Der Parameter "datei$" ist der Pfad zu einer Grafikdatei, die die Textur enthält.

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 = 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.

Die Optionalen Parameter skalU# und skalV# sind Skalierungsfaktor für die Textur. Normalerweise ist es 1.0.


Zusatzinformation

Wenn eine Textur mit Flag 2 (Alpha) geladen wird, kommt es zu Problemen mit dem Z-Buffer. Die Texturen werden nicht mehr nach Kameraentfernung gezeichnet, sondern in der Erstellreihenfolge, wodurch eigentlich verdeckte Texturen sichtbar seien können.


Beispiel

Standardbeispiel:

Graphics3D 640, 480
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
RotateEntity light, 90, 0, 0
cube = CreateCube()
PositionEntity cube, 0, 0, 5
brush = LoadBrush("texture.bmp")
PaintMesh cube, brush

While Not KeyDown(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
   Flip
Wend
End


Siehe auch

CreateBrush, FreeBrush

Übersicht 3D Grafik Brush