|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
User_User JLI'ler
Anmeldedatum: 05.08.2004 Beiträge: 137
Medaillen: Keine
|
Verfasst am: 13.03.2006, 03:25 Titel: Lichtprobleme beim Scaling |
|
|
Je kleiner ich ein Objekt skaliere, desto heller erscheint das Objekt. Ich habe den Lichttyp direktional. Hatte jemand ähnliche Probleme und wie kann ich dieses Problem am leichtesten lösen?
Ich habe eine Kugel mit dem Radius 1 erzeugt. Damit stimmen Position des Vertex und Normale überein. Mein CustomVertex besteht nur aus der Vertex-Positon und Normale. Das Licht ist direktional und die Farbe wird durch das Material bestimmt.
Bei der Ausgabe habe ich drei Matrixen:
TransMatrix (für Translation)
ScaleMatrix (für die Skalierung)
WorldMatrix (Hier werden die beiden Matrixen zusammengefasst.)
Dann rufe ich z.B. folgendes auf:
D3DXMatrixScaling(&ScaleMatrix,0.77f,0.77f,0.77f);
D3DXMatrixTranslation(&TransMatrix,Position_x,Position_y,Position_z);
D3DXMatrixMultiply(&WorldMatrix,&TransMatrix,&ScaleMatrix);
m_lpD3DDevice->SetTransform(D3DTS_WORLD,&WorldMatrix);
Je kleiner ich die Kugel skaliere, desto heller erscheint sie (Die Größe stimmt allerdings.). Mache ich was falsch? |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 13.03.2006, 08:03 Titel: |
|
|
Das Problem beim Skalieren ist, dass deine Normalen auch skaliert werden. Wenn du das Objekt vergrößerst, sollte es dunkler werden. Am besten aktivierst du den Renderstate D3DRS_NORMALIZENORMALS . |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|