Προγραμματισμός γραφικών

Σχετικά έγγραφα
Εισαγωγή στην OpenGL

OpenGL. Εισαγωγή στην OpenGL Βασικά Γεωμετρικά Σχήματα Παράλληλη (ορθογραφική) προβολή. Μάθημα: Γραφικά Υπολογιστών και Εικονική Πραγματικότητα

Εισαγωγή στην OpenGL

OpenGL. Εισαγωγή. Εξάμηνο: 2014Β. Διδάσκουσα: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Ηλεκτρονική Τάξη:

Γραφικά Υπολογιστών: OpenGL

OpenGL. Μετασχηματισμοί. Μάθημα: Γραφικά Υπολογιστών και Εικονική Πραγματικότητα. Κατερίνα Παπαδοπούλου /

Εισαγωγή. Γιατί γραφικά υπολογιστών; Προσέγγιση «από πάνω προς τα κάτω» (top-down). Βαθµίδα διασύνδεσης προγραµµατιστή εφαρµογών (API)

Εισαγωγή στην OpenGL: μέρος 1ο

Εισαγωγή στην OpenGL: μέρος 2ο

Εικόνα. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 05-1

Γραφικά Υπολογιστών. Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας και Θράκης. Γραφικά Υπολογιστών ΣΤ Εξάμηνο. Δρ Κωνσταντίνος Δεμερτζής

Συσκευές εισόδου. Φυσικές συσκευές εισόδου Λογικές συσκευές εισόδου

Τεχνολογία Πολυμέσων. Ενότητα # 5: Εικόνα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Απεικόνιση καμπυλών και επιφανειών

Έγχρωµο και Ασπρόµαυρο Φως

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΡΑΦΙΚΑ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκων: Ν. ΝΙΚΟΛΑΙΔΗΣ

ΠΛΗΡΟΦΟΡΙΚΗ I. 7 η ΔΙΑΛΕΞΗ Γραφικά με Υπολογιστή

Βασικές αρχές σχεδίασης (β)

7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή

Απαραίτητες αφού 3Δ αντικείμενα απεικονίζονται σε 2Δ συσκευές. Θέση παρατηρητή. 3Δ Μετασχ/σμός Παρατήρησης

Γραφικά & Οπτικοποίηση. Κεφάλαιο 1. Εισαγωγή. Γραφικά & Οπτικοπίηση: Αρχές & Αλγόριθμοι Κεφάλαιο 1

Κεφάλαιο 1 Βασικές αρχές σχεδίασης

ΦΩΤΟΡΕΑΛΙΣΜΟΣ & ΚΙΝΗΣΗ (ΘΕΩΡΙΑ)

Εισαγωγή. Γιατί γραφικά υπολογιστών; Προσέγγιση «από πάνω προς τα κάτω»(topdown). Βαθμίδα διασύνδεσης προγραμματιστή εφαρμογών (API)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα CAD / CAM. Ενότητα # 6: Γραφικά

Απεικόνιση δεδομένων (data visualization)

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #07

Απόδοση 3D σκηνών - Κινούµενα γραφικά

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα

Σχεδιασμός και Υλοποίηση εφαρμογής σε Android πλατφόρμα για την εκμάθηση της γλώσσας OpenGL

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1

Βασικές αρχές σχεδίασης (Α)

Συσκευές εισόδου. Φυσικές συσκευές εισόδου Λογικές συσκευές εισόδου

Γραφικά Ι. Ενότητα 1: Εισαγωγή. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Γραφικά Υπολογιστών: Μέθοδοι Ανίχνευσης Επιφανειών (Surface Detection Methods)

Γραφικά με Η/Υ / Εισαγωγή

ΘΕΜΑΤΑ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΟΡΑΣΗΣ ΚΑΙ ΓΡΑΦΙΚΩΝ ΕΙΣΑΓΩΓΗ RASTERING INTRODUCTION TO OPENGL. Ε. Θεοδωρίδης, Α. Τσακαλίδης

2 ο Εργαστήριο Αλληλεπίδραση και Animation

Εφαρμογές Πληροφορικής

