phong shading mit OpenGL?



  • Naja, obs unnoetig ist will ich ja eben herausfinden. Aber ich denke, mit Phong liesse sich eine sehr glatte Oberflaeche (z.B. waessrig) besser darstellen als mit nem Smooth-Shader.

    Warum ist das in D3D nicht unterstuetzt wenns schon angeboten wird?...



  • Flat und Smooth hat nichts mit der Lichtberechnung an sich zu tun.
    Es gibt nur an ob die Normals per Triangle (flat) oder per Vertex (smooth)
    angegeben werden.

    Wenn ich mich recht entsinne benutzen sowohl OpenGL als auch Direct3D Phong, oder eine leicht veränderte Variante zur Lichtberechnung.

    Mit Vertex/Pixelprograms kannst du aber sowie so jedes nur denkbare Lichtmodel
    implementieren.



  • Kane schrieb:

    Flat und Smooth hat nichts mit der Lichtberechnung an sich zu tun.
    Es gibt nur an ob die Normals per Triangle (flat) oder per Vertex (smooth)
    angegeben werden.

    Wenn ich mich recht entsinne benutzen sowohl OpenGL als auch Direct3D Phong, oder eine leicht veränderte Variante zur Lichtberechnung.

    Mit Vertex/Pixelprograms kannst du aber sowie so jedes nur denkbare Lichtmodel
    implementieren.

    Hm, ja aber das ist ja gerade wichtig bei der Lichtberechnung. Bei Smooth hab ich fuer jeden Vertex ne Normale und auf dem Dreieck werden dann einfach die Farben der Ecken interpoliert (Gourand, wenn ich mich nicht irre).
    Was ich will: Weiterhin pro Ecke ne Normale, aber dazwischen sollen die Normalen interpoliert werden, nicht die Farben der Ecken.

    Schlussendlich laeufts einfach darauf hinaus, dass ich ne glaenzende (waessrige) Oberflaeche darstellen muss und das nicht gescheit hinkriege mit smooth 😞



  • Per pixel shading/lighting (wie auch immer das heißt) ist das was Du brauchst. Ohne das geht bald eh garnix mehr.

    Edit:
    Schönes Wasser hatte ich aber damals auch mit meiner DX7 Graka, zB im DirectX Beispiel "Water". Wie das funktioniert kann ich Dir aber leider nicht genau sagen.



  • Die Standard lighting Pfade der Grakas unterstützen kein Phong Shading. Wenn dus brauchst, musst du das als Pixelshader implementieren (hab sogar wo ein Tut dafür gesehen, aber weis nicht mehr wo es war), oder du machst Fake Phong Shading mit Phong maps.



  • Super, danke für die Antworten! 🙂

    Was das Wasser betrifft: Es geht eben nicht um ne Pfütze oder nen See oder sowas. Es ist ein Objekt (ein inneres Organ des Menschen) das eben "wässrig aussieht".



  • Die Standard lighting Pfade der Grakas unterstützen kein Phong Shading.

    Lies die D3D Docu oder OpenGL Docu und sag das nochmal.
    Du weißt wie Phong funzt oder?

    Sicher es ist kein per Pixel-Phong, aber das die Berechnungen pro Vertex ausgeführt werden ändert nichts am verwendeten Lightmodel.



  • Ich rede aber von per Pixel Phong. Und zumindest bei OpenGL ist davon nirgens die Rede. Da gibts nur Shading Model Flat und Smooth alias Gouraud. Phong müsste man selber machen.

    Abgesehen davon

    Sicher es ist kein per Pixel-Phong

    Häh 😕 dann ist es ja kein Phong Shading. Denn AFAIK besagt dieses, das pro Pixel ein Normalvector aus den Ecken interpoliert wird und damit der Schattierungswert berechnet. Bei Gouraud wird nur an den Ecken der Schattierungswert berechnet und über das Polygon bilinear interpoliert.



  • Hm, aus Fake Phong Shading wird nix.. Die GraKa unterstützt kein Multitexture.. 👎


  • Mod

    durito schrieb:

    Hm, aus Fake Phong Shading wird nix.. Die GraKa unterstützt kein Multitexture.. 👎

    dann nutze die macht des multipass 😉

    rapso->greets();



  • rapso schrieb:

    durito schrieb:

    Hm, aus Fake Phong Shading wird nix.. Die GraKa unterstützt kein Multitexture.. 👎

    dann nutze die macht des multipass 😉

    rapso->greets();

    Ne die GraKa wird übelst langsam wenn ich alpha blending brauch.. *g* Ja mann, ich glaub langsam die ist zu nix zu gebrauchen..



  • durito schrieb:

    Hm, aus Fake Phong Shading wird nix.. Die GraKa unterstützt kein Multitexture.. 👎

    Was is'n das für'n Gerät? 😎

    Bye, TGGC \-/



  • TGGC schrieb:

    durito schrieb:

    Hm, aus Fake Phong Shading wird nix.. Die GraKa unterstützt kein Multitexture.. 👎

    Was is'n das für'n Gerät? 😎

    Bye, TGGC \-/

    Ne SUN-GraKa (XVR-4000) 🙂 Jaja, sowas gibts.. Aber ich gäb viel dafür mit ner ATI/nVidia zu arbeiten *seufz*


Anmelden zum Antworten