Dimma (Direct3D 9)
Att lägga till dimma i en 3D-scen kan förbättra realismen, ge atmosfär eller ställa in en stämning och obskyra artefakter som ibland orsakas när avlägsen geometri visas. Direct3D stöder två dimmodeller, pixeldimma och hörndimma, var och en med sina egna funktioner och programmeringsgränssnitt.
I huvudsak implementeras dimma genom att blanda färgen på objekt i en scen med en vald dimmafärg baserat på djupet av ett objekt i en scen eller dess avstånd från synvinkeln. När objekt blir mer avlägsna blandas deras ursprungliga färg mer och mer med den valda dimfärgen, vilket skapar illusionen att objektet alltmer skyms av små partiklar som flyter i scenen. Följande bild visar en scen som återges utan dimma och en liknande scen renderad med dimma aktiverad.
I den här bilden har scenen till vänster en tydlig horisont, bortom vilken inget landskap är synligt, även om det skulle vara synligt i den verkliga världen. Scenen till höger skymmer horisonten genom att använda en dimfärg som är identisk med bakgrundsfärgen, vilket gör att polygoner verkar blekna in i avståndet. Genom att kombinera diskreta dimeffekter med kreativ scendesign kan du lägga till humör och mjuka upp färgen på objekt i en scen.
Direct3D tillhandahåller två sätt att lägga till dimma i en scen: pixeldimma och hörndimma, med namnet för hur dimmans effekter tillämpas. Mer information finns i Pixel Fog (Direct3D 9) och Vertex Fog (Direct3D 9). I korthet implementeras pixeldimma - även kallad tabelldimma - i enhetsdrivrutinen och hörndimma implementeras i Direct3D-belysningsmotorn. Ett program kan implementera dimma med en hörnskuggning och pixeldimma samtidigt om så önskas.
Not
Oavsett om du använder pixel- eller hörndimma måste programmet tillhandahålla en kompatibel projektionsmatris för att säkerställa att dimeffekter tillämpas korrekt. Den här begränsningen gäller även för program som inte använder Direct3D-transformerings- och belysningsmotorn. Mer information om hur du kan ange en lämplig matris finns i Projection Transform (Direct3D 9).
I följande avsnitt introduceras dimma och information om hur du använder olika dimfunktioner i Direct3D-program.
- Fog Formler (Direct3D 9)
- fogparametrar (Direct3D 9)
- Fog Blending (Direct3D 9)
- dimfärg (Direct3D 9)
- hörndimma (Direct3D 9)
- PixelDimma (Direct3D 9)
Blandning av dimma styrs av återgivningstillstånd. det är inte en del av den programmerbara pixelpipelinen.
Relaterade ämnen