Hilfe

GetTexel3D

B3D

Aufruf

FARBCODE = GetTexel3D (handle, x_pos#, y_pos#, x_texture#, y_texture# [, angle#] [, scale#] [, mask])

Parameter

handle Identität einer Textur oder gegrabten Teiltextur
x_pos# X-Position des Pixels im Draw3D -Koordinatensystem
y_pos# Y-Position des Pixels im Draw3D -Koordinatensystem
x_texture# X-Position der Zieltextur im Draw3D -Koordinatensystem
y_texture# Y-Position der Zieltextur im Draw3D -Koordinatensystem
angle# Winkel der Zieltextur (Standard = 0)
scale# Skalierung der Zieltextur (standard = 1)
argb Farbcode, mit dem gezeichnet werden soll (Standard = $00000000)


Rückgabewert

FARBCODE = Der gefilterte Farbcode eines Texels


Beschreibung

Dieser Befehl liest einen Pixel aus einem Bild aus und liefert dessen Farbwert zurück, welcher sich aus Alpha- und RGB - Wert zusammensetzt. Der Unterschied zu GetPixel3D ist, dass dieser Befehl die Rotation und Skalierung der Textur berücksichtigt. Die Koordinaten des auszulesenden Pixels werden hier nicht in Koordinaten auf der Textur angegeben, sondern in der Position auf dem Bildschirm im Draw3D -Koordinatensystem. Zusätzlich muss man noch die Koordinaten des Bildes angeben, da die Draw3D sonst nicht wissen kann, wo auf die Textur sie lesen soll. Beispielsweise gibt man als PixelX / PixelY -Koordinate für den Pixel 0,1 an und für die Koordinaten der Textur -12,-10. Ruft man nun die Funktion auf, so wird der Pixel an der Position 12,11 auf der Textur ausgelesen. Falls man Schwierigkeiten beim Verständnis dieser Funktion hat, sollte man sich das ''Standardbeispiel'' dazu ansehen. Die Bitmaske ist eine praktische Methode, aus dem Farbwert einen Anteil herauszufiltern. So liefert GetTexel3D mit einer Bitmaske von $FF000000 nur den Alphawert zurück. Der zurückgegebene Wert liegt zwischen 0 und 255 - komplizierte Umrechnungen sind nicht mehr nötig. Will man den Farbwert in die Rot, Grün und Blauanteile aufteilen, so ist ein Umrechnen des normalen Farbwerts jedoch schneller als mehrmaliges Ausführen von GetTexel3D mit gesetzter Bitmaske.

Der Buffer der Textur sollte vorher mit OnLockBuffer3D gesperrt werden, da es ansonsten zu schweren Fehlern führen kann.


Beispiel

Standardbeispiel:

Siehe dazu ''Draw3D, SetTexel3D, GetTexel3D.bb''

Übersicht Draw3D Grafik