Nebel einblenden, wie gehts?



  • Hi...

    einige von euch kennen sicher das Buch 3D-Spieleprogrammierung mit c++ und DirectX

    nun, ich bin noch relativ am Anfang bei dem Kapitel wo es um Nebel geht... es ist ein sehr kleines Kapitel und eigentlich hört es sich auch nicht schwer an.

    Allerdings:

    g_pD3DDevice->SetRenderState(D3DRS_FOGENABLE, TRUE);
    g_pD3DDevice->SetRenderState(D3DRS_FOGVERTEXMODE, D3DFOG_EXP);
    g_pD3DDevice->SetRenderState(D3DRS_FOGCOLOR, g_pVertices[0].dwColor);
    g_pD3DDevice->SetRenderState(D3DRS_FOGTABLEMODE, D3DFOG_NONE);
    g_pD3DDevice->SetRenderState(D3DRS_FOGDENSITY,0.9f);
    g_pD3DDevice->SetRenderState(D3DRS_RANGEFOGENABLE, TRUE);
    

    Selbst mit einer Dichte von 0.9f (laut Buch sollte man schon ab 0.1 so gut wie nichts mehr sehen) erscheint bei mir nichtmal eine Dunstwolke...

    ich habe die Farbe / Dichte schon auf alle denkbaren Weisen übergeben... float, DWORD, selbst int... mit der beiligenden tbColor etc... es kam nie Nebel...
    Woran kann das liegen?
    (hier wird die Farbe gerade aus einem der benutzten Vertices ausgelesen, dieser bekam vorher eine Zufallsfarbe)

    achja: das ganze steht in der Render-Funktion, da die Farbe / Dichte später auf Tasten reagieren und daher jedesmal neu gesetzt werden muss.



  • Wenn das das Buch von David Scherfgen ist, fragst Du sowas besser auf seiner Seite / in seinem Forum, oder?!



  • ich schätz mal, dass du den thread dort gemacht hast, oder...

    dann brauch ich nicht 2x antworten 😉



  • 😮 ⚠ 😮 BÖSE 😡 BÖSE 😡 BÖSE 😮 ⚠ 😮

    👎



  • 😕



  • wenn er crossposting meint, find ich des net wirklich schlimm...



  • jo... das waren beides meine Threads 🙂

    und es war auch keine böse Absicht hinter 😃 ... wollte nur mehrere Leute ansprechen die mir evtl helfen könnten... (nachdem mir schon im anderen Forum so schön geholfen wurde habe ich den Thread hier auch glatt vergessen^^)



  • Twister schrieb:

    (nachdem mir schon im anderen Forum so schön geholfen wurde habe ich den Thread hier auch glatt vergessen^^)

    Genau das ist das Problem und daher BÖSE 🙄


  • Mod

    das ist weder ein problem, noch wirklich böse, denn mit "crossposting" ist das posten der selben problemstellung innerhalb eines forums gemeint und das hat er ja nicht gemacht, es spricht aber nicht dagegen hier mal eine frage zu stellen um mehr leute zu erreichen.

    rapso->greets();

    ps. bitte hier nicht das schlechte beispiel an mir nehmen und OT plappern 😉



  • rapso schrieb:

    das ist weder ein problem, noch wirklich böse, denn mit "crossposting" ist das posten der selben problemstellung innerhalb eines forums gemeint und das hat er ja nicht gemacht, es spricht aber nicht dagegen hier mal eine frage zu stellen um mehr leute zu erreichen.

    Ist doch dasselbe in grün?!?



  • 2 unterschiedliche Foren = 2 unterschiedliche User-Gruppen = viel mehr User, die es lesen und einem evtl helfen könnten

    und das man mal 1nen Thread "vergisst" wenn einem schon anderswo geholfen wird oder weil man ihn einfach so mal vergessen hat, kann auch vorkommen. Bin halt auch nur ein Mensch und hab mich noch nicht selbst zur perfekten Maschine umgeproggt.
    Aber keine Sorge ich schau eigentlich immer alle 2-3 Tage in jedes Forum, wo ich angemeldet bin um mal zu gucken, was sich so geatn hat (und in diesem Thread tat sich die ersten zwei Tage nichts, weswegen ich ihn etwas vernachlässigte)

    Zum Topic:
    Der Nebel hat sich nun doch eingefunden, allerdings ist noch ein komischer Fehler mit dem Licht drin:

    Schalte ich das Licht aus, dann werden die Würfel normal mit Textur dargestellt... schalte ich das Licht ein (hab auch ein Ambient-Light, also kanns nicht an den Normalvektoren oder an meinem Spot-Light liegen) sind die Würfel komplett schwarz und man erkennt auch keine Textur!

    Aber bevor ich das Selbe in grün schreibe

    in diesem Thread ab Seite 3 steht der aktuelle Code und 2 ScreenShots für Licht an / aus.


Anmelden zum Antworten