Μέθοδοι Απεικόνισης. Μοντελοποίηση με κάποια άλλη καμπύλη επιφάνεια. Απλή αλλά πολύ «κανονική» για να είναι αληθοφανής

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

Απεικόνιση Υφής. Μέρος Α Υφή σε Πολύγωνα

Απεικόνιση Υφής. Μέρος B Δημιουργία Συντεταγμένων Υφής

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

Οδηγίες σχεδίασης στο περιβάλλον Blender

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

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

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

Γεωμετρικές Σκιές. Θ. Θεοχάρης Ι. Κακαδιάρης - Γ. Πασσαλής

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 4η - 3Δ γραφικά

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

Συστήματα συντεταγμένων

5ο Μάθημα Αλγόριθμοι Σχεδίασης Βασικών Σχημάτων

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

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

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

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

Η γνώση του αναγλύφου

ΣΧΕΔΙΑΣΗ ΜΗΧΑΝΟΛΟΓΙΚΩΝ ΚΑΤΑΣΚΕΥΩΝ ΜΕ Η/Υ (Computer Aided Design)

Μετασχηματισμοί Μοντελοποίησης (modeling transformations)

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

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

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

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

ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ

Το παράθυρο αυτό ενεργοποιείται με το κουμπί που βρίσκεται στην Βασική γραμμή εργαλείων (Toolbar) με την παρακάτω μορφή εικονιδίου

Τεχνικές σκίασης/απεικόνισης βασισμένες στις φυσικές αρχές σχηματισμού εικόνας

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

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

Ενότητα 2: Οι Θεµελιώδεις Αρχές των Ψηφιακών Εικόνων

2.0 ΒΑΣΙΚΕΣ ΓΝΩΣΕΙΣ-ΟΡΟΛΟΓΙΕΣ

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

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

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Περιεχόμενα. Τοπογραφικό... 9 Σκάλα Φωτορεαλισμός Αντικείμενα Ανοίγματα Γραμμές Επεξεργασία Περιβάλλον...

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

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

Ενδεικτική πολυ-εργασία 1 - εφαρμογή στην υπολογιστική όραση

ΑΠΕΙΚΟΝΙΣΗ ΤΗΣ ΜΟΡΦΗΣ ΤΗΣ ΓΗΪΝΗΣ ΕΠΙΦΑΝΕΙΑΣ. 22/5/2006 Λύσανδρος Τσούλος Χαρτογραφία Ι 1

b proj a b είναι κάθετο στο

ΑΞΟΝΟΜΕΤΡΙΑ. Εισαγωγή

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

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

3D effects στο Stellarium (Ανάγλυφες επιφάνειες, σύννεφα)

Ψηφιακή Επεξεργασία Εικόνας Γεωμετρικές Διορθώσεις

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

ΕΡΓΑΣΤΗΡΙΟ ΠΟΛΥΜΕΣΩΝ & ΓΡΑΦΙΚΩΝ. Τρισδιάστατοι γεωμετρικοί μετασχηματισμοί

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Γραφικά Υπολογιστών. Βιβλιογραφία

Πανεπιστήμιο Θεσσαλίας. Πολυτεχνική Σχολή ΘΕΜΑΤΙΚΗ : ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ

Εισαγωγή στο 3DS Max 2009

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

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

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

Απόδοση θεματικών δεδομένων

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

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

Σύντομη παρουσίαση των Γραφικών με Η/Υ

cos ϑ sin ϑ sin ϑ cos ϑ

Τηλεπισκόπηση - Φωτοερμηνεία

ΚΕΦΑΛΑΙΟ ΠΡΩΤΟ Εισαγωγή 1.1 Οι Υπολογιστές στην Βιομηχανία Δομή του Βιβλίου 15 Ερωτήσεις 15

Οπτική Επικοινωνία 4 - Α.Ε Προτεινόμενες ρυθμίσεις V-Ray 3.4 για Rhino. Υλικά

Οπτική Μοντελοποίηση Ανθρώπινου Προσώπου με Εφαρμογές σε Αναγνώριση

Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Ορισµός του Προβλήµατος Ευθυγράµµιση : Εύρεση ενός γεωµετρικού µετασχηµατισµού που ϕέρνει κοντά δύο τρισδιάσ

Απεικόνιση Υφής και Αναγλύφου

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

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

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

