Downloadpercent Δημοσ. 30 Ιουνίου 2012 Δημοσ. 30 Ιουνίου 2012 πως γίνεται η απεικόνιση τρισδιάστατων μοντέλων; βασικά έχω προσέξει σε έτοιμες συναρτήσεις ότι χρησιμοποιούν πίνακες για τις 3 διαστάσεις, θέλω να ρωτήσω, ουσιαστικά τραβάνε τα x y z από τα αρχεία (obj) και τα χρησιμοποιούν σαν Points για να κάνουν Draw ?? Κάποιο σχετικό link;
migf1 Δημοσ. 30 Ιουνίου 2012 Δημοσ. 30 Ιουνίου 2012 ... Κάποιο σχετικό link; http://www.spacesimu...mming_Tutorials (ξεκίνα από το 1ο: http://www.spacesimulator.net/wiki/index.php?title=Tutorials:3d_Engine)
ChRis6 Δημοσ. 30 Ιουνίου 2012 Δημοσ. 30 Ιουνίου 2012 (επεξεργασμένο) Πρωτα απο ολα πρεπει να ξερεις πως να ζωγραφιζεις 3D. Αν οχι κοιτα τη σελιδα που εδωσε πιο πανω ο migf1. Φυσικα υπαρχουν ΑΠΕΙΡΕΣ αλλες πηγες να ψαξεις ! Αν ξερεις κατι τετοιο , τοτε θα γνωριζεις οτι τα 3D σχηματα αποτελουνται απο τριγωνα( οχι παντα, αλλα αυτο ειναι αλλη κουβεντα ). Καθε 3D σχημα , το λεγομενο mesh , φτιαχνεται απο ενα προγραμμα σχεδιασης σαν το MAX ( blender φορ δε γουιν μωρεεεεε ). Οταν εχεις το mesh, το αποθηκευεις σε μια μορφη αρχειου που σου δινει το προγραμμα. Μια τετοια μορφη ειναι το .obj , το οποιο ειναι αρχειο κειμενου. Αν ανοιξεις ενα τετοιο αρχειο σε εναν text editor θα δεις τα σημεια ( vertices ) που φτιαχνουν το mesh.Φυσικα υπαρχει και αλλη πληροφορια , οπως normals , texture coords ! Δεν υποστηριζει βεβαια animation και γενικως δεν χρησιμοποιειται πολυ στην πραξη. Απο την αλλη υπαρχουν και τα binary αρχεια , που φυσικα ειναι σχετικα πιο δυσκολα να κανεις parse, οπως για παραδειγμα τα .3ds , τα collada κτλ. Ξεκινα με .obj και επειτα συνεχιζεις με καποιο binary Επεξ/σία 30 Ιουνίου 2012 από ChRis6
Downloadpercent Δημοσ. 30 Ιουνίου 2012 Μέλος Δημοσ. 30 Ιουνίου 2012 Θανκς Migf, Παιδιά, έχω την εντύπωση ότι είναι "ανούσιο" να ασχολείται κανείς με C/C++ & OpenGL, το λέω αυτό γιατί δεν περιέχει κάποιες έτοιμες-βασικές βιβλιοθήκες(συναρτήσεις) όπως πχ για τα 3D Models κάτι μου λέει ότι και για αναπαραγωγή βίντεο δεν έχει έτοιμη συνάρτηση (όπως όλα τα Games, δείχνουν ένα βίντεο πριν το παιχνίδι) τι λέτε; Πρωτα απο ολα πρεπει να ξερεις πως να ζωγραφιζεις 3D. Αν οχι κοιτα τη σελιδα που εδωσε πιο πανω ο migf1. Φυσικα υπαρχουν ΑΠΕΙΡΕΣ αλλες πηγες να ψαξεις ! Αν ξερεις κατι τετοιο , τοτε θα γνωριζεις οτι τα 3D σχηματα αποτελουνται απο τριγωνα( οχι παντα, αλλα αυτο ειναι αλλη κουβεντα ). Καθε 3D σχημα , το λεγομενο mesh , φτιαχνεται απο ενα προγραμμα σχεδιασης σαν το MAX ( blender φορ δε γουιν μωρεεεεε ). Οταν εχεις το mesh, το αποθηκευεις σε μια μορφη αρχειου που σου δινει το προγραμμα. Μια τετοια μορφη ειναι το .obj , το οποιο ειναι αρχειο κειμενου. Αν ανοιξεις ενα τετοιο αρχειο σε εναν text editor θα δεις τα σημεια ( vertices ) που φτιαχνουν το mesh.Φυσικα υπαρχει και αλλη πληροφορια , οπως normals , texture coords ! Δεν υποστηριζει βεβαια animation και γενικως δεν χρησιμοποιειται πολυ στην πραξη. Απο την αλλη υπαρχουν και τα binary αρχεια , που φυσικα ειναι σχετικα πιο δυσκολα να κανεις parse, οπως για παραδειγμα τα .3ds , τα collada κτλ. Ξεκινα με .obj και επειτα συνεχιζεις με καποιο binary Ε ναι, ας μάθουμε πρώτα τα βασικά και μετά μιλάμε. ασε ασε, βασικά μήπως ξέρεις τι είναι τα (v,vt) στα obj files? λεω να τα τραβήξω και να τα αποθηκεύσω σε έναν πίνακα και να τα κάνω draw, το θέμα είναι όταν τα κάνω draw, σαν τι θα τα κάνω; Points; Lines; Polygons;
kagelos Δημοσ. 30 Ιουνίου 2012 Δημοσ. 30 Ιουνίου 2012 Ρίξε μια ματιά εδώ για το obj. Αν θυμάμαι καλά, το obj αποθηκεύει την γεωμετρία σαν λίστα από faces, όπου το κάθε face είναι ένα κυρτό( ; ) πολύγωνο.
ChRis6 Δημοσ. 30 Ιουνίου 2012 Δημοσ. 30 Ιουνίου 2012 v : vertices vt : texture coords vn : vertex normals f: faces που φτιαχνονται απο τα παραπανω v,vn,vt του αρχειου. Με / χωριζονται τα στοιχεια της καθε κορυφης τριγωνου με αυτη τη σειρα: vertex,text coord,normal για παραδειγμα το : f 6/4/1 3/5/3 7/6/5 λεει οτι για την πρωτη ( 1 ) κορυφη του τριγωνου εχεις: το 6ο vertex που διαβασες , το 4ο texcoord και το 1ο normal που διαβασες. Αντιστοιχα, για τη δευτερη κορυφη του τριγωνου εχεις: το 3ο vertex που διαβασες , το 5ο texcoord και το 3ο normal. Ετσι βγαζεις ολα τα τριγωνα του mesh και αν τα ζωγραφισεις ολα σου δινουν το model ! Στο link που δινει ο kagelos απο πανω τα εξηγει πολυ καλα Edit: σχετικα με αυτο που λες παραπανω Λογικο ειναι να μην περιεχει κατι τετοιο , δηλαδη mesh, video loader κτλ γιατι δεν ειναι αυτος ο σκοπος της openGL/ directX. Εξαλλου, αν το εκανε , θα ηταν εξαρτημενη απο μερικα model formats.Τα βιντεο στα παιχνιδια ειναι pre rendered, δηλαδη δεν ζωγραφιζονται εκεινη την ωρα ( δεν ειναι real time ).
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα