Gouraud Shading



  • So ich melde mich wieder mit einem neuen Problem zurück....

    Ich möchte jetzt in ein Zeichenfenster ein Rechteck zeichnen und es mithilfe von Gouraud-Shading füllen ! Ist das überhaupt möglich mit c++/cli ? und wenn ja wo sind meine Ansätze, ich konnte bis jetzt kaum beispiele dazu finden -.-

    Danke im Vorraus , leon 🕶



  • Klar ist das möglich. Ansatz hängt davon ab was genau du erreichen willst. Willst du das in Software lösen? Willst du dich einer Grafik API bedienen?



  • Deine "Frage" ist viel zu breit gefasst und es gibt vermutlich unendlich viele Möglichkeiten, dein "Ziel" zu erreichen. Um eine Lösung zu erwähnen, mit der du Gouraud Shading mit C++/CLI nutzen kannst: Nimm Windows Forms, erzeugt mit gl/gl.h einen OpenGL Kontext und arbeite mit glShadeModel(GL_SMOOTH) . Im Fall von C++/CLI sind deine Tutorials dafür: Eine beliebige Einführung in Windows Forms, eine beliebige Einführung in OpenGL (z.B. Nehe oder CodeSampler), MSDN Artikel über Windows Forms Interoperation.

    Falls dir diese Dinge nichts sagen oder nicht dem entsprechen, was du erwartet hast, hast du deine Frage zu allgemein gestellt 😉

    MfG



  • ich habe bereits ein Program in windows Forms ... openGL hab ich auch schon gedacht aber gibt es eine Möglichkeit das ohne den openGL kontext zu machen ? also mit den forms-internen zeichnung "Graphics" ?

    mfg



  • Du kannst versuchen, es mit LinearGradientBrush nachzubauen, allerdings ist das ein recht grosser Aufwand. Je nach dem, was du tun willst, musst du praktisch eine vollständige Vertex-Pipeline programmieren. Für einfache 2D Sachen sollte es jedoch problemlos machbar sein 😉



  • es sind 2D sachen, allerdings sind die Farbverläufe nicht linear sondern sind in x und y richtung unterschiedlich.... wie kann ich das machen ?

    mfg



  • Dann musst du wohl oder übel von Hand anfangen zu interpolieren. Anfangen tust du dann mit einem Tutorial über homogene baryzentrische Koordinaten. Damit schreibst du dann eine einfache 2D Vertex-Pipeline und interpolierst die Farben der Vertices.



  • eieieieiei....ist das denn einfacher als openGL zu verwenden ?



  • Nein.



  • ok dann wirds openGL danke... Nehe ist ein guter ansatz ?


Anmelden zum Antworten