Ψηφιακή Επεξεργασία Εικόνας. Σ. Φωτόπουλος ΨΕΕ

Παρουσίαση Νο. 5 Βελτίωση εικόνας

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ,

Εισαγωγή. Γραφικά. Μοντέλο (Πληροφορίες για Περιεχόµενο εικόνας. Επεξεργασία Εικόνων. Εικόνα. Τεχνητή Όραση 1.1. Εργα: : & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ

Μάθημα 10 ο. Περιγραφή Σχήματος ΤΜΗΥΠ / ΕΕΣΤ 1

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

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

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

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

Θεωρία μετασχηματισμών

Θέση και Προσανατολισμός

14 η εβδομάδα (26/01/2017) Έγιναν οι ασκήσεις 28, 29 και 30. Έγινε επανάληψη στη Θεωρία Καμπυλών και στη Θεωρία Επιφανειών.

ΚΑΤΑΓΡΑΦΗ ΤΟΥ ΙΧΝΟΥΣ ΤΗΣ ΟΠΤΙΚΗΣ ΑΝΑΖΗΤΗΣΗΣ: ΜΙΑ ΜΕΘΟΔΟΣ ΔΙΕΡΕΥΝΗΣΗΣ ΤΗΣ ΕΠΙΛΕΚΤΙΚΟΤΗΤΑΣ ΤΗΣ ΟΠΗΣ ΩΣ ΒΑΣΙΚΟΥ ΧΑΡΑΚΤΗΡΙΣΤΙΚΟΥ ΤΟΥ ΣΧΗΜΑΤΟΣ

Ταξινόμηση καμπυλών και επιφανειών με τη βοήθεια των τετραγωνικών μορφών.

Μετασχηµατισµοί συντεταγµένων

Υλικά, Γραμμές και Τεχνικές στο Ελεύθερο Σχέδιο

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

ΣΥΜΒΟΛΙΣΜΟΣ ΧΑΡΤΟΓΡΑΦΙΚΩΝ ΟΝΤΟΤΗΤΩΝ

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Του ΦΩΤΗ Σ. ΞΕΝΙΚΟΥΔΑΚΗ

Κεφάλαιο 4: Στοιχεία της εκδοχής hp της ΜΠΣ στις 2- διαστάσεις

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Εργασία στα Γραφικά Υπολογιστών Ακαδημαϊκό Έτος

Μεθοδολογίες παρεµβολής σε DTM.

κτιρίων σε συστήματα πλοήγησης. Google Earth, το παράδειγμα της Google.

Νικόλαος Μανωλόπουλος : ΠΑΡΑΜΕΤΡΙΚΕΣ

Βαθμονόμηση κάμερας Camera Calibration. Κ Δελήμπασης 1

ΚΑΙ ΓΡΑΦΙΚΩΝ. Μοντέλα και Αλγόριθμοι Φωτισμού

ΑΣΚΗΣΗ 3 ΒΕΛΤΙΩΣΗ ΕΙΚΟΝΑΣ ΜΕΛΕΤΗ ΙΣΤΟΓΡΑΜΜΑΤΟΣ. ( ) 1, αν Ι(i,j)=k hk ( ), διαφορετικά

ΑΝΑΛΥΣΗ ΙΙ- ΜΗΧΑΝΟΛΟΓΟΙ ΜΗΧΑΝΙΚΟΙ ΦΥΛΛΑΔΙΟ 1/2012

Prost S: Οδοποιΐα Σιδηροδρομική Υδραυλικά έργα

Μαθηματικό υπόβαθρο. Κεφάλαιο 3. Μαθησιακοί στόχοι. 3.1 Εισαγωγή. 3.2 Σημεία και διανύσματα

Transcript:

Μέθοδοι Απεικόνισης Η χρήση γεωμετρικών προτύπων (τρίγωνα, πολύγωνα, σφαίρες κλπ) για την μοντελοποίηση αντικειμένων έχει περιορισμούς Μοντέλο ενός πορτοκαλιού Προσέγγιση με σφαίρα Απλή αλλά πολύ «κανονική» για να είναι αληθοφανής Μοντελοποίηση με κάποια άλλη καμπύλη επιφάνεια Πιο ρεαλιστική αλλά λείπουν οι λεπτομέρειες της επιφάνειας

Μέθοδοι Απεικόνισης Procedural modeling Περισσότερη λεπτομέρεια και τυχαιότητα, αυξημένη πολυπλοκότητα (μεγάλος αριθμός πολυγώνων) Εναλλακτική προσέγγιση: απλό γεωμετρικό μοντέλο, προσθήκη λεπτομέρειας κατά την απεικόνιση (rendering) / ψηφιοποίηση Προβολή των επιφανειών στον frame buffer, απόδοση τιμών στα pixels. Αποσύνθεση της επιφάνειας σε fragments, προβολή σε ένα pixel.

Μέθοδοι Απεικόνισης Απόδοση χρώματος στο pixel με βάση το υλικό, φωτισμό θέση παρατηρητή και το μοντέλο σκίασης που έχει χρησιμοποιηθεί. Οι αλγόριθμοι απεικόνισης (mapping algorithms) επεμβαίνουν στην διαδικασία του rendering αλλάζοντας το χρώμα με τροποποίηση των παραμέτρων της επιφάνειας (ιδιότητες υλικού, κάθετα διανύσματα) βάσει ενός δισδιάστατου πίνακα - χάρτη (map)

Μέθοδοι Απεικόνισης Απεικόνιση υφής (texture mapping) Bump mapping (απεικόνιση εξογκωμάτων) Απεικόνιση περιβάλλοντος (environmental mapping)

Απεικόνιση υφής Χρήση μιας εικόνας (χάρτη υφής) για τον καθορισμό των φωτεινοτήτων των fragments (pixels) Ψηφιοποιημένη εικόνα, απλό γεωμετρικό σχήμα, συνθετική-συναρτησιακή (procedural) υφή. Προβολή του χάρτη υφής στην επιφάνεια

Απεικόνιση Εξογκωμάτων -Περιβάλλοντος Bump mapping: Τροποποίηση των καθέτων διανυσμάτων για την δημιουργία ψευδαίσθησης μικροανωμαλιών στην επιφάνεια Reflection-environmental mapping: προβολή της εικόνας του περιβάλλοντος στην επιφάνεια για την δημιουργία ψευδαίσθησης αντανακλάσεων όπως στο ray tracing.

Κοινά χαρακτηριστικά Επιδρούν στην διαδικασία ψηφιοποίησης / rendering Αύξηση του ρεαλισμού χωρίς μεγάλη αύξηση της πολυπλοκότητας Χρήση 1-D, 2-D 3-D χαρτών (εικόνων) Προβλήματα aliasing

Απεικόνιση υφής 1-D υφή για την δημιουργία ενός «σχεδίου» πάνω σε μια καμπύλη 3-D υφή για παράσταση ενός συμπαγούς όγκου υλικού από το οποίο μπορούμε να «σκαλίσουμε» ένα αντικείμενο 2-D υφήγιαχρήσημεεπιφάνειες Η πιο ευρέως χρησιμοποιούμενη 4-D υφή 3-D + κίνηση

Απεικόνιση δισδιάστατης υφής Απαιτούνται απεικονίσεις μεταξύ συστημάτων συντεταγμένων Συντεταγμένες οθόνης Συντεταγμένες κόσμου Παραμετρικές συντεταγμένες αντικειμένων Συντεταγμένες υφής

Απεικόνιση δισδιάστατης υφής Η δισδιάστατη υφή είναι δισδιάστατη ψηφιακή εικόνα που βρίσκεται στη μνήμη σαν πίνακας Το πρόγραμμα εφαρμογής υπεύθυνο για το «φόρτωμα» ή τη δημιουργία της εικόνας Texels: texture elements Θεώρηση ως συνεχούς εικόνας T(s,t) s,t συντεταγμένες υφής

Απεικόνιση δισδιάστατης υφής Απεικόνιση ενός σημείου του χάρτη υφής σε κάθε σημείο της επιφάνειας x=x(s,t), y=y(s,t), Προβολή του σημείου της επιφάνειας στον frame buffer (συντεταγμένες οθόνης). Αντίστροφη απεικόνιση s=s(x,y,z,w), t=t(x,y,z,w) Παραμετρικές επιφάνειες x=f(u,v), y=g(u,v), z=,0<u,v<1 x=rcos(2πu), y=rsin(2πu), z=v*h Εύρεση απεικόνισης από s,t σε u,v & αντίστροφα

Απεικόνιση δισδιάστατης υφής Προβολή από συντεταγμένες κόσμου σε συντεταγμένες οθόνης, εύρεση που θα προβληθεί ένα texel και αντίστροφα X s =X s (s,t), y s =y s (s,t)

Απεικόνιση δισδιάστατης υφής Φαινομενικά απλή διαδικασία Υπάρχουν πολλά προβλήματα που πρέπει να λύσουμε. Επιλογή της συνάρτησης απεικόνισης από s,t σε x,y,z Πώς προβάλλω ένα τετράγωνο (χάρτη υφής) σε μια καμπύλη επιφάνεια (σφαίρα)? Αναπόφευκτες παραμορφώσεις Η ψηφιοποίηση γίνεται με βάση τα pixels, ενδιαφέρει η απεικόνιση από x s, y s σε s,t. Τα pixels, texels έχουν επιφάνεια, aliasing, moire patterns

Απεικόνιση δισδιάστατης υφής Αν βρούμε την αντίστροφη απεικόνιση από x s, y s σε s,t (preimage) πώς αποδίδουμε τιμή στο pixel?

Απεικόνιση δισδιάστατης υφής Απλή προσέγγιση: απόδοση στο pixel της τιμής της φωτεινότητας του κοντινότερου texel στην οπίσθια προβολή του κέντρου του pixel. Aliasing λόγω της διακριτής φύσης, frame / texture buffer, ιδιαίτερα σε υφή με περιοδικά χαρακτηριστικά

Απεικόνιση δισδιάστατης υφής Καλύτερη προσέγγιση: απόδοση του μέσου όρου των texels που καλύπτονται από το preimage του pixel. Δεν αποφεύγω όλα τα προβλήματα

Απεικόνιση δισδιάστατης υφής Επιλογή της συνάρτησης απεικόνισης από συντεταγμένες υφής σε παραμετρικές συντεταγμένες της επιφάνειας. Γραμμική απεικόνιση u=as+bt+c, v=ds+et+f

Απεικόνιση δισδιάστατης υφής Δενλαμβάνεταιυπόψινηκαμπυλότηταμιας επιφάνειας. Μια ορθογωνική περιοχή σε παραμετρικές συντεταγμένες u,v αντιστοιχεί σε μια καμπύλη περιοχή σε συντεταγμένες κόσμου x,y,z Απεικόνιση σε δύο στάδια Προβολή της υφής σε απλή ενδιάμεση επιφάνεια (σφαίρα, κύλινδρος, κύβος). Προβολή της ενδιάμεσης επιφάνειας στην επιφάνεια που μας ενδιαφέρει.

Απεικόνιση δισδιάστατης υφής Προβολή σε ενδιάμεσο κύλινδρο 0<s,t<1, 0<u,v<1 x=rcos(2πu), y=rsin(2πu), z=v*h Απεικόνιση: u=s, t=v Απεικόνιση χωρίς παραμόρφωση

Απεικόνιση δισδιάστατης υφής Η παραμόρφωση αναπόφευκτη αν προβάλλω σε επιφάνεια όπως η σφαίρα, το ανάλογο της χαρτογραφίας. Πρέπει να επιλέξω που θα συγκεντρωθεί η παραμόρφωση, π.χ στους πόλους 0<s,t<1, 0<u<1, 0<v<1 x=rcos(2πu), y=rsin(2πu)cos(π(v-1/2)), z=rsin(2πu)sin(πv) Απεικόνιση: s=u, t=v

Απεικόνιση δισδιάστατης υφής Προβολή σε κύβο

Απεικόνιση δισδιάστατης υφής Απεικόνιση-προβολή από την ενδιάμεση επιφάνεια στην επιφάνεια που μας ενδιαφέρει Τρεις διαφορετικές προσεγγίσεις

Απεικόνιση υφής στην OpenGL Ύπαρξη δυο παράλληλων αλυσίδων (pipelines) επεξεργασίας: γεωμετρικής & pixels Συγχώνευση κατά την ψηφιοποίηση

Απεικόνιση υφής στην OpenGL Η δισδιάστατη υφή πίνακας που ορίζεται από τον χρήστη Glubyte my_texels[512][512][3] Δήλωση ότι ο πίνακας θα χρησιμοποιηθεί ως υφή: glteximage2d(gl_texture_2d, 0, GL_RGB, 512,512,0, GL_RGB, GL_UNSIGNED_BYTE, my_texels)

Απεικόνιση υφής στην OpenGL glteximage2d(gl_texture_2d,level, components, width, height, border, format, type, tarray) tarray πίνακας (εικόνα) υφής, width x height (δυνάμεις του 2) Components: ποιες συνιστώσες (GL_LUMINANCE, GL_RGB, GL_RGBA, GL_R3_G3_B2) και με τι ανάλυση θα χρησιμοποιηθούν Format, type: format (GL_RGB, GL_RGBA, GL_LUMINANCE ) και τύπος δεδομένων (GL_UNSIGNED_BYTE, GL_FLOAT) στην εικόνα υφής tarray.

Απεικόνιση υφής στην OpenGL glenable(gl_texture_2d) Χρήση δύο συντεταγμένων υφής 0<=s,t<=1 Ο χρήστης πρέπει να μεριμνήσει για την απεικόνιση των συντεταγμένων υφής στις κορυφές (vertices) των πολυγώνων s,t μεταβλητές κατάστασης gltexcoord2f(s,t) Χρήση ανάλογη με την glnormal2f()

Απεικόνιση υφής στην OpenGL glbegin(gl_quad) gltexcoord2f(0,0) glvertex2f(x1,y1,z1) gltexcoord2f(1,0) glvertex2f(x2,y2,z2).

Απεικόνιση υφής στην OpenGL H OpenGl κάνει διγραμμική παρεμβολή στα s,t για να αποδώσει υφή στα εσωτερικά σημεία του πολυγώνου

Απεικόνιση υφής στην OpenGL (0,0), (1,0), (0.5,1) (0,0), (1,0), (0,1)

Απεικόνιση υφής στην OpenGL Χειρισμός τιμών s,t εκτός του διαστήματος (0,1) gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_REPEAT) Επανάληψη GL_REPEAT (αγνοείται το ακέραιο μέρος), αποκοπή GL_CLAMP glbegin(gl_quad) gltexcoord2f(0,0) glvertex2f(x1,y1,z1) gltexcoord2f(3,0)