Σύντομος οδηγός αναφοράς Για Windows Έκδοση 4.0

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας. Παρουσίαση 12 η. Θεωρία Χρώματος και Επεξεργασία Έγχρωμων Εικόνων

Εισαγωγή Ασπρόμαυρο Halftoning γάμμα Φως/Χρώμα Χρωματικά Μοντέλα Άλλα. 6ο Μάθημα Χρώμα. Γραφικα. Ευάγγελος Σπύρου

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) INTERMEDIATE

ΑΣΚΗΣΗ 2 ΒΑΣΙΚΑ ΚΑΙ ΣΥΝΘΕΤΑ ΣΗΜΑΤΑ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ - ΕΙΚΟΝΑΣ

Γραφικά Υπολογιστών: Εμφάνιση σε 2D

Έγχρωμο και ασπρόμαυρο φως

Συστήματα Πολυμέσων. Ενότητα 4: Θεωρία Χρώματος. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Blending. Have a look:

Κλασσική παρατήρηση & παρατήρηση με υπολογιστή

Η Βιβλιοθήκη Γραφικών OpenGl Με Χρήση C/C++, JAVA και PYTHON

Εισαγωγή στο Τεχνικό σχέδιο με Η/Υ (CAD)

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) INTERMEDIATE Παρουσιάσεις ΕΚΔΟΣΗ 1.0. Διεύθυνση: Ασκληπιού 18 Τηλέφωνο:

Νέες δυνατότητες του Interactive Physics 2004*

Η προέλευση του Sketchpad 1

Κεφάλαιο 2 ο Είσοδος/Έξοδος ιαχείριση γεγονότων - Αποκοπή στις δύο διαστάσεις

6. Στερεοσκοπική Απόδοση

Υλικά, φωτισμός και χρωματισμός

Περιοχή εργασίας. Τμ. Γραφιστικής (Γραφιστική με Η/Υ - In Design) 2

Η διαδικασία Παραγωγής Συνθετικής Εικόνας (Rendering)

Ενδεικτική Οργάνωση Ενοτήτων. E Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

ιπλωµατική Εργασία Ανάπτυξη Γραφικού Περιβάλλοντος για την απεικόνιση και διαχείριση τρισδιάστατων πλεγµάτων και επιφανειών

Γραφιστική Πληροφορίας σε 3D

α2. Αποθήκευση παρουσίασης με διαφορετικό τύπου ή/και σε διαφορετική θέση/ ή/και με διαφορετικό όνομα

Επεξεργασία Χαρτογραφικής Εικόνας

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 11 η : θεωρία Χρώματος & Επεξεργασία Έγχρωμων Εικόνων

0 SOLID_LINE 1 DOTTED_LINE 2 CENTER_LINE 3 DASHED_LINE 4 USERBIT_LINE

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

Stroke.

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

Αρχιτεκτονική σχεδίαση με ηλεκτρονικό υπολογιστή

Μορφές των χωρικών δεδομένων

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί

ΓΡΑΦΙΚΑ ΥΠΟΛΟΓΙΣΤΩΝ ΓΚΑΝΙΑΣ ΑΓΓΕΛΟΣ

Η χρήση του χρώµατος στη χαρτογραφία και στα ΣΓΠ

Τμήμα Επιστήμης Υπολογιστών ΗΥ-474. Ψηφιακή Εικόνα. Χωρική ανάλυση Αρχεία εικόνων

Πρακτική εφαρμογή στην ειδικότητα: Λογισμικό για τη δημιουργία εργασίας εξαμήνου

Περιεχόµενα. I Βασικές Γνώσεις 1

Ηχρήση του χρώµατος στους χάρτες

1. PHOTOMOD Montage Desktop (βασικό πρόγραμμα)

Περιεχόµενα ενότητας

Γραφικά Υπολογιστών: Προοπτικές Προβολές (Perspective Projections)

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

ΚΕΦΑΛΑΙΟ 5: ΑΠΕΙΚΟΝΙΣΗ ΚΑΙ ΑΠΟΚΟΠΗ

GRAPHICS AND CODE DESIGN

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση

Γραφικά Υπολογιστών: Αποκοπή στις 3D Διαστάσεις

