2009-08-10 8 views

Antwort

2

Ich denke, dass dies getan wird, indem ein 3D-Objekt auf eine Ebene projiziert wird, die im Wesentlichen eine vierte Koordinate benötigt, um Unendlichkeit darzustellen. Wenn Sie nur 3 Koordinaten verwenden, können Sie nur | R^3 darstellen. Für Projektionen wie Schatten benötigen Sie jedoch volle 3-Felder, also auch unendlich - also brauchen Sie die vierte Koordinate.

Ich denke, dass Sie dies mit Trigonometrie und nicht Matrizen überhaupt lösen können.

Was versuchen Sie zu erreichen?

+0

Nur versuchen, Schatten in einer Umgebung zu machen, in der ich keinen Zugriff auf 4x4 Matrizen habe. – tweetypi

1

Wie in der anderen Antwort erwähnt, brauchen Sie wirklich 4x4, um eine Projektion zu kodieren.

Wenn es überhaupt Hilfe ist, können Sie direkt Overhead-Schatten tun, indem Sie Ihre Höhenachse auf 0 skalieren und die gequetschte Geometrie auf Ihre Grundebene übertragen. Ein bisschen Quatsch, aber könnte etwas sein, das du benutzen könntest. Ich habe das vor ein paar Jahren für ein Projekt verwendet, das eigentlich solche Schatten wollte.

0

Gibt es einen Grund, warum Sie keine Shadow Map verwenden können? Um eine Schattenkarte zu erstellen, renderst du Tiefenwerte von einer Lichtquelle. Wenn Sie dann das normale Bild rendern, übersetzen Sie das Pixel in den Raum des Lichts. Wenn seine Tiefe größer ist als die Tiefe in der Schattenkarte, ist sie schattiert, ansonsten ist sie nicht schattiert.

Wikipedia hat eine ziemlich gute Erklärung. Viel mehr Ressourcen im Netz. Google für "Shadow Mapping"

+0

Die Plattform, an der ich arbeite, hat sehr wenig Speicher und ich bin ziemlich sicher, kein Weg Rendern von Tiefenkarten. – tweetypi

+0

Schattenvolumen? – Goz

Verwandte Themen