Jaco Φεβρουάριος 25, 2010 #21 Κοινοποίηση Φεβρουάριος 25, 2010 Από άλλο thread, αλλά επειδή αναφέρεται ειδικά στο tess...To tesselation είναι πολύ μεγάλο κεφάλαιο, το οποίο όντως δεν έχει αναλυθεί διεξοδικά σε επίπεδο χρηστών, όπως εμείς... στην ουσία με το dx11 ανοίγουν δρόμοι στο real time 3d rendering, που δεν μπορούμε να φανταστούμε... ο λόγος είναι ότι, λόγο της απλότητας της εφαρμογής του και του δυσανάλογα καλύτερου οπτικού αποτελέσματος, η βιομηχανία "μάλλον" θα το χρησιμοποιήσει... το "μάλλον" το κρατάω για μετά... στην ουσία με πολύ απλό τρόπο ένας designer μπορεί να σχεδιάσει ένα displacement map και το hardware αυτόματα με την χρήση του tesselator, να φτιάξει πολύγωνα... δηλαδή δεν θα χρειάζεται πια οι προγραμματιστές να γράφουν κώδικα για τα πολύγωνα, αλλά αυτά θα δημιουργούνται αυτόματα από το hardware βάση μιας εικόνας (δηλαδή του displacement map)... δεν ξέρω αν μπορώ να γίνω πιο κατανοητός... απλά τα άπειρα μαθηματικά μετατρέπονται εύκολα σε "ζωγραφική"...Το "μάλλον" τώρα... παρόλο την ευκολία που παρέχει, υπάρχει ένα μεγάλο ζήτημα το οποίο θα επηρεάσει την χρήση του, ειδικά σε online games... ο λόγος είναι απλά ότι με το tesselation δημιουργείται πληροφορία η οποία απλά δεν θα υπάρχει για μια gpu η οποία έχει τον tesselator απενεργοποιημένο ή δεν έχει καθόλου... αποτέλεσμα...? εκεί που παίζεις σε μια πίστα και σκύβεις πίσω από ένα βράχο για να καλυφθείς, παρόλο που νομίζεις ότι είσαι καλυμμένος, επειδή έχεις tesselator, για κάποιον που δεν έχει, φαίνεται το κεφάλι σου... δηλαδή headshot στο πιάτο... υπάρχουν βέβαια μέθοδοι που μπορεί να μετριαστεί το φαινόμενο αυτό, αλλά δεν έχω ιδέα τι σκέφτεται η βιομηχανία γι' αυτό... σε ένα single player δεν θα υπάρχει αυτό το πρόβλημα βέβαια...Τέλος εκεί που θα γίνεται (λογικά) η επόμενη κόντρα ανάμεσα σε ati+nvidia, μάλλον θα είναι το tesselation factor... δηλαδή πόσες φορές θα διαιρείται δια του δυο μια γραμμή ανάμεσα από δυο σημεία... όσο περισσότερο αυξάνει το tesselation factor, τόσο θα ζορίζεται η κάρτα και θα θέλει πιο δυνατό hardware... Link to comment Share on other sites More sharing options...
Arxagelos Φεβρουάριος 25, 2010 #22 Κοινοποίηση Φεβρουάριος 25, 2010 Tessellation αν δεν κάνω λάθος έχουν όλες οι ΑΤΙ από την σειρά HD2000 και μετά. Τώρα το ποιος το έβγαλε πρώτος λίγη σημασία έχει από την στιγμή που μέχρι σήμερα δεν έχει αξιοποιηθεί ως δυνατότητα.Now some of you might have noticed it already from previous reviews. Tessellation isn't something new, ATI already had a hardware tessellation unit in their GPUs for years. But the older units could not be addressed whatsoever in DirectX as the API did not support it. Link to comment Share on other sites More sharing options...
Volrath Φεβρουάριος 25, 2010 Author #23 Κοινοποίηση Φεβρουάριος 25, 2010 Jaco αυτό που λες με το headshot δεν ισχύει. Το collision detection ορίζεται από μία πολύ πιο απλή έκδοση του mesh του αντικειμένου (της πέτρας στην συγκεκριμένη περίπτωση). Δεν αλλάζει με το tess. Αυτό που μπορεί να ισχύει, είναι ότι άμα οι designers/coders κάνουν κακή δουλειά, στην περίπτωση σου, θα φαίνεσαι, ενώ από την δική σου οπτική γωνία θα έπρεπε να είσαι κρυμμένος. Αλλά κάτι τέτοιο δε πιστεύω να χρησιμοποιηθεί, αφού γενικά σκέψου ότι ακόμα και σε κάρτες που θα υποστηρίζουν tess, η πέτρα αυτή δεν θα είναι πάντα tessellated. Οπότε θα αλλάζει δραματικά το πως φαίνεται ακόμα και στην ίδια κάρτα (εύχομαι να είναι κατανοητό αυτό που λέω ) Link to comment Share on other sites More sharing options...
Jaco Φεβρουάριος 25, 2010 #24 Κοινοποίηση Φεβρουάριος 25, 2010 Μπορεί να ισχύσει γιατί το cd παίρνει σαν παράμετρο τα σημεία που ορίζονται από το object και όχι το displacement map που χρησιμοποιεί το tess... οπότε αν το ευθύγραμμο τμήμα ανάμεσα από δυο σημεία του αντικειμένου τέμνουν (ή είναι χαμηλότερα από) το αποτέλεσμα που δημιουργεί ο tesselator, η μηχανή θα πάρει ως παραμέτρους τα σημεία του αντικειμένου και κάποιο από τα πολλαπλά σημεία που δημιουργεί ο tesselator ανάμεσα από τα 2 σημεία του αντικειμένου... Link to comment Share on other sites More sharing options...
yanni Φεβρουάριος 25, 2010 #25 Κοινοποίηση Φεβρουάριος 25, 2010 Λεπτομέρειες είναι αυτά. Αν κάποιο game ακουστεί ότι έχει τέτοιο πρόβλημα απλά ο παίκτης θα το απενεργοποιεί ώστε ο αντίπαλος του να μην έχει το πλεονέκτημα. Αν η εταιρία που το έχει βγάλει είναι σοβαρή θα το διορθώσει με κάποιο patch. Link to comment Share on other sites More sharing options...
Volrath Φεβρουάριος 25, 2010 Author #26 Κοινοποίηση Φεβρουάριος 25, 2010 Μπορεί να ισχύσει γιατί το cd παίρνει σαν παράμετρο τα σημεία που ορίζονται από το object και όχι το displacement map που χρησιμοποιεί το tess... οπότε αν το ευθύγραμμο τμήμα ανάμεσα από δυο σημεία του αντικειμένου τέμνουν (ή είναι χαμηλότερα από) το αποτέλεσμα που δημιουργεί ο tesselator, η μηχανή θα πάρει ως παραμέτρους τα σημεία του αντικειμένου και κάποιο από τα πολλαπλά σημεία που δημιουργεί ο tesselator ανάμεσα από τα 2 σημεία του αντικειμένου...To collision detection δεν έχει να κάνει με το tess. Είναι pre-defined από την μηχανή του παιχνιδιού, και δεν αλλάζει με τον renderer. Δες για παράδειγμα από το Unreal Development Kit http://i765.photobucket.com/albums/xx293/vaul13/temp/collision.jpgO κόνος είναι αυτό που βλέπεις ingame. Το πράσινο τετράγωνο αντιπροσωπεύει το collision box. Μπορείς να το κάνεις πιο πολύπλοκο άμα θες. Ο κόνος μπορεί να γίνει tessellated, το collision box παραμένει το ίδιο. Link to comment Share on other sites More sharing options...
Candyman Φεβρουάριος 25, 2010 #27 Κοινοποίηση Φεβρουάριος 25, 2010 To collision detection δεν έχει να κάνει με το tess. Είναι pre-defined από την μηχανή του παιχνιδιού, και δεν αλλάζει με τον renderer. Δες για παράδειγμα από το Unreal Development Kit http://i765.photobucket.com/albums/xx293/vaul13/temp/collision.jpgO κόνος είναι αυτό που βλέπεις ingame. Το πράσινο τετράγωνο αντιπροσωπεύει το collision box. Μπορείς να το κάνεις πιο πολύπλοκο άμα θες. Ο κόνος μπορεί να γίνει tessellated, το collision box παραμένει το ίδιο.Εμ... σωστά, αλλά αυτό είναι και θέμα engine. Υπάρχουν engines με dynamic collision (μέσω Dynamic Density αλγόριθμου). Αυτό που αναφέρεις είναι pre-defined (bounding volume collision).Υ.Γ. Σχεδιάζεις maps για games? Link to comment Share on other sites More sharing options...
Jaco Φεβρουάριος 25, 2010 #28 Κοινοποίηση Φεβρουάριος 25, 2010 Αυτό είναι ακραίο παράδειγμα... δε υπάρχει παιχνίδι πια που να έχει τέτοιο αλγόριθμο για το cd... συμφωνούμε στο ότι το cd δεν έχει να κάνει με το tess, αυτό λέω εξ' αρχής, απλά συμπληρώνω ότι το tess βάζει πληροφορία που η μηχανή του παιχνιδού δεν μπορεί να επεξεργαστεί γιατί δεν έχει δεδομένα (είναι μετέπειτα στάδιο)... οπότε αν το tess σου προσθέτει πληροφορία που δεν υπάρχει το cd δεν το ξέρει και ακολουθεί τον αλγόριθμο που ισχύει χωρίς το cd... Υπάρχει ένα demo benchmark που υποστηρίζει tess... αν δεις σε κάποια φάση τα σκαλιά του συντριβανιού, θα καταλάβεις τι εννοώ... με το tess βλέπεις 2-3 σκαλία και χωρίς βλέπεις μια ράμπα... οπότε ένα αντικείμενο πίσω από τα σκαλιά, όταν αυτά είναι ράμπα φαίνεται και όταν δεν είναι δεν φαίνεται... Edit: Αυτό εννοώ... κοίτα τα σκαλιά και σκέψου ένα αντικείμενο πίσω από αυτά... Link to comment Share on other sites More sharing options...
Volrath Φεβρουάριος 25, 2010 Author #29 Κοινοποίηση Φεβρουάριος 25, 2010 Αυτό είναι ακραίο παράδειγμα... δε υπάρχει παιχνίδι πια που να έχει τέτοιο αλγόριθμο για το cd... συμφωνούμε στο ότι το cd δεν έχει να κάνει με το tess, αυτό λέω εξ' αρχής, απλά συμπληρώνω ότι το tess βάζει πληροφορία που η μηχανή του παιχνιδού δεν μπορεί να επεξεργαστεί γιατί δεν έχει δεδομένα (είναι μετέπειτα στάδιο)... οπότε αν το tess σου προσθέτει πληροφορία που δεν υπάρχει το cd δεν το ξέρει και ακολουθεί τον αλγόριθμο που ισχύει χωρίς το cd...Υπάρχει ένα demo benchmark που υποστηρίζει tess... αν δεις σε κάποια φάση τα σκαλιά του συντριβανιού, θα καταλάβεις τι εννοώ... με το tess βλέπεις 2-3 σκαλία και χωρίς βλέπεις μια ράμπα... οπότε ένα αντικείμενο πίσω από τα σκαλιά, όταν αυτά είναι ράμπα φαίνεται και όταν δεν είναι δεν φαίνεται... Edit: To benchmark λέγεται uni-engine heaven... Αυτό είναι το σημείο που λέω, αλλά δεν φαίνονται τα σκαλιά στην άκρη από το ss... ακόμα δεν έχω εγκαταστήσει την flash στο linux και δεν μπορώ να δω youtube, αλλά αν βρω video με το σημείο που δείχνει ακριβώς αυτό που εννοώ, θα το ποστάρω... Βασικά δεν είναι καθόλου ακραίο παράδειγμα, μιας και αυτό που σου έδειξα είναι η Unreal Engine 3, (Mass effect 2 πχ). Απλά επέλεξα έναν απλό τύπο collision για να φαίνεται καλύτερα. Άμα δεις σε προηγούμενο post μου αναφέρθηκα για το tess on/off και το παράδειγμα σου με την πέτρα. Designers δε πρόκειται να σχεδιάσουν κάτι που tessellated είναι οκ, και non tessellated ειναι άθλιο. Ποιος θα σχεδίασε πχ τις σκάλες βασισμένος μόνο στο tessellation; Και αυτοί που δεν έχουν κάρτα γραφικών με αυτό το feature τι θα βλέπουν; Ένα κεκλιμένο επίπεδο;(και να πω το ειρωνικό της υπόθεσης, στο mass effect 1, όλες οι σκάλες ήταν κεκλιμένα επίπεδα τα οποία μέσω parallax occlusion γινόντουσαν σκάλες ) Το tess θα δίνει λεπτομέρεια στην ίδια υπάρχουσα γεωμετρία. Μπορεί ναι, να δημιουργήσει γεωμετρία από το 0, ένα plain π.χ. με height map, αλλά παρόμοια τεχνολογία υπάρχει ήδη, και δεν χρησιμοποιείται με αυτό τον τρόπο (displacement maps). Και για το heaven της unigine αναφέρθηκα στο 1ο ποστ μου, και κατά το πόσο "αξιόπιστες" είναι οι μέθοδοι σύγκρισης που χρησιμοποιούν. Εμ... σωστά, αλλά αυτό είναι και θέμα engine. Υπάρχουν engines με dynamic collision (μέσω Dynamic Density αλγόριθμου). Αυτό που αναφέρεις είναι pre-defined (bounding volume collision). Υ.Γ. Σχεδιάζεις maps για games? Δεν ήθελα να μπω στη διαδικασία να ορίσω τι είναι static mesh / dynamic object κτλ. Η (μεγάλη) πλειοψηφία των αντικειμένων που βλέπουμε έχουν bounding boxes για collision, είτε χρησιμοποιούν physx, είτε bullet είτε custom physics. Και στα υπόλοιπα είμαι σίγουρος ότι δε θα βασίζονται στο tessellation για να ορίσουν την βασική γεωμετρία. Link to comment Share on other sites More sharing options...
JaguarOne Φεβρουάριος 26, 2010 #30 Κοινοποίηση Φεβρουάριος 26, 2010 Nice thread, δεν το κάνετε sticky να μην χαθεί? Link to comment Share on other sites More sharing options...
z3et Φεβρουάριος 27, 2010 #31 Κοινοποίηση Φεβρουάριος 27, 2010 Δηλαδη... τοσο καιρο μπορουσαμε να εχουμε ανετα tessellation στα games, αλλα...?Nice...:nada:ΥΓ: Θυμαμαι πολυ εντονα τον ντορο που ειχε γινει για το tessellation και το DX10.1 γυρω απο το Assassin's Creed Link to comment Share on other sites More sharing options...
z3et Μάρτιος 31, 2010 #32 Κοινοποίηση Μάρτιος 31, 2010 http://developer.amd.com/gpu_assets/Real-Time_Tessellation_on_GPU.pdf Link to comment Share on other sites More sharing options...
Petrossortep Απρίλιος 3, 2010 #33 Κοινοποίηση Απρίλιος 3, 2010 Η μία "σκεπή" έχει 1000 πολύγωνα, ή άλλη έχει 900.000. Και έτσι για σύγκριση, τα όπλα στο UT3 έχουν 5-6k πολύγωνα. Πιστεύετε ότι σε οποιοδήποτε παιχνίδι, θα έκαναν οικονομία 1000 poly's και θα άφηναν τις σκέπες, στο ίδιο μαύρο χάλι με αυτά της unigine(tes off) ;. .Volrath, η unreal engine 3, ένα από τα καλύτερα κομμάτια software που έχουν κυκλοφορήσει ποτέ, λειτουργεί εντελώς διαφορετικά.Πρώτα σχεδιάζεις το αντικείμενο που πραγματικά θα ήθελες να δείξεις στον τελικό χρήστη, με τα εκατομμύρια πολύγωνα. Στη συνέχεια κατασκευάζεις μια version του ίδιου μοντέλου με μερικές χιλιάδες πολύγωνα. Τέλος, ένα ειδικό εργαλείο συγκρίνει τα δύο αντικείμενα και αποθηκεύει τις λεπτομέρειες του γεωμετρικά πολύπλοκου αντικειμένου ως texture. Το αποτέλεσμα είναι γραφικά απίστευτης πολυπλοκότητας με χαμηλό υπολογιστικό κόστος.Ο λαός μας λέει ότι όποιος δεν έχει μυαλό έχει πόδια. Δεν ξέρω αν με καταλαβαίνεις.Υ.Γ: Για την ιστορία είδα κάτι βιντεάκια στο youtube από God of War 3. Δεν ξέρω τί έχουν κάνει, αλλά πολλές σκηνές με άφησαν λαλάκα. Και όλα σε hardware τετραετίας, χωρίς tesselation και μπουρδελέησιον και μοτοcrossfire.Εκεί που πραγματικά έχεις ανάγκη το tesselation είναι στις μετασχηματιζόμενες επιφάνειες, όπως π.χ το νερό. Link to comment Share on other sites More sharing options...
Volrath Απρίλιος 3, 2010 Author #34 Κοινοποίηση Απρίλιος 3, 2010 Volrath, η unreal engine 3, ένα από τα καλύτερα κομμάτια software που έχουν κυκλοφορήσει ποτέ, λειτουργεί εντελώς διαφορετικά.Πρώτα σχεδιάζεις το αντικείμενο που πραγματικά θα ήθελες να δείξεις στον τελικό χρήστη, με τα εκατομμύρια πολύγωνα. Στη συνέχεια κατασκευάζεις μια version του ίδιου μοντέλου με μερικές χιλιάδες πολύγωνα. Τέλος, ένα ειδικό εργαλείο συγκρίνει τα δύο αντικείμενα και αποθηκεύει τις λεπτομέρειες του γεωμετρικά πολύπλοκου αντικειμένου ως texture. Το αποτέλεσμα είναι γραφικά απίστευτης πολυπλοκότητας με χαμηλό υπολογιστικό κόστος. Ο λαός μας λέει ότι όποιος δεν έχει μυαλό έχει πόδια. Δεν ξέρω αν με καταλαβαίνεις. Υ.Γ: Για την ιστορία είδα κάτι βιντεάκια στο youtube από God of War 3. Δεν ξέρω τί έχουν κάνει, αλλά πολλές σκηνές με άφησαν λαλάκα. Και όλα σε hardware τετραετίας, χωρίς tesselation και μπουρδελέησιον και μοτοcrossfire. Εκεί που πραγματικά έχεις ανάγκη το tesselation είναι στις μετασχηματιζόμενες επιφάνειες, όπως π.χ το νερό. Αυτη την διαδικασία ακολούθησα, στο post που δείχνω τον βουνό. Έφτιαξα πρώτα τον "πολύπλοκο", ~600k polys, το αντέγραψα, του έκανα δίαιτα ~599,200 polys ( ), έφτιαξα το normal map απο την σύγκριση των 2 μοντέλων (απλό και πολύπλοκο) και voila. Αυτό λέω και εγώ, ότι το Heaven bench αδικεί πολύ στην σύγκριση tess on/off. Συμφωνώ σε αυτό που λές για το tess και το νερό. Αν και πάλι, άμα βλέπεις το νερό υπο γωνία (άμα δεν υπάρχει η δυνατότητα πχ να μπορεις να κολυμπήσεις), μπορείς κάλiστα να φτιάξεις αξιόλογο αποτέλεσμα χωρίς tess. Δεν είναι κάτι καινούριο, όπως ήταν πχ το HDR ή dynamic shadows κτλ. Από την στιγμή που η κάρτα γραφικών σηκώνει τα πολύγωνα μιας tessellated σκηνής, θα μπορούσε κάλιστα η σκηνή αυτή να αποτελείται από τόσα πολύγωνα εξ'αρχής, και όταν απομακρίνεσαι να φορτώνει χαμηλότερου LOD (level of detail) αντικείμενα, όπως γινόταν τόσο καιρό. Απλά, οι artists με το tessellation γλυτώνουν το να φτιάχνουν αντικείμενα με πολλά LOD (συνηθίζεται να φτιάχνουν 3 LOD για αντικείμενα σημασίας). Όλα τα άλλα είναι marketing. Θα άλλαζα γνώμη άμα το όλο tessellation γινόταν "δωρεάν" από κάποιον hw tessellator στην κάρτα γραφικών, αλλά τώρα με τόση πτώση στις αποδόσεις, δε το θεωρώ "ουάο" feature. Οι δημιουργικοί artists μπορούν να φτιάξουν αντίστοιχης ποιότητας μοντέλα και χωρίς τέτοια feature. Link to comment Share on other sites More sharing options...
Petrossortep Απρίλιος 4, 2010 #35 Κοινοποίηση Απρίλιος 4, 2010 Δεν έιχα προσέξει καλά όλα τα ποστς σου. Έχεις δίκιο.Εν τω μεταξύ ψάχνοντας για το έψαξα για το normal mapping και διαπίστωσα ότι ήταν αυτό για το οποίο μιλούσαν στην παρουσίαση της unreal engine 3. Εγώ νόμιζα ότι ήταν κάτι δικό και δεν υπήρχε σε καμία άλλη μηχανή γραφικών. Η πραγματικότητα είναι ότι έχει την τιμητική του και στις δύο κονσόλες(λογικό). (η γενικοτερη ταση ,αν ρωτησεις εμενα θα ελεγα οτι επρεπε να κινηθουν προς raytracing)Check this out. http://www.geomerics.com/Geomerics enlighten engine.Ο ένας μετά τον άλλο οι δημιουργοί software παρουσιάζουν λύσεις realtime radiosity. Πολύ πιο efficient από το ray-tracing, εξίσου καλό οπτικά(αν υλοποιηθεί σωστά) και απόλύτως συμβατό με rasterizers(την τρέχουσα μέθοδο rendering στα games). H επόμενη γενιά games θα φλερτάρει με τα φιλμ της pixar.Raytracing 2015 και αν. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.