Τμήμα Μηχανικών Σχεδίασης Προϊόντων & Συστημάτων ΓΡΑΦΙΚΑ (6151) ΕΝΔΕΙΚΤΙΚΕΣ ΠΡΟΑΙΡΕΤΙΚΕΣ ΑΣΚΗΣΕΙΣ

Γραφικά με υπολογιστές

ΕΞΕΤΑΣΤΕΑ ΥΛΗ Key CERT: ΠΑΡΟΥΣΙΑΣΕΙΣ

Οδηγίες για το Geogebra Μωυσιάδης Πολυχρόνης Δόρτσιος Κώστας

Ο παρακάτω πίνακας τιμών θα βοηθήσει να γίνει πιο κατανοητή η λειτουργία των εντολών της συγκεκριμένης άσκησης. Α/Α Εντολές Μνήμη (Μεταβλητή α) Οθόνη

Αντικείμενα και γεωμετρικοί μετασχηματισμοί

Ψηφιακή Επεξεργασία Εικόνας

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ. 3ο Μάθημα Αποκοπή. Γραφικα. Ευάγγελος Σπύρου

Γνωστική Ψυχολογία Ι (ΨΧ32)

Καµπύλες Bézier και Geogebra

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΞΟΧΙΚΗΣ ΚΑΤΟΙΚΙΑΣ ΜΕ ΧΡΗΣΗ OpenGL Περιστερίδου Καλλιόπη

Transcript:

Προγραμματισμός γραφικών Εισαγωγή ελάχιστου συνόλου συναρτήσεων Οχι αλληλεπίδραση από τον χρήστη Δισδιάστατα γραφικά: ειδική περίπτωση τρισδιάστατων γραφικών Παράδειγμα-εφαρμογή: η ταινίατου Sierpinski (Sierpinski gasket)

Περιγραφή προβλήματος Οαλγόριθμος: αναδρομικότητα, τυχαιότητα main() { initialize_the_system(); for (some_number of points) { generate_a_point(); display_a_point(); } cleanup(); }

Δισδιάστατο επίπεδο: υποχώρος του τρισδιάστατου χώρου Παράσταση ως δισδιάστατα ή τρισδιάστατα διανύσματα Σημείο και κορυφή (point & vertex) Ορισμός γεωμετρικών σχημάτων με κορυφές. glvertexntv();

glbegin(), glend() Όρισμα: γεωμετρικός τύπος που θα οριστεί: GL_LINES, GL_POINTS Τυποι δεδομένων OpenGL: GLfloat, GLint, GLdouble, κλπ

typedef GLfloat point2[2]; point2 triangle[3]={}; void display (void) { static point2 p={,} int i; for(k=0;k<1000;k++} i=random()%3; p[0]=(p[0]+triangle[i][0])/2; p[1]=(p[1]+triangle[i][1])/2; glbegin(gl_points); glvertex2fv(p); glend(); } }

Άλλα ανοιχτά θέματα Χρώμα σχεδίασης Θέση εμφάνισης στην οθόνη Μέγεθος Δημιουργία παραθύρου απεικόνισης Πόσο μέρος του επιπέδου σχεδίασης εμφανίζεται στην οθόνη Χρόνος παραμονής στην οθόνη

Σύστημα συντεταγμένων Γραφικά με συστήματα συντεταγμένων ανεξάρτητα από τη συσκευή (device independent graphics). Κοσμικό σύστημα συντεταγμένων (world coordinate system): ελευθερία επιλογής συστήματος και μονάδων Συντεταγμένες οθόνης ή πλέγματος (raster/screen coordinates) World to raster: υπεύθυνο το σύστημα γραφικών

Σύστημα συντεταγμένων

Το σύστημα γραφικών OpenGL δομή αντίστοιχη με άλλα APIs (DirectX, Java3D). Σύστημα γραφικών ως μαύρο κουτί Περιγράφεται από τις διαθέσιμες συναρτήσεις

Κατηγορίες συναρτήσεων Συναρτήσεις αρχετύπων (primitives) Συναρτήσεις ιδιοτήτων (attributes) Συναρτήσεις παρατήρησης (viewing) Συναρτήσεις μετασχηματισμού (transformation) Συναρτήσεις εισόδου (input) Συναρτήσεις ελέγχου (control) Συναρτήσεις διερεύνησης (inquiry)

