Prinzipien - 3D Grafik - "Textures" (Texturen)



Seiteninhalt:


"Textures"

Eine Textur wird verwendet, um auf ein Dreieck (Lade-Objekte bestehen IMMER aus Dreiecken) eine Bildinformation abzubilden.
Eine Textur ist eigentlich nichts anderes als eine Bildinformation (z.B. Bitmap).
Texturen können nur folgende quadratische Größen annehmen:
Von 2*2, 4*4, 8*8, 16*16, 32*32, 64*64, 128*128, - bis zu - 4096*4096 Pixel. Andere Formate werden von den Grafikkarten nicht unterstützt.

Bild-Texturen in screenAV:

In screenAV werden Bilder ("Load-object") daher immer in mehrere kleine Texturen ("Image"-Texturen) umgewandelt, da das Seitenverhältnis der meisten Bilder natürlich nicht quadratisch ist. Durch die Verwendung vieler kleiner Texturen wird dadurch erheblich Speicherplatz gespart. Wieviel Texturen erzeugt werden, hängt von der Bild und Texturgröße ab.
Bild-Texturen werden über den "Load-object"-Befehl ("Image-texture"-Seite) geladen. Pro Texturfeld werden zwei Dreiecke erzeugt, die ein Texturfeld abbilden.
im "Set-parameters"-Befehl unter "Image-textures" können weitere Eigenschaften eingestellt werden.



"Dreiecke"
Pro Texturfeld werden zwei Dreiecke erzeugt.
Sehen Sie auch bei Prinzipien "Dreiecke".

"Image-textures" (Bild-Textur)
Die erzeugten Texturen eines Bildes.

Endergebnis
Endergebnis der Stufen wie es später in das "Screen"-Fenster gezeichnet wird.

Bildreste

Da in screenAV Bilder in jeder Größe geladen werden können, sich aber die Texturgröße meistens nie exakt auf das Bild einstellen lässt, entstehen horizontale und vertikale Bildreste. Das Überflüssige der Texturen wird schwarz gefüllt und nie dargestellt.
Der größte Nachteil ist der verlorene Grafikkartenspeicher. Achten Sie deshalb auf die richtig eingestellte Bildgröße!
Ein weiterer Nachteil ist, dass Dreiecke enstehen die dem Seitenverhältnis dieser Bildreste angepasst werden müssen. Dies ist allerdings nur dann störend, wenn das Bild eine dreidimensionale Form annimmt und dadurch unschöne Kanten entstehen. Dann muss die Dreiecksanzahl erhöht werden.

Pseudo Texturgröße in sceenAV:

Eine Textur in screenAV wird nicht voll eingeblendet. Es wird ein Pixelbreiter Rand der Textur nicht angezeigt und einfach weggelassen.
Die übrigen Pixel werden von den Nachbartexturen dargestellt.

Ohne diesen Umweg würde es bei verschiedenen Effekten zu erheblichen Grafikproblemen kommen!

Wichtig:
Soll ein Bild exakt in die Texturen aufgeteilt werden, muss die Bildgröße durch die Texturgröße-2 teilbar sein!

Beispiel:
Es wird die Texturgröße 64*64 Pixel gewählt.
16*(64-2) = 992 Pixel
12*(64-2) = 744 Pixel
Ein Bild mit 992*744Pixel passt optimal in die Texturfeldgröße.