phong shading mit OpenGL?
-
Hallo,
Ueber glShadeModel kann ja nur Flat oder Smooth Shading verwendet werden. Gibts irgendwie ne Moeglichkeit um Phong Shading anzuwenden?
thx,
-
In D3D ist es so, dass man es zwar einstellen kann es aber nicht unterstützt wird. Ist auch unnötig, da man das ja alles mit Shadern machen kann.
Ich denk in OGL wird es nicht viel anderst sein.
-
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..
-
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*