To σύστημα γραφικών ως μηχανή καταστάσεων (state machine) Μαύροκουτίμεδύοείδηεισόδωναπότο πρόγραμμα του χρήστη Συναρτήσεις που καθορίζουν την κατάσταση του συστήματος Συναρτήσεις που ορίζουν αρχέτυπα που θα επιδειχθούναφούπεράσουναπότηναλυσίδα Οι παράμετροι του συστήματος επιδρούν σε όλα τα αρχέτυπα, σταθερές μέχρι να αλλαχθούν Χρώμα ζωγραφίσματος

Βασικές βιβλιοθήκες GL GLU (graphics utility library) GLUT (graphics library utility toolkit) GLX,WGL Εντολές gl*, glu*, glut*

Ποιά αρχέτυπα? Μινιμαλιστική άποψη: γραμμές, πολύγωνα και κείμενο Υποστηρίζονται από όλα τα είδη υλικού Μαξιμαλιστική άποψη: κύκλοι, καμπύλες, στερεά κλπ Ευκολία στον προγραμματισμό Πιθανότητα μη υποστήριξης OpenGL: χρήση της GLU

Ποιά αρχέτυπα? OpenGL: δύο είδη αρχετύπων Γεωμετρικά: σημεία, γραμμές, πολύγωνα, καμπύλες, επιφάνειες Αρχέτυπα πλέγματος (raster): πίνακες εικονοστοιχείων (π.χ. raster fonts), εικόνες Διέρχονται από διαφορετική αλυσίδα επεξεργασίας

glbegin(...) Βασικός τύπος εντολών glvertex*( ); glvertex*( );. αρχετύπων glend(); Δυνατότητα ύπαρξης και άλλων εντολών πέραν της glvertex

Ευθύγραμμα τμήματα GL_LINES GL_LINE_STRIP GL_LINE_LOOP

Πολύγωνα Πολύγωνα και πολυγωνικές γραμμές (GL_LINE_LOOP vs GL_POLYGON) Τα πολύγωνα έχουν εσωτερικό Τρόποι απεικόνισης πολυγώνων glpolygonmode() glpolygonmode(gl_front, GL_FILL) GL_LINE, GL_FILL, GL_POINT Χειρισμός (γέμισμα) πολυγώνων Απλά & μη απλά πολύγωνα

Κυρτά & επίπεδα πολύγωνα Ορισμός κυρτότητας Τρισδιάστατος χώρος Επίπεδα πολύγωνα Απλά, κυρτά, επίπεδα πολύγωνα χειρίζονται επιτυχώς Χρήση τριγώνων Απλά, κυρτά, επίπεδα Υποστήριξηαπότουλικό

Πολύγωνα GL_POLYGON GL_TRIANGLES GL_QUADS GL_TRIANGLE_STRIP GL_QUAD_STRIP GL_TRIANGLE_FAN

Πολύγωνα

Κείμενο Χαρακτήρες συνεχόμενης γραφής (stroke fonts) Κατασκευάζεται από αρχέτυπα γραφικών (ευθ. τμήματα, καμπύλες) Μπορούν να τροποποιηθούν όπως όλα τα αρχέτυπα (π.χ. μεγέθυνση, περιστροφή) Δύσκολη σχεδίαση / αργή απεικόνιση Χαρακτήρες πλέγματος (raster fonts) «Άκομψη» μεγέθυνση, περιστροφή Εύκολη σχεδίαση, γρήγορη απεικόνιση

Κείμενο Η OpenGL δεν έχει αρχέτυπα γραμματοσειρών Μερικά αρχέτυπα παρέχονται από την GLUT

Καμπύλα αντικείμενα Καμπύλες γραμμές και επιφάνειες Προσέγγιση με πολυγωνικές γραμμές και πολύγωνα Χρήση μαθηματικών συναρτήσεων που τα περιγράφουν και αντιστοίχων συναρτήσεων για την απεικόνιση Παραμετρικές πολυωνυμικές καμπύλες γραμμές και επιφάνειες: καμπύλες και επιφάνειες Bezier, NURBS.

