SpirosLouis Δημοσ. 10 Φεβρουαρίου 2016 Δημοσ. 10 Φεβρουαρίου 2016 Καλησπέρα σας, Θέλω να φτιάξω μια εφαρμογή με 3D γραφικά.(κατά προτίμηση σε C++). Αυτό που δουλεύω τώρα είναι το Qt. Υπάρχει κάτι άλλο που μπορεί να γίνει αυτό; Σκοπός μου είναι να φτιάξω μια προσομοίωση ρομποτ(ρομποτικό βραχίωνα). Δεν ξέρω όμως αν πρέπει να φτιάξω με κώδικα κάθε μέρος του ρομπότ και αν πρέπει να φτιάξω την δική μου rendering engine από το 0.
AlexHello Δημοσ. 10 Φεβρουαρίου 2016 Δημοσ. 10 Φεβρουαρίου 2016 Αν δεν έχεις προηγούμενη εμπειρία πάνω σε rendering engines και η ίδια η engine δεν είναι η ουσία του project σου μην κάνεις το λάθος να προσπαθήσεις ξαναανακαλύψεις έναν τόσο περίπλοκο τροχό και χρησιμοποίησε έτοιμες λύσεις όπως: Unreal Engine 4 CryEngine 3 Unity3D
SpirosLouis Δημοσ. 10 Φεβρουαρίου 2016 Μέλος Δημοσ. 10 Φεβρουαρίου 2016 Κάτι σχετικά απλό είχα κάνει αυτό https://github.com/Spiros94/kinematics που έφτιαξα τη δική μου μηχανή και έκανα render σε 2D. Σε μια τέτοια γλώσσα ειδικά περιπλέκει πολύ το θέμα, ειδικά ότι το κάνεις από το 0.(δεν μιλάμε για το που βρίσκεται η κάμερα - μετατοπίσεις κτλ είναι πολύ πράμα εκεί..) Θα τα ψάξω αυτά που μου έστειλες, μιας και θέλω να κάνω και UI για εντολές που θα κάνει ο βραχίονας κτλ.
AlexHello Δημοσ. 10 Φεβρουαρίου 2016 Δημοσ. 10 Φεβρουαρίου 2016 Κάτι σχετικά απλό είχα κάνει αυτό https://github.com/Spiros94/kinematics που έφτιαξα τη δική μου μηχανή και έκανα render σε 2D. Σε μια τέτοια γλώσσα ειδικά περιπλέκει πολύ το θέμα, ειδικά ότι το κάνεις από το 0.(δεν μιλάμε για το που βρίσκεται η κάμερα - μετατοπίσεις κτλ είναι πολύ πράμα εκεί..) Ενδιαφέρουσα δουλειά! Παρ' όλα αυτά μια 3D engine σε C++ διαφέρει αρκετά με το project σου όχι μόνο σε επίπεδο δυσκολίας γλώσσας, αλλά και στο γεγονός ότι θα πρέπει να χρησιμοποιήσεις hardware accelerated rendering για 3D και συνεπώς θα πρέπει να μάθεις και Direct3D ή OpenGL εις βάθος συν το ότι πρέπει να έχεις πολύ καλή γνώση γραμμικής άλγεβρας..
liberostelios Δημοσ. 10 Φεβρουαρίου 2016 Δημοσ. 10 Φεβρουαρίου 2016 Επειδή θες αποκλειστικά γραφικά, θα έλεγα ότι καλύτερα μην "μπλέξεις" με ολοκληρωμένες game engine αλλά πήγαινε σε κάτι πολύ πιο απλό, όπως η OGRE που είναι αποκλειστικά rendering engine και υπάρχουν tutorials για να την ενσωματώσεις σε UI εφαρμογή. Είχα υλοποιήσει μία πολύ παραπλήσια εφαρμογή σε C# με MOGRE (.NET Wrapper της εν λόγω βιβλιοθήκης) για να δοκιμάσω να παράξω βραχίωνες που με νευρωνικά δίκτυα θα στεκόντουσαν όρθιοι. Δεν το έχω ανεβάσει στο github γιατί η αλήθεια είναι ότι είναι κάκιστης ποιότητας ο κώδικας. Αλλά αν σε ενδιαφέρει, θα μπορούσα να σου δείξω τι είχα κάνει και σίγουρα εσύ θα μπορείς να κάνεις κάτι πολύ καλύτερο.
SpirosLouis Δημοσ. 10 Φεβρουαρίου 2016 Μέλος Δημοσ. 10 Φεβρουαρίου 2016 Επειδή θες αποκλειστικά γραφικά, θα έλεγα ότι καλύτερα μην "μπλέξεις" με ολοκληρωμένες game engine αλλά πήγαινε σε κάτι πολύ πιο απλό, όπως η OGRE που είναι αποκλειστικά rendering engine και υπάρχουν tutorials για να την ενσωματώσεις σε UI εφαρμογή. Είχα υλοποιήσει μία πολύ παραπλήσια εφαρμογή σε C# με MOGRE (.NET Wrapper της εν λόγω βιβλιοθήκης) για να δοκιμάσω να παράξω βραχίωνες που με νευρωνικά δίκτυα θα στεκόντουσαν όρθιοι. Δεν το έχω ανεβάσει στο github γιατί η αλήθεια είναι ότι είναι κάκιστης ποιότητας ο κώδικας. Αλλά αν σε ενδιαφέρει, θα μπορούσα να σου δείξω τι είχα κάνει και σίγουρα εσύ θα μπορείς να κάνεις κάτι πολύ καλύτερο. Κάπου το είχε πάρει το μάτι μου το OGRE παλαιότερα και από ότι βλέπω έχει και guide για integration με το QT που παίζω. Αν θες ανέβασε κάπου τον κώδικα σου να δω λίγο το σκεπτικό, αν θες.(εγώ μπορεί να το ανέβασα github και θα έβαζα στο README ότι πρόκειται για πρόχειρα γραμμένο κώδικα - POC)
k33theod Δημοσ. 11 Φεβρουαρίου 2016 Δημοσ. 11 Φεβρουαρίου 2016 Εγώ έχω ασχοληθεί λίγο με το webgl το οποίο είναι ένα κομμάτι του opengl που απόσο ξέρω δουλεύεται και σε c++. Σε μένα φάνηκε πολύ δύσκολο. Το webgl είναι πολύ πιο απλό ειδικά με three.js, δουλεύει όμως με γλώσσα .js και από όσο ξέρω μόνο σε browser. To πακέτο είναι free http://threejs.org/examples/
georgemarios Δημοσ. 11 Φεβρουαρίου 2016 Δημοσ. 11 Φεβρουαρίου 2016 Εξαρτάται από τον στόχο σου. Αν αυτό που θες είναι η προσομοίωση (με καλά γραφικά, gui και δυνατότητα να τρέχει σε διαφορες πλατφόρμες όπως κινητά/desktop/browser), η πρώτη σου σκέψη είναι να πιάσεις μια έτοιμη graphics / game engine. Μη κάνεις το λάθος να σκεφτείς "θέλω να το κάνω από το μηδέν για να μάθω", είναι σαν να λές θελω να μαθω να φτιάχνω ενα-ενα τα μπουζί του κινητήρα για να μάθω να οδηγώ. Αν αποσκοπείς στο μέλλον να εμπλακεις στη βιομηχανια παιχνιδιων, το να ξερεις καλα ενα γνωστο engine (πχ Unity) θεωρείται μεγάλο asset. Ακόμα και αν δεν προκειται να ασχοληθεις με το συγκεκριμενο engine, παλι με καποιο engine θα σε βαλουν να ασχοληθεις. Αν αυτό που θες απ' την άλλη είναι να μάθεις graphics programming, ο συνήθης (αλλά όχι ο μόνος) τρόπος είναι να πιάσεις την c++ σε συνδυασμό με ενα από τα 2 υπαρχοντα 3d apis (opengl ή direct3d -- η επιλογή εξαρτάται από διάφορους παράγοντες, αν δεν έχεις όρεξη να το ψάξεις πιάσε την opengl μημερωταςγιατιαπλαεριξαζαρι) Αν στο μελλον θες να φτιαξεις ενα δικο σου engine (γιατι ετσι), παλι θα πρεπει να εχεις χρησιμοποιησει μερικα τετοια ώστε να ξερεις τι κανει ενα engine και τι παραπανω θα ηθελες να κανει το δικο σου. Δεν υπαρχει σωστή/λαθος προσεγγιση, σκεψου τι θες και δοκιμασε κατι. Αν δεις πως δεν προχωραει για καποιο λογο, δοκιμασε κατι άλλο.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα