Nebel
Nebel wird mittels der setFog Methode eingebaut. Mit ihr werden globale Eigenschaften des Nebels festgelegt, die auf alle Objekte angewandt werden, deren MaterialFlag vorsieht, dass sie von Nebel beeinflusst werden. Ersteinmal soll der Nebel nur den Terrain beeinflussen. (es ist ja auch noch kein anderes Objekt da...) Dafür muss der Nebel im MaterialFlag des Terrains eingeschaltet werden.
setFog nimmt 7 Argumente:
Als erstes color, die Farbe des Nebels. Der erste Wert ist dabei der Alphawert.
Zweiter Parameter ist das Flag linearFog, das standardmäßig auf true steht. Bei false wird exponentieller Nebel verwendet.
Die nächsten beiden Parameter start und end werden nur verwendet, wenn linearer Nebel eingestellt ist. Sie geben den Anfang und das Ende des Nebels an.
Dafür ist der darauffolgende Parameter density nur bei exponentiellem Nebel gültig. Er kann Werte zwischen 0 und 1 annehmen.
Für alles und jeden gültig ist dann wieder der 6. Parameter pixelFog. Dieses Flag ist standardmäßig auf false gesetzt. In diesem Fall wird Vertex Fog verwendet.
Schließlich gibt es noch den Parameter rangeFog. Bei eingeschaltetem Range Fog wird die Distanz vom Betrachter zur Berechnung des Nebels herangezogen anstelle der z-Koordinate. Da diese Nebelart nur in Verbindung mit Vertex Fog und D3D funktioniert, ist sie standardmäßig abgeschaltet.
//add fog
irrDriver->setFog(SColor(0,160,180,235), true, 10.0f, 9000.0f, 0, true);
terrain->setMaterialFlag(EMF_FOG_ENABLE, true);
zurück
weiter