Ιδιότητες αρχετύπων Διαχωρισμός: είδος αρχετύπου, απεικόνιση αρχετύπου (ιδιότητες) Χρώμα, πάχος, τύπος γραμμής, τύπος παραγεμίσματος, γραμματοσειρά Συσχέτιση αρχετύπων - ιδιοτήτων Οι ιδιότητες των αρχετύπων είναι μέρος της κατάστασης του συστήματος Κατάσταση άμεσης επίδειξης (immediate mode): τα αρχέτυπα σχεδιάζονται με τις τρέχουσες ιδιότητες

Χρώμα Ηλεκτομαγνητική ακτινοβολία 350nm (μπλε) - 780nm (κόκκινο) Προσδιορισμός χρώματος από καμπύλη C(λ) Δύσκολο να χρησιμοποιηθεί στην πράξη Δεν προσομοιάζει το πως αντιλαμβανόμαστε το χρώμα

Το μοντέλο των τριών πρωτευόντων χρωμάτων Δημιουργία χρωμάτων από μείξη 3 βασικών χρωμάτων Το ανάλογο των τριών προβολέων C=T 1 R+ T 2 G+T 3 B T 1, T 2, T 3 : τριχρωματικές τιμές διέγερσης Χαρακτηρίζουν το χρώμα

Το μοντέλο των τριών πρωτευόντων χρωμάτων Το ανάλογο των τριών προβολέων C=T 1 R+ T 2 G+T 3 B

Το μοντέλο των τριών πρωτευόντων χρωμάτων Δεν μπορούν να δημιουργήσουν όλα τα χρώματα Περιγράφουμε τη C(λ) με τρεις τιμές Προσομοιώνουν τον τρόπο που βλέπουμε. Τα κωνία είναι τριών ειδών, κάθε ένα στέλνει μια τιμήστοοπτικόνεύρο A = S ( ) C( ) d i i λ λ λ

Το μοντέλο των τριών πρωτευόντων χρωμάτων Αν δύο χρώματα παράγουν τις ίδιες τριχρωματικές τιμές διέγερσης είναι οπτικά μη διαχωρίσιμα (μεταμερές ζεύγος). Δεν μπορούμε να παράξουμε τα ίδια χρώματα σε όλα τα συστήματα Διαφορετικά βασικά χρώματα,διαφορετικές μέγιστες εντάσεις. Χρωματική γκάμα συστήματος.

Το μοντέλο των τριών πρωτευόντων χρωμάτων Οχρωματικόςκύβος Το προσθετικό μοντέλο (οθόνες) Πρόσθεση χρωμάτων σε μαύρο φόντο Το αφαιρετικό μοντέλο (εκτυπωτές) Αφαίρεση χρωμάτων από άσπρο φόντο Φως προσπίπτει στην επιφάνεια, απορροφάται και αντανακλάται. Συμπληρωματικά χρώματα (cyan, magenta, yellow)

Το μοντέλο των τριών πρωτευόντων χρωμάτων

Χρώμα RGB Κάθε χρώμα προσδιορίζεται με την τριάδα RGB Απαιτήσεις μνήμης Διαφορετικοί (εννοιολογικά) frame buffers για κάθε χρώμα, π.χ 1 byte/χρώμα. Προσδιορισμός χρώματος ανεξάρτητα από το υλικό: ηχρήσητουμοναδιαίουχρωματικού κύβου glcolor3f(1.0, 0.0, 0.0) Χρώμα ζωγραφίσματος, μέρος της κατάστασης του συστήματος

Χρώμα RGB

Το μοντέλο RGBΑ Το alpha-channel Διαφάνεια: 0, αδιαφάνεια 1 Μείξη εικόνων, εφφέ ομίχλης glclearcolor : χρώμα καθαρίσματος οθόνης glclearcolor(1.0, 1.0,1.0,1.0) glclear (GL_COLOR_BUFFER_BIT)

Δεικτοδοτούμενο (indexed) χρώμα Χρήση σε συστήματα με μικρό βάθος frame buffer Περιορισμός των χρωμάτων που μπορούμε να χρησιμοποιούμε κάθε φορά (από ένα μεγάλο σύνολο). Ητιμήτουpixel, δείκτης σε πίνακα αναφοράς (lookup table) Ο χρήστης υπεύθυνος για τον καθορισμό του lookup table

