Γραφικά Υπολογιστών: Ποια είναι η διαφορά μεταξύ των shader των κορυφών και των pixel shader;


Απάντηση 1:

Γραμμικό αγωγό

Συρταριέρες κορυφής

  • Προγράμματα που εκτελούνται μία φορά ανά κορυφή, νωρίς στον αγωγό. Δεν μπορεί να δημιουργήσει ή να καταστρέψει τις κορυφές. Δεν γνωρίζει σε ποιο πρωτόγονο ανήκει.

Pixel shaders

  • Προγράμματα που εκτελούνται μία φορά ανά θραύσμα, αργά μέσα στον αγωγό. Δεν μπορούν να έχουν πρόσβαση σε άλλες κορυφές ή εικονοστοιχεία. Καταγράφει αδιαφάνεια, χρώμα, τιμή z, συντεταγμένες υφής.

Σκίαση φενγκ

Σκίαση φενγκ

ανά εικονοστοιχείο.

Phong μοντέλο αντανάκλασης

  • Σε κάθε κορυφή μετασχηματίζετε τη θέση και το κανονικό από το χώρο του αντικειμένου στον παγκόσμιο χώρο. Σε κάθε εικονοστοιχείο, παρεμβάλλετε και κανονικοποιείτε την επιφάνεια κανονικά και συγκεντρώνετε τα διάφορα στοιχεία φωτισμού (ambient + diffuse + specular) για να υπολογίσετε το τελικό χρώμα των pixel.

OpenGL tutorials

κυμαινόμενη vec3N; ποικίλη vec3 ν? κενό κύρια (άκυρη) {v = vec3 (gl_ModelViewMatrix * gl_Vertex); N = ομαλοποίηση (gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }}
κυμαινόμενη vec3N; ποικίλη vec3 ν? κενό κύρια (άκυρη) {vec3 L = ομαλοποίηση (gl_LightSource [0] .position.xyz - v); vec3 E = ομαλοποίηση (-v); vec3 R = ομαλοποιήσει (-αφαιρέστε (L, N)); // ambient vec4 Iamb = gl_FrontLightProduct [0]. // diffuse vec4 Idiff = gl_FrontLightProduct [0]. diffuse * max (τελεία (N, L), 0.0); Idiff = σφιγκτήρας (Idiff, 0.0, 1.0); // specular vec4 Ispec = gl_FrontLightProduct [0] .specular * pow (max (dot (R, E), 0,0), 0,3 * gl_FrontMaterial.shininess); Ispec = σφιγκτήρας (Ispec, 0.0, 1.0). // ολικό χρώμα gl_FragColor = gl_FrontLightModelProduct.sceneColor + Iamb + Idiff + Ispec; }}

Απάντηση 2:

Τι είναι ο Shader Vertex;

Vertex Shader

Λάβετε υπόψη ότι οι μηχανισμοί σκίασης Tessellation και Geometry είναι προαιρετικοί.

Είσοδοι Shader Vertex

Γνωρίσματα

Στολές

Μόνο για ανάγνωση

τις θέσεις, τους κανονικούς και τις συντεταγμένες uv

ΟΛΑ

Έξοδοι Shader Vertex

gl_Position

Μόνο για ανάγνωση

διαφέρουν / εξέρχονται

Γνωρίσματα

διαφέρουν / εξέρχονται

Στολή

Τι είναι το Shader Fragment (γνωστός και ως Pixel Shader);

Στολή

ραστεροποιητή

Εισαγωγές σε ένα Shader Fragment

Κορυφή

Ψηφίδωση

Σκίαση γεωμετρίας

επίπεδος

διαφέρουν / εξέρχονται

  • Συντεταγμένες υφής: Χρησιμοποιείται ως μία από τις παραμέτρους στη συνάρτηση υφής (). Διανύσματα αντανάκλασης πεζών: Χρησιμοποιούνται σε χαρτογράφηση περιβάλλοντος, χαρτογράφηση κύβου ή σε οποιαδήποτε λειτουργία που περιλαμβάνει ανάκλαση. Διανύσματα διάθλασης πεζών: χρησιμοποιούνται σε χαρτογράφηση κυψελών ή οποιαδήποτε λειτουργία που περιλαμβάνει διάθλαση . Γεωμετρικές συντεταγμένες σε συντεταγμένες μοντέλου ή προβολής. Ένταση φωτός: Χρησιμοποιείται σε σκηνές που χρησιμοποιούν φωτισμό ανά κορυφή. Διανύσματα αντίστασης από κορυφές σε πηγές φωτός: Χρησιμοποιείται για φωτισμό spot / σκίαση Phong.

Εξόδους ενός Shader Fragment

vec4

Graphics Shaders: Θεωρία και Πρακτική, Δεύτερη Έκδοση: Mike Bailey, Steve Cunningham: 9781568814346: Amazon.com: Βιβλία


Απάντηση 3:

Τι είναι ο Shader Vertex;

Vertex Shader

Λάβετε υπόψη ότι οι μηχανισμοί σκίασης Tessellation και Geometry είναι προαιρετικοί.

Είσοδοι Shader Vertex

Γνωρίσματα

Στολές

Μόνο για ανάγνωση

τις θέσεις, τους κανονικούς και τις συντεταγμένες uv

ΟΛΑ

Έξοδοι Shader Vertex

gl_Position

Μόνο για ανάγνωση

διαφέρουν / εξέρχονται

Γνωρίσματα

διαφέρουν / εξέρχονται

Στολή

Τι είναι το Shader Fragment (γνωστός και ως Pixel Shader);

Στολή

ραστεροποιητή

Εισαγωγές σε ένα Shader Fragment

Κορυφή

Ψηφίδωση

Σκίαση γεωμετρίας

επίπεδος

διαφέρουν / εξέρχονται

  • Συντεταγμένες υφής: Χρησιμοποιείται ως μία από τις παραμέτρους στη συνάρτηση υφής (). Διανύσματα αντανάκλασης πεζών: Χρησιμοποιούνται σε χαρτογράφηση περιβάλλοντος, χαρτογράφηση κύβου ή σε οποιαδήποτε λειτουργία που περιλαμβάνει ανάκλαση. Διανύσματα διάθλασης πεζών: χρησιμοποιούνται σε χαρτογράφηση κυψελών ή οποιαδήποτε λειτουργία που περιλαμβάνει διάθλαση . Γεωμετρικές συντεταγμένες σε συντεταγμένες μοντέλου ή προβολής. Ένταση φωτός: Χρησιμοποιείται σε σκηνές που χρησιμοποιούν φωτισμό ανά κορυφή. Διανύσματα αντίστασης από κορυφές σε πηγές φωτός: Χρησιμοποιείται για φωτισμό spot / σκίαση Phong.

Εξόδους ενός Shader Fragment

vec4

Graphics Shaders: Θεωρία και Πρακτική, Δεύτερη Έκδοση: Mike Bailey, Steve Cunningham: 9781568814346: Amazon.com: Βιβλία