2012-10-29 4 views
7

Ich versuche eine Kachelengine mit einem Pixelshader und zwei Texturen zu erstellen. Eine Textur enthält das Tileset und eine die Map.Kann ich eine Kachelengine in einem Pixelshader erstellen?

Ist es möglich, die Texturdaten als tatsächliche (nicht abgetastete) Daten zu lesen, damit ich Indizes aus der Karte ziehen kann?

Was ist der beste Weg, um diese Pixeldaten zu lesen?

Ich habe nur versucht, Text2D, aber das lässt etwas zu wünschen übrig (ich bin ein bisschen zu Pixel-Shader um ehrlich zu sein).

Grundsätzlich brauche ich eine Möglichkeit, die tatsächlichen Daten von einem bestimmten Pixel in meiner Map-Textur zu lesen und diese als Integer-Index in die Kachel Textur zu verwenden. Angenommen, ich habe es geschafft, die passenden Texturen für den Shader zu erstellen und zu übergeben.

Irgendwelche Gedanken?

(unter Verwendung von monogame für U-Bahn so dx Ebene 9_1)

Antwort

0

Wenn Sie tex2D verwenden und in (x + 0.5)/width und (y + 0.5)/height passieren, sollten Sie den genauen Pixelwert bei (x, y) bekommen. Weitere Informationen finden Sie hier: Texture memory-tex2D basics