Δεικτοδοτούμενο (indexed) χρώμα 2 k : χρώματα που μπορώ να επιδείξω κάθε στιγμή (k-bit frame buffer) 2 3m χρώματα που μπορώ να αναπαράξω γενικά Lookup table: 2 κ θέσεις μήκους 3m bits Καθορισμός χρώματος ζωγραφίσματος: glindexi(element) glutsetcolor(color,red,green,blue)

Δεικτοδοτούμενο (indexed) χρώμα

Παρατήρηση Κάμερα & αντικείμενα ανεξάρτητα Απεικόνιση στην οθόνη αυτόματα από το σύστημα γραφικών. Παραλληλόγραμμο/παραλληλεπίπεδο παρατήρησης-ψαλιδίσματος

Παρατήρηση 2D: gluortho2d(left, right, bottom, top) 3D: Ορθογραφική προβολή: (x,y,z) σε (x,y,0) glortho(left, right, bottom, top, near, far) gluortho2d: near=-1, far=1

Matrix modes Πίνακες μετασχηματισμών: μέρος της κατάστασης του συστήματος Πίνακας παρατήρησης-μοντέλου (model-view) Πίνακας προβολών (projection) Επιλογή του πίνακα που θα επηρεάσουμε με μία εντολή που αφορά πίνακες: glmatrixmode: GL_PROJECTION, GL_MODELVIEW

Matrix modes glmatrixmode(gl_projection) glloadidentity() gluortho2d(0.0, 500.0, 0.0, 500.0) glmatrixmode(gl_modelview) Επαναφορά πάντα στον ίδιο πίνακα

Συναρτήσεις ελέγχου ΗβιβλιοθήκηGLUT Η έννοια του παραθύρου, συντεταγμένες παραθύρου (μονάδες: pixels) Η διαχείριση των παραθύρων γίνεται από το σύστημα των παραθύρων Παράθυρο γραφικών Αρχή συντεταγμένων Στην OpenGL: κάτω αριστερά στο σύστημα παραθύρων: πάνω αριστερά Θέση ποντικιού Θέση παραθύρου στην οθόνη

Αρχικοποίηση glutinit(&argc, argv); glutinitdisplaymode (GLUT_SINGLE GLUT_DEPTH GLUT_RGB); glutinitwindowsize(500,500); glutinitwindowposition(0,0); glutcreatewindow( window title );

Viewport Το παράθυρο παρατήρησης (gluortho2d) κλιμακώνεται για να καλύψει όλο το παράθυρο γραφικών των Windows. Αλλοίωση αντικειμένων αν ο λόγος πλευρών του παραθύρου παρατήρησης (gluortho2d) και του παραθύρου γραφικών είναι διαφορετικός.

Viewport Χρήση του viewport: τμήμα του παραθύρου glviewport(x,y,w,h)

Άλλες συναρτήσεις Γραφικά άμεσης επίδειξης Διαχείριση γεγονότων (event processing) glutmainloop() Callback συνάρτηση επίδειξης glutdisplayfunc(void (*func)(void)) Καλείται όταν πρέπει να επιδειχθεί / ξαναεπιδειχθεί το παράθυρο

Το τρισδιάστατο Sierpinski gasket Ξεκινάμε με ένα τετράεδρο typedef Glfloat point[3]; point vertices[4]={{0.0,0.0,0.0},{},{}{}}; point p={250.0, 100.0,250.0}; j=random()%4; p[0]=(p[0]+vertices[j][0])/2.0; p[1]=(p[1]+vertices[j][1])/2.0; p[2]=(p[2]+vertices[j][2])/2.0;

glbegin(gl_points); glcolor3f(p[0]/250.0, p[1]/250.0, p[2]/250.0); glvertex3fv(p); glend(); glortho(-500.0, 500.0, -500.0, 500.0, -500.0, 500.0); Απόκρυψη κρυμμένων επιφανειών glutinitdisplaymode(glut_single GLUT_RGB GLUT_ DEPTH); glenable(gl_depth_test);