Απεικόνιση υφής στην OpenGL Έχοντας υπολογίσει με διγραμμική παρεμβολή τις τιμές s,t που αντιστοιχούν στο κέντρο ενός pixel πώς υπολογίζω από ποιο(α) texel(s) θα πάρω υφή; Σημειακή δειγματοληψία (point sampling) Λαμβάνεται η τιμή του texel πουτοκέντροτου είναι πλησιέστερα στο s,t Προβλήματα aliasing

Απεικόνιση υφής στην OpenGL Γραμμικό φιλτράρισμα (linear filtering) Σταθμισμένος μέσος όρος των 2x2 γειτονικών texels Γιατηλειτουργίασταόριατουtexture map προσθέτω ένα πλαίσιο συγκεκριμένου πλάτους σε pixels. Στην glteximage2d θέτω border=1. Διαστάσεις εικόνας υφής με border (2 n +2x1)x(2 m +2x1)

Απεικόνιση υφής στην OpenGL Το μέγεθος του texel διαφορετικό από το μέγεθος του pixel Το μέγεθος του texel μεγαλύτερο από αυτό του pixel: magnification Το μέγεθος του texel μικρότερο από αυτό του pixel: minification Χρήση του κοντινότερου texel ήγραμμικό φιλτράρισμα gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_NEAREST) GL MIN FILTER, GL LINEAR

