Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
tbVector3 v1 = pVertexBufferDaten[Indizes[i + 0] + iStartVertex].vPosition; tbVector3 v2 = pVertexBufferDaten[Indizes[i + 1] + iStartVertex].vPosition; tbVector3 v3 = pVertexBufferDaten[Indizes[i + 2] + iStartVertex].vPosition; // Durch Subtraktion werden die Verbindungsvektoren (sind auch // Richtungsvektoren) ermittelt. tbVector3 vVerb1 = v2 - v1; tbVector3 vVerb2 = v3 - v2; // Aus diesen Richtungsvektoren kann das Kreuzprodukt // (der senkrecht darauf stehende Vektor) gebildet werden tbVector3 vNorm = tbVector3Cross(vVerb1, vVerb2); // Der normalisierte Vektor wird dem Normalvektor des Vertex zugewiesen pVertexBufferDaten[Indizes[i + 0] + iStartVertex].vNormalvektor = tbVector3Normalize(vNorm); pVertexBufferDaten[Indizes[i + 1] + iStartVertex].vNormalvektor = tbVector3Normalize(vNorm); pVertexBufferDaten[Indizes[i + 2] + iStartVertex].vNormalvektor = tbVector3Normalize(vNorm); |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Licht.Type = D3DLIGHT_POINT; Licht.Ambient = tbColor(0.25f, 0.25f, 0.25f); Licht.Attenuation0 = 0.0f; Licht.Attenuation1 = 0.0f; Licht.Attenuation2 = 0.0f; Licht.Diffuse = tbColor(0.25f, 0.25f, 0.25f); Licht.Position = tbVector3(0.0f, 3.0f, 0.0f); Licht.Range = 1000.0f; g_pD3DDevice->SetLight(0, &Licht); g_pD3DDevice->LightEnable(0, TRUE); Material.Ambient = tbColor(1.0f, 1.0f, 1.0f); Material.Diffuse = tbColor(0.25f, 0.25f, 0.25f); Material.Specular = tbColor(1.0f, 1.0f, 1.0f); Material.Power = 10.0f; Material.Emissive = tbColor(0.0f, 0.0f, 0.0f); g_pD3DDevice->SetMaterial(&Material); |
Quellcode |
|
1 2 3 |
g_pD3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE); g_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); g_pD3DDevice->SetRenderState(D3DRS_DITHERENABLE, TRUE); |
Administrator
Werbeanzeige