(zurück)

 

bitte korrigieren:

Bei den Explosionsanimationen ist Frame Nr. 4 falsch definiert (siehe auch Seite 88):

 

Texturkoordinaten_Frame_4:

0.75, 1, 0.25, 0.5

Korrektur:

Texturkoordinaten_Frame_4:

0.75, 1, 0, 0.25

Auswirkungen der Korrektur:

Fehler führt zu keinerlei Problemen.

 

bitte korrigieren:

"CSpaceShip-Methode" "Adopt_ImpactData()" (siehe auch Seite 568-569):

Korrektur:

Im downloadbaren Demo "SolarSystemWars_EngineDemo_v1.1" wurde die "CSpaceShip-Methode"

"Adopt_ImpactData()" zwecks besserer Ausrichtung der Rauchpartikel wie folgt abgeändert:

 

void CSpaceShip::Adopt_ImpactData(D3DXVECTOR3* pImpactPos, D3DXVECTOR3* pWeaponDir,
                                                           D3DXVECTOR4* pHullLightColor)

{

    HullLightColor = D3DXVECTOR4(2.0f*pHullLightColor->x, 2.0f*pHullLightColor->y, 2.0f*pHullLightColor->z, 1.0f);

                     

    // Rücktransformation der Einschlagsposition auf die

    // Modellkoordinaten-Position des Sternenkreuzers:

    tempVektor3 = (*pImpactPos) - WorldSpacePosition;      

                       

    // Rücktransformation der Einschlagsposition sowie -richtung in die

    // Modellkoordinaten-Orientierung des Sternenkreuzers:                     

    Multiply3DVectorWithRotationMatrix(&ImpactDirection, pWeaponDir, &InvRotationsMatrix);

    Multiply3DVectorWithRotationMatrix(&ModelSpaceImpactPosition, &tempVektor3, &InvRotationsMatrix);

 

    SmokeParticleFlightDir = -ImpactDirection;

    SmokeParticleStartPos = 0.5f*ModelSpaceImpactPosition;

}

Auswirkungen der Korrektur:

Die Ausbreitungsrichtung der Rauchpartikel wird nun der Ausrichtung der Raumschiffe angepasst.

 

bitte korrigieren:

In den Demos "Asteroidhunter3Dv3"und "SolarSystemWars" findet sich in den Klassen

"CPlanetaryTextures" sowie "CAsteroidTextures" folgender Fehler (siehe auch Seite 501):

 

NormalTexture->pTexture->GetLevelDesc(0, &desc);

Korrektur:

for(i = 0; i < NumNormalTextures; i++)

{

    fscanf(pfile,"%s", NormalTexture[i].Speicherpfad );

    NormalTexture[i].CreateTexture();

    NormalTexture[i].pTexture->GetLevelDesc(0, &desc);

    ...

Auswirkungen der Korrektur:

Ohne diese Änderung werden die Normal Maps nur dann korrekt erzeugt, wenn die zugehörigen Height Maps die gleichen Maße haben wie die erste Textur. Würde nachfolgend eine kleinere Textur verwendet werden, so käme es zu einem Programmabsturz.