minification magnification

Mipmapping Χρήση εικόνων υφής διαφορετικής ανάλυσης, από τις οποίες επιλέγεται η καταλληλότερη ανάλογα με τη διάσταση της επιφάνειας όπου θα προβληθεί. Π.χ 64x64, 32x32, 16x16, Επιφάνεια κοντά, χρήση υφής μεγάλης ανάλυσης Επιφάνεια μακριά, χρήσηυφήςμικρήςανάλυσης Η επιλογή της καταλληλότερης ανάλυσης γίνεται αυτόματα από την OpenGL

Mipmapping O χρήστης μπορεί να δώσει τα διάφορα επίπεδα ανάλυσης κατασκευάζοντας τα μόνος του και καλώντας την glteximage2d κάθε φορά με διαφορετικό level, διαστάσεις, tarray Επίπεδο 0: μεγαλύτερη ανάλυση Αυτόματη δημιουργία mipmaps glubuild2dmipmaps(gl_texture_2d, 3, 64,64, GL_RGB, GL_UNSIGNED_BYTE, my_texels)

Mipmapping Τα mipmaps χρησιμοποιούνται μόνο στο minification gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST) GL_NEAREST_MIPMAP_LINEAR, GL_LINEAR_MIPMAP_NEAREST, GL_LINEAR_MIPMAP_LINEAR

