Diskussion:Technikpfad

Aus DGL Wiki
Wechseln zu: Navigation, Suche

Frage 1

Zitat:

Mit den nun im Framebuffer liegenden Fragmenten werden weitere Operationen durchgeführt.


Aktionen wie der Tiefentest werden doch schon bei dem schreiben in die Puffer gemacht, oder nicht? Den wenn ich zum Beispiel ein Dreieck A zeichnen lasse, welches von einen andern vorher gezeichneten Dreieck B verdeckt wird, darf ich doch gar nicht die Farbpuffer verändern. Denn ansonsten wird ja Dreieck B überzeichnet.

Natürlich gilt das auch noch für einige (alle?) andere Operationen. --84.128.36.237 19:26, 17. Feb 2005 (CET)

Antwort 1

Also ich hab das alles ausm Artikel Feste Funktionspipeline. Keine Ahnung ob ich da Verständnisprobleme hatte. Aber dafür ist ja ein Wiki da, um Fehler easy ausbügeln zu können. --Flash (Kevin Fleischer) 19:13, 17. Feb 2005 (CET)

Antwort 2

Text

Stencil Test, Tiefen Test, und Blending benötigen logischerweise schon vorhandene Werte aus dem Frame Buffer. Wenn meine Vermutung stimmt wurde aus diesem Grund da ein Pfeil eingetragen. Warum der doppelt ist weis ich allerdings nicht.

--Flo 19:26, 17. Feb 2005 (CET)

Bild

FragmentPipeline.png

Antwort 3

Zitat:

Stencil Test, Tiefen Test, und Blending benötigen logischerweise schon vorhandene Werte aus dem Frame Buffer. Wenn meine Vermutung stimmt wurde aus diesem Grund da ein Pfeil eingetragen. Warum der doppelt ist weis ich allerdings nicht.


Der Pfeil ist doppelt um zu symbolisieren das ein glClear-Befehl einen anderen Weg geht als normale Fragmente. Ein glClear berücksichtigt demnach keine Alpha-, Stencil- oder Depth-Func und natürlich auch kein Blending. Dieses Diagramm ist eine etwas vereinfachte Form der OpenGL 1.1 State Machine (PDF).

Ansonnsten soweit klar, das Problem ist allerdings, dass der Satz

Zitat:

Mit den nun im Framebuffer liegenden Fragmenten werden weitere Operationen durchgeführt.


direkt nach dem Rasterizer (und vor der gesamten Fragment Pipeline) steht. Also ich würd sagen man müsste den Satz zB in:

Mit den bereits im Framebuffer liegenden Fragmenten werden weitere Operationen durchgeführt.

umformen. Also das Fragment das durch die Fragment Pipeline "geht" ist nur eine Sammlung von Daten (Farbe, Texturfarbe(n), Fenstercoordinaten, Tiefe, das was man halt beim Fragment Shader so zur Verfügung hat). In den Framebuffer werden diese Daten erst ganz am Ende geschrieben.

Aber auch ich hab noch das ein oder andere zu bemängeln ohne jetzt konkrete Verbesserungsvorschläge parat zu haben:

Zitat:

Die Renderingpipeline besteht aus zwei Teilen (und kann deshalb auch durch 2 Shadertypen, Pixel- und Fragmentshader, ersetzt werden).


Einer von mehreren Sätzen die vermuten lassen, dass die gesamte Rendering-Pipeline ersetzt werden kann. In Wirklichkeit werden dadurch jedoch nur ein paar Teile ersetzt (können nicht gleichzeitig verwendet werden). Irgendwo gab's da mal nen netten Artikel wo genau vermerkt wurde welche Aufgaben der Shader übernehmen muss (sofern er möchte), weiß aber leider nimmer wo ich den gefunden hab...

Und was mir hier aufgefallen ist (jedoch entstand der Fehler wahrscheinlich schon beim Framebuffer): Was zum Teufel ist mit Framebuffer gemeint? Also für mich ist das ein Überbegriff für Tiefen-, Farb- und ggf. Stencil-Puffer. Bei diesen beiden Artikel kommt das irgendwie so raus als ob es sowohl einen Framebuffer als auch einen Farb- usw. Puffer gäbe.

Ok genug genörgelt, fürn Anfang is der Artikel schon sehr gut gelungen.
--Lyr 20:55, 17. Feb 2005 (CET)

Wenn man ganz hart ist, muss ich sagen bin ich Anfänger (maximal Amatuer) in Sachen GL Aufbau. Das mit dem Framebuffer kann man entsprechend ändern. Keine Ahnung wie es dazu kam, kann sein, dass der Artikel ursprünglich mal als Erklärung Gedacht war nach dem Motto: "Sowas gibts nicht, und Framebuffer steht nur als Sammelbegriff für ..."

Bei der Pipeline mit den Shadern: Da kenn ich mich net wirklich aus. Das wär günstig wenn das einer von den Shaderprogrammierern mal anpassen könnte. Bei uns in der Comp.Grafik Vorlesung hat ein Übungsleiter mal ne Folie gezeigt die das Wesen der Statemachine zeigte. Da war ne Box die Vertexdaten repräsentierten links, und die Zustände Rechts aufgezeichnet. Kennt emand die Folie/gibts sowas bei den Spezifikationen. Denke solche Folien (gesetzt dem Fall man darf sie hier zeigen) wären bestimmt seeeehr angebracht.

--Flash (Kevin Fleischer) 02:03, 18. Feb 2005 (CET)