Förra gången visade jag dig renderingsprocessen för himlen. Jag kommer nu att lägga till en enkel och vanlig atmosfärisk effekt, dimma. Det finns inga andra föremål än terrängen och himlen än, så det här inlägget är ganska så kort.
Genom att lägga till en gradientfyllning till terrängstrukturen så får jag en väldigt enkel dimeffekt. Himlen och havet får en gradientfyllning baserat på dimfärgen och avståndet. Andra föremål, som vegetation, får en färgton för att simulera luftens täthet mellan kameran och föremålet. Jag är inte riktigt där än med att få det rätt. När det bara syns terräng och himmel så ser allt bra ut, men när man delar maskorna och lägger till vegetation så måste färgtonen vara exakt för att varje föremål ska passa sömlöst in i bilden. Och den här versionen måste använda en kamera som riktas mot horisonten. Annars så måste jag räkna ut vinkeln mot marken och justera texturgradienten.
Horisontlinjen får sin egen gradient. Sky-sprite är utanför 3d-scenen, så jag måste först få positionen på skärmen där rutnätet möter himlen. För att göra det lägger jag till en tom ”DisplayObject3D” vid positionen för den längsta punkten/vertexen på rutnätet med y satt till 0. Sedan beräknar jag positionen på skärmen med ”calculateScreenCoords” och får y-positionen.
Tack för att du lyssnade, nästa gång ska jag få in lite vatten på scenen.