Επίδραση υφής στο χρώμα του Pixel Διαμόρφωση (πολλαπλασιασμός) του χρώματος του pixel που προήρθε από τη σκίαση με το χρώμα του texel: GL_MODULATE Αντικατάσταση του χρώματος του pixel με το χρώμα του texel: GL_REPLACE gltexenvi(gl_tex_env, GL_TEX_ENV_MODE, GL_REPLACE)

Υφή και προβολές Η OpenGL κάνει γραμμική παρεμβολή στις συντεταγμένες οθόνης για να καθορίσει τις τιμές υφής των pixels. Δουλεύει καλά για ορθογραφική (παράλληλη) προβολή αλλά όχι για προοπτική προβολή Δυνατότητα για καλύτερη μέθοδο παρεμβολής glhint(gl_perspective_corection, GL_NICEST)

Αντικείμενα υφής Κάθε φορά υπάρχει ένας ενεργός χάρτης υφής, αποθηκευμένος στη μνήμη υφής. Για χρήση διαφορετικών υφών σε κάθε επιφάνεια απαιτείται κλήση κάθε φορά της glteximage2d με άλλη υφή Φόρτωση του νέου χάρτη υφής στη μνήμη υφής

Αντικείμενα υφής Η OpenGL παρέχει τη δυνατότητα για αντικείμενα υφής (χάρτες υφής και παράμετροι εφαρμογής τους στις επιφάνειες), texture objects Αν υπάρχει επαρκή μνήμη υφής τα αντικείμενα υφής παραμένουν φορτωμένα στην μνήμη αυτή. Καθορισμός προτεραιοτήτων μετακίνησης από τη μνήμη υφής

