Komplexe und aufwendige Algorithmen wie 'FloodFill' mit OpenGL
-
wolfgke schrieb:
Das hängt ganz davon ab, was deine Aufgabenstellung ist.
aber diese werden sie wohl erst erzählen können, wenn du sagst, was du überhaupt machen willst.so sehe ich das auch

Ergo: je nachdem, aus welchem Bereich meine Aufgabe ist, würde ich wahlweise mit Tesselierung (Eckpunkte des zu füllenden Polygons sind gegeben) oder mit einer Implementierung von Floodfill innerhalb meines Pixelarrays (aus dem ich dannach eine Textur baue) arbeiten.
naja, vielleicht will er auch nur den hintergrund in einer speziellen farbe haben wo nichts hingezeichnet wurde, dann wuerde ne andere clearfarbe reichen
who knows?
er sagt ja nicht was das problem ist, er fragt nur ob ogl floodfill hat.
-
Es gibt so viele Grafikbibliotheken, kostenlose gibt es auch jede Menge. Aber bei den meisten vermisse ich einige 2D Grafik Funktionen, um z.B. eine mit der man eine bestimmte Fläche farbig ausmalen kann. Und weil es sowas nun mal nicht in jeder Grafikbibliothek gibt wollte ich so ne Funktion selber schreiben bzw. vonder WinAPI nutzen weil die sowas eben schon fertig anbietet, nämlich FloodFill. Warum OpenGL? Weil einige Grafikbibliotheken eben auf OpenGL zugreifen. Deshalb wollte ich wissen ob man unter OpenGL die WinAPI nutzen kann
-
LukasBanana schrieb:
Es gibt so viele Grafikbibliotheken, kostenlose gibt es auch jede Menge. Aber bei den meisten vermisse ich einige 2D Grafik Funktionen, um z.B. eine mit der man eine bestimmte Fläche farbig ausmalen kann. Und weil es sowas nun mal nicht in jeder Grafikbibliothek gibt wollte ich so ne Funktion selber schreiben bzw. vonder WinAPI nutzen weil die sowas eben schon fertig anbietet, nämlich FloodFill. Warum OpenGL? Weil einige Grafikbibliotheken eben auf OpenGL zugreifen. Deshalb wollte ich wissen ob man unter OpenGL die WinAPI nutzen kann
Die funktion gibt es nicht, weil der algorithmus sehr sequenziel und deswegen schlecht fuer die graphikhardware ist, es gibt viele andere wege sowas zu erreichen, mit polygonen, die die flaeche ausfuellen, mit dem painter algorithmus, mit dilation shadern, mit stencil tricks usw.
und je nachdem was man erreichen will gibt es noch viele andere wege.
-
In OpenGL kannst du auch mit Einheitsmodelview und Einheitsprojektionsmatrix mit den Befehlen glVertex2f und Umrechnung von Bildschrimkoordinaten in "Weltkoordinaten" leicht gefüllte Polygone zeichnen. Bei Gelegenheit kram ich auch ein bisschen Code raus ...
-
LukasBanana schrieb:
Es gibt so viele Grafikbibliotheken, kostenlose gibt es auch jede Menge. Aber bei den meisten vermisse ich einige 2D Grafik Funktionen, um z.B. eine mit der man eine bestimmte Fläche farbig ausmalen kann. Und weil es sowas nun mal nicht in jeder Grafikbibliothek gibt wollte ich so ne Funktion selber schreiben bzw. vonder WinAPI nutzen weil die sowas eben schon fertig anbietet, nämlich FloodFill.
Es ist immernoch nicht klar, was du vor hast. Schreibst du ein Grafikprogramm, dass eine "Füllen"-Funktion anbietet, nimm Flood-Fill und kein OpenGL. Schreibst du ein Spiel oder Ähnliches, wobei du schnell ausgefüllte Flächen zeichnen willst, dann nimm OpenGL und unterteile deine Flächen in Dreiecke.
LukasBanana schrieb:
Warum OpenGL? Weil einige Grafikbibliotheken eben auf OpenGL zugreifen. Deshalb wollte ich wissen ob man unter OpenGL die WinAPI nutzen kann
OpenGL ist eine Bibliothek genauso, wie WinAPI. Die Frage macht also so keinen Sinn. Du kannst bestimmt ein Bild mit OpenGL rendern, es wieder in den Arbeitsspeicher reinlesen und dann mit der WinAPI bearbeiten, aber das wäre das schlimmste, was du anstellen kannst. Außerdem darf der Sinn bezweifelt werden.
-
Deshalb wollte ich wissen ob man unter OpenGL die WinAPI nutzen kann
Ja, kann man. Ist deine Frage jetzt beantwortet?
SCNRP. S.: Ich behaupte nicht, dass die Kombination in jedem Fall sinnvoll ist.
-
megaweber schrieb:
In OpenGL kannst du auch mit Einheitsmodelview und Einheitsprojektionsmatrix mit den Befehlen glVertex2f und Umrechnung von Bildschrimkoordinaten in "Weltkoordinaten" leicht gefüllte Polygone zeichnen. Bei Gelegenheit kram ich auch ein bisschen Code raus ...
Nur aus Interesse: Was sind "Einheitsmodelview" und "Einheitsprojektionsmatrix"?
-
this->that schrieb:
megaweber schrieb:
In OpenGL kannst du auch mit Einheitsmodelview und Einheitsprojektionsmatrix mit den Befehlen glVertex2f und Umrechnung von Bildschrimkoordinaten in "Weltkoordinaten" leicht gefüllte Polygone zeichnen. Bei Gelegenheit kram ich auch ein bisschen Code raus ...
Nur aus Interesse: Was sind "Einheitsmodelview" und "Einheitsprojektionsmatrix"?
Einheitsmatrix, Modelview und Projektions Matrix
Man fuege ein wenig grips hinzu und warte auf erleuchtung

-
rapso schrieb:
this->that schrieb:
megaweber schrieb:
In OpenGL kannst du auch mit Einheitsmodelview und Einheitsprojektionsmatrix mit den Befehlen glVertex2f und Umrechnung von Bildschrimkoordinaten in "Weltkoordinaten" leicht gefüllte Polygone zeichnen. Bei Gelegenheit kram ich auch ein bisschen Code raus ...
Nur aus Interesse: Was sind "Einheitsmodelview" und "Einheitsprojektionsmatrix"?
Einheitsmatrix, Modelview und Projektions Matrix
Man fuege ein wenig grips hinzu und warte auf erleuchtung

Soll er doch gleich sagen, Koordinaten im Clip Space;)
-
Ich will 2D UND 3D Grafiken mit OpenGL programmieren. Und ich wollte mir eben ein paar Funktionen bereit stellen, falls ich sie mal brauche. Und da dachte ich, ich könnte irgendwann auch mal für ein 2D Spiel eine Funktion gebrauchen mit der man Flächen ausmalen kann. Aber ich weiß jetzt dass ich das wenn überhaupt mit OpenGL Polygonen mache, also ausgefüllte Dreiecke.
