[DX9.0c] Nebel des Krieges



  • Hallo Forum!

    Ich habe ein wenig in der MSDN nach einer Methode gesucht um nebel hinzu zu fügen, und bin auch auf was nettes gestoßen:

    d3ddev->SetRenderState(D3DRS_FOGTABLEMODE, D3DFOG_EXP);                          
    d3ddev->SetRenderState(D3DRS_FOGCOLOR, D3DCOLOR_XRGB(0,0,0));     
    d3ddev->SetRenderState(D3DRS_FOGDENSITY, *((DWORD*)(&fFogDensity)));   
    d3ddev->SetRenderState(D3DRS_FOGENABLE, TRUE);
    

    (So sieht es in meinem Code aus)

    Es funktioniert ein wand frei, und man kann damit perfekt die Nacht simulieren, doch leider ist diese Nebel quadratisch, nicht Kreishaft^^

    Was ich damit meine ist, das er wenn man es von oben betrachtet, nicht im Kreis um mich herum geht, sondern mehr quadratisch ... (das kann man so schlecht ausdrücken :/, mir fehlen dazu die passenden Worte)

    Ich hoffe hier wisst was ich meine!

    nun möchte ich aber das er kreisförmig, bzw kugelförmig um mich herum ist, konnte aber nirgends etwas darüber finden. Wisst ihr vieleicht wie das geht, oder ob das überhaupt geht?



  • Ich kann leider nur vermuten:
    Es liegt an der Anzahl/Größe der Dreiecke, also du müsstest sie vermehren/verkleinern.
    Oder mit Shadern...

    MfG



  • Nein, daran liegt es leider nicht. Habe schon 128 * 128 Dreiecke, der nebel breitet sich wie eine vor mir liegende, zu mir wagerechte linie aus ...

    Dadurch ist das zwar extrem schnell und sieht auch einigermaßen gut aus, aber ist nicht so schön al wenn er rund währe!^^


  • Mod

    mach doch mal ein screenshot wie es momentan ausschaut und link mal auf ein bild wie du es aussehend haben moechtest.



  • Fuer Fogging wird lediglich die Tiefe eines Pixels herangezogen (Du willst aber den Abstand vom Betrachter), Du wirst Dich um Deinen Nebel also selber kuemmern muessen...



  • hmm, gefällt mir garnicht 😕

    Hab es gerade mal erst mit Shadern geschaft Multitexturing zu machen, und jetzt dann gleich sowas ^^

    Da habe ich mir viel vorgenommen xD


Log in to reply