Αντικείμενα υφής glbindtexture(gl_texture_2d, 1) //createbind texture object gltexparameteri() //specify object properties gltexenv() glteximage2d() glbindtexture(gl_texture_2d, 1) //make this texture object active

Multitexturing Δυνατότητα εφαρμογής πολλαπλών χαρτών υφής στο ίδιο αντικείμενο. Εφαρμογή σκιάς ως χάρτη υφής σε αντικείμενο που έχει ήδη υφή

Προηγμένες λειτουργίες υφής Χρήση του texture matrix για μετασχηματισμούς στις συντεταγμένες υφής πριν η υφή απεικονιστεί στην επιφάνεια Επιδρά και διαμορφώνεται όπως ο model-view matrix glmatrixmode(gl_texture) Κλιμάκωση, περιστροφή υφής Υφή που μετατοπίζεται ή περιστρέφεται πάνω στην επιφάνεια

Προηγμένες λειτουργίες υφής Η OpenGL μπορεί να δημιουργήσει μόνη της απεικονίσεις από τις συντεταγμένες υφής σε γεωμετρικές συντεταγμένες αντικειμένου gltexgen Γραμμικές απεικονίσεις από συντεταγμένες υφής σε γεωμετρικές συντεταγμένες Δημιουργία γεωγραφικού ανάγλυφου Σφαιρική απεικόνιση

Δημιουργία υφής Δημιουργία συνθετικής (συναρτησιακής) υφής Χρήση συνάρτησης που δημιουργεί το χάρτη υφής Εφαρμογή για τη δημιουργία υφής υλικών που έχουν δομή αλλά και τυχαιότητα Άμμος, ξύλο, μάρμαρο, ορυκτά, ύφασμα

Δημιουργία υφής Συνήθως δημιουργείται τρισδιάστατη υφή T(s,t,r) που ορίζεται στον τρισδιάστατο χώρο Δυνατότητα απευθείας αντιστοίχισης συντεταγμένων υφής s,t,r και απόδοσης τιμής σε κάθε σημείο x,y,z του χώρου Το αντικείμενο φαίνεται σαν να έχει σκαλιστεί μέσα σε ένα κομμάτι συμπαγούς υλικού Πολύ χρήσιμο για δημιουργία αντικειμένων από υλικά που εμφανίζουν «νερά» στη δομή τους Η απεικόνιση δισδιάστατης υφής στην επιφάνεια ενός τέτοιου αντικειμένου θα αλλοίωνε τη δομή λόγω τωναναπόφευκτων παραμορφώσεων

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

Δημιουργία θορύβου Δημιουργία ακέραιου πλέγματος Κάθε κόμβος Ω i,j,k βρίσκεται στη θέση i,j,k και έχει τυχαία τιμή γ i,j,k στο διάστημα [0, 1] Για την εύρεση της τιμής θορύβου σε κάποια θέση x,y,z (μη ακέραιες συντεταγμένες) γίνεται συνήθως cubic spline παρεμβολή στις τιμές των 8 πλησιέστερων γειτόνων.

Δημιουργία θορύβου int( x) + 1 int( y) + 1 int( z) + 1 f ( x, y, z) = Ω ( x i, y j, z k) n i= int( x) j= int( y) k= int( z) i, j, k Ω ( uvw,, ) =ω( u) ω( v) ω( w) γ i, j, k i, j, k 3 2 ωτ ( ) = 2 t 3t + 1 Τα γ i,j,k υπολογίζονται από ένα σύνολο προϋπολογισμένων τυχαίων τιμών με ένα hashing function πάνω στις συντεταγμένες του κόμβου ώστε να αποφευχθεί η στατιστική συσχέτιση

Δημιουργία θορύβου Η f n παίρνει σαν είσοδο ένα σημείο και επιστρέφει μια βαθμωτή τιμή για το σημείο αυτό. Αν τα γ i,j,k είναι τυχαία διανύσματα τότε με τον ίδιο τύπο μπορώ να κάνω γεννήτρια θορύβου f n που να αποδίδει τυχαίες διανυσματικές τιμές σε κάθε σημείο.

Δημιουργία θορύβου Απεικόνιση θορύβου σε σημείο με τη συνάρτηση f n (kp)=f n (kx,ky,kz) (αλλαγή της δειγματοληψίας δίνει θόρυβό με διαφορετικά συχνοτικά χαρακτηριστικά).

F(x) F(2x)

Δημιουργία θορύβου Η f n δίνει ασπρόμαυρή υφή [0,1] Για απόδοση έγχρωμων τιμών υφής κατασκευάζουμε συνάρτηση που απεικονίζει το διάστημα αυτό σε κάποιο χάρτη χρωμάτων (χρωματική κλίμακα)

Δημιουργία θορύβου Συνάρτηση στροβιλισμού (turbulence) για δημιουργία πιο σύνθετων μορφών θορύβου (1/f) και μεγαλύτερο έλεγχο f turb f steps i i ( p) = (1/2 ) f (2 p) turb i= 1 steps i i ( p) = ω f ( λ p) i= 1 n n

Adding all these functions together produces a noisy pattern.

Δημιουργία θορύβου Διανυσματική συνάρτηση στροβιλισμού steps i i fp ( ) = fturb( p) ω fn( λ p) i= 1

Χαρακτηριστικές υφές: μάρμαρο Το μάρμαρο εμφανίζεται να αποτελείται από στρώματα υλικού ως προς ένα άξονα, π.χ. τον x f ( p) = f( x, y, z) = sin(2 π x) Προσθέτουμε τυχαιότητα με τη συνάρτηση στροβιλισμού f( p) = sin(2π x+ 2 π af turb ( p)) Ο χρωματισμός εξαρτάται και από τα y,z

Χαρακτηριστικές υφές: ξύλο Το ξύλο παρουσιάζει ομόκεντρους δακτυλίους Προσθήκη τυχαιότητας με τη συνάρτηση στροβιλισμού f( p) = dist dist 2 2 dist = y + z + a f ( ) turb p

Χαρακτηριστικές υφές: ράμπα, καρώ f ( p) = y/ a y/ a f( p) = ( x + y + z )mod2

Bump mapping Προσομοίωση επιφάνειας πορτοκαλιού με απεικόνιση κατάλληλης υφής Αν κινηθούν φώτα ή αντικείμενο γίνεται αντιληπτό ότι δεν έχω πραγματικό πορτοκάλι, θα έπρεπε να αλλάζουν οι σκιές Χαρακτηρίζεται από μικρομεταβολές στην επιφάνεια, όχι στο χρώμα Bump mapping: απόδοση μικροεξογκωμάτων με μεταβολή των καθέτων διανυσμάτων, όχι της επιφάνειας

Bump mapping Το ανάγλυφο μιας επιφάνειας γίνεται ορατό από τον τρόπο που σκιάζονται οι πτυχώσεις, όχι λόγω της υψομετρικής εναλλαγής Η σκίαση καθορίζεται από τα κάθετα διανύσματα Κρατάω την επιφάνεια λεία και ορίζω κάθετα διανύσματα ίδια με αυτά μιας τραχειάς επιφάνειας που προήρθε από διαταραχή της λείας κατά την διεύθυνση των καθέτων διανυσμάτων.

Bump mapping σε παραμετρικές επιφάνειες p(u,v) σημείο της παραμετρικής επιφάνειας u v u v u x u y u z u = = p p n p p p

Bump mapping σε παραμετρικές επιφάνειες Μετατοπίζουμε την επιφάνεια προς την κατεύθυνση του κάθετου διανύσματος σε κάθε σημείο κατά μια γνωστή συνάρτηση d(u,v), d(u,v) <<1 p =p+d(u,v)n Αντί να μετατοπίσω το p το κρατώ σταθερό και απλά του αποδίδω το κάθετο διάνυσμα n του μετατοπισμένου σημείου p

Bump mapping σε παραμετρικές επιφάνειες Κάθετο διάνυσμα στο μετατοπισμένο σημείο p : n =p u xp v d p' u = pu + n+ duv (, ) nu u d p' v = pv + n+ duv (, ) nv v Το d μικρό άρα οι τελευταίοι όροι φεύγουν n n d d u n p v n p ' = + v u

Bump mapping σε παραμετρικές επιφάνειες Απαιτείται η ύπαρξη, πέραν του d(u,v) και αποθηκευμένων τιμών για τις μερικές παραγώγους του ως προς τα u,v Αν το d(u,v) είναι σε διακριτή μορφή d i,j (ψηφιακή εικόνα) προσεγγίζω τις μερικές παραγώγους με διαφορές d d u d d d v d i, j i 1, j i, j i, j 1

Απεικόνιση περιβάλλοντος (environment mapping) Χρήση κατάλληλου χάρτη υφής για να αποδοθούν τέλεια αντανακλαστικές επιφάνειες (καθρέφτες) που να απεικονίζουν την αντανάκλαση του περιβάλλοντος Πως θα δημιουργήσω το κατάλληλο texture map και πως θα το προβάλω πάνω στο αντικείμενο? Advanced Graphics Programming Techniques Using OpenGL, David Blythe, Silicon Graphics, SIGGRAPH 99 http://www.opengl.org/resources/tutorials/sig99/advanced9 9/notes/node174.html

Απεικόνιση περιβάλλοντος (environment mapping) Τι βλέπει ο παρατηρητής σε κάθε σημείο του καθρέφτη? r = 2( v n) n v

Απεικόνιση περιβάλλοντος (environment mapping) Συμπύκνωση του τι φαίνεται προς τις διάφορες κατευθύνσεις Φωτογραφία σφαίρας-καθρέφτη στο κέντρο της σκηνής Κανονικά χρειάζεται μια σφαίρα σε κάθε σημείο του χώρου. Αν θέλω να βάλω τα γραφικά μαζί με «φυσικό» video ήεικόνα. Φωτογράφηση της σκηνής με ευρυγώνιο φακό από μακριά.

Απεικόνιση περιβάλλοντος (environment mapping) Αν διαθέτω την εικόνα η OpenGL παρέχει το spherical mapping Εναλλακτικά παίρνω προβολή σε κύβο 6 όψεις του περιβάλλοντος με κάμερα στο κέντρο του χώρου Υπολογίζω ποιο μέρος του κύβου θα χρησιμοποιήσω κάθε φορά. Από τον κύβο μπορώ να κάνω spherical map