vicky5 Δημοσ. 23 Φεβρουαρίου 2011 Δημοσ. 23 Φεβρουαρίου 2011 Καλησπερα..εχει κανεις σημειωσεις σε Java opengl? η αν δεν εχει απο που θα μπορουσα να ξεκινησω γιατι βλεπω η πλειοψηφια των tutorial ειναι σε c++ ...Aυτο που θέλω να κανω ειναι καποιο γραφημα με opengl που θα εξαρταται απο τις τιμες που θα δίνει ο χρηστης
MitsakosGR Δημοσ. 23 Φεβρουαρίου 2011 Δημοσ. 23 Φεβρουαρίου 2011 Δεν το ξέρω το θέμα, αλλά κάτι τέτοιο σου κάνει: JOGL (Java OpenGL) Tutorial;
vicky5 Δημοσ. 23 Φεβρουαρίου 2011 Μέλος Δημοσ. 23 Φεβρουαρίου 2011 οχι αυτο το ειχα δει θελω κατι ποιο οργανομενο απο αυτο...thanks
strat92man Δημοσ. 24 Φεβρουαρίου 2011 Δημοσ. 24 Φεβρουαρίου 2011 καλησπέρα, Ξέρετε να μου πειτε κανεναν Compiler για Java ;
javavall Δημοσ. 24 Φεβρουαρίου 2011 Δημοσ. 24 Φεβρουαρίου 2011 καλησπέρα, Ξέρετε να μου πειτε κανεναν Compiler για Java ; javac και είσαι αρχηγός Εάν εννοείς IDE, τότε NetBeans, Eclipse, Codeblocks κτλ...
ktiniatros Δημοσ. 26 Φεβρουαρίου 2011 Δημοσ. 26 Φεβρουαρίου 2011 καλησπέρα, Ξέρετε να μου πειτε κανεναν Compiler για Java ; Από εδώ μπορείς να κατεβάσεις σεταρισμένο eclipse για jogl. Έχει και 3 παραδειγματικά projects για αρχάριους. @vicky5 To να μετατρέψεις κώδικα opengl c++ σε java δεν είναι τπτ δύσκολο, μη σε αποθαρρύνει. Είναι σχεδόν ίδιες οι εντολές, απλά συνήθως δηλώνεις αντικείμενα GL και GLU και καλείς από κει τις μεθόδους της opengl. Απλά πρέπει να δεις πώς να χρησιμοποιείς listeners στη java, αν δεν ξέρεις ήδη. Εδώ τα εξηγεί όλα αναλυτικότατα. Δες αν θες και το προηγούμενο λινκ που παρέθεσα για να μπεις στο νόημα με τα παραδείγματα, νομίζω για απλά γραφήματα θα είσαι γρήγορα σε θέση να τα αναπτύξεις.
vicky5 Δημοσ. 1 Μαρτίου 2011 Μέλος Δημοσ. 1 Μαρτίου 2011 Από εδώ μπορείς να κατεβάσεις σεταρισμένο eclipse για jogl. Έχει και 3 παραδειγματικά projects για αρχάριους. @vicky5 To να μετατρέψεις κώδικα opengl c++ σε java δεν είναι τπτ δύσκολο, μη σε αποθαρρύνει. Είναι σχεδόν ίδιες οι εντολές, απλά συνήθως δηλώνεις αντικείμενα GL και GLU και καλείς από κει τις μεθόδους της opengl. Απλά πρέπει να δεις πώς να χρησιμοποιείς listeners στη java, αν δεν ξέρεις ήδη. Εδώ τα εξηγεί όλα αναλυτικότατα. Δες αν θες και το προηγούμενο λινκ που παρέθεσα για να μπεις στο νόημα με τα παραδείγματα, νομίζω για απλά γραφήματα θα είσαι γρήγορα σε θέση να τα αναπτύξεις. βασικα java ξερω αλλα δεν ξερω κατα ποσο μπορω να κανω τη μετατροπη αυτη που λες..εχει λιγο μπλεξιμο...παλια jogl καινουργια jogl..swt gl4 και τι αλλο δεν ξερω εχω δει...εχω χασει το μπουσουλα απο που να ξεκινησω
vicky5 Δημοσ. 1 Μαρτίου 2011 Μέλος Δημοσ. 1 Μαρτίου 2011 Θελω να φτιαξω ενα γραφημα σε Opengl ..το οποίο θα χρησιμεύει να παίρνει τιμες που θα δίνει ο χρήστης και να δημιουργεί τους αντιστοιχους κυλινδυς με το αντισοιχο ύψος των τιμών βασικα κατι τετοιο Link απο εκει πηγα να το ανοιξω δεν εβγαλα ακρη και το κανω απο την αρχη να μαθω κιολας
vicky5 Δημοσ. 21 Μαρτίου 2011 Μέλος Δημοσ. 21 Μαρτίου 2011 επανερχομαι στο θέμα με 2 ερωτήσεις η μια νομίζω απλη για παιδιά που δουλέυουν opengl 1) πως φ@#$%^& βαζω την καμερα σε αλλη οπτικη γωνία για να βλέπει το αντικείμενο μου...γιατι όταν χρησιμοποιήσω rotate για να κάνω μεταφορα χειροκινητη όλου του σχεδίου μου αλλάζει και τη θέση κάποιον αντικειμένων...σκεφτηκα αν αλλάξω απλα τη θέση της κάμερας θα μου λύσει το πρόβλημα αλλα δεν δουλεύυν οι εντολές που εχω χρησιμοποιήσει ώς τωρα 2) πως μπορω να κάνω σταδιακή σχεδίαση ενός κυλίνδρου? δηλαδη ενω δουλεύει το πρόγραμμα να παίρνει μια τιμή και να φτιάχνει ενα νέο σχήμα μέσα ?
V.I.Smirnov Δημοσ. 21 Μαρτίου 2011 Δημοσ. 21 Μαρτίου 2011 Εχεις διαβάσει τις ιδιότητες της στροφής ; Για να στρέψεις κάτι γύρω από τον άξονά του, απαιτούνται τρία βήματα : α) να μεταφερθεί πρώτα στην αρχή των αξόνων, β) το στρέφεις εκεί, γ) το ξαναμεταφέρεις στην αρχική θέση του (στραμμένο πλέον). Αν το στρέψεις χωρίς μεταφορά, θα στραφεί γύρω από την αρχή των αξόνων αντί γύρω από τον άξονά του (και θα γίνει μπάχαλο). Αν δεν θες να στρέψεις τα αντικείμενα, πρέπει να στρέψεις την κάμερα, δηλ. την θέση παρατήρησης. Η χρήση της rotate συνήθως είναι άβολη γι' αυτήν την δουλειά. Για να αλλάξεις οπτική γωνία χρησιμοποίησε την gluLookAt : δέχεται ως παραμέτρους την θέση και προσανατολισμό της κάμερας καθώς και το σημείο στόχευσης. Αν υπάρχουν πολλά αντικέιμενα στην σκηνή, πρέπει να στοχεύει κάπου κεντρικά και με άνοιγμα γωνίας τέτοιο ώστε να τα έχει στο οπτικό πεδίο της. (Παρεμπιπτόντως, η gluLookAt έχει γίνει deprecated στις νεώτερες εκδόσεις του opengl αλλά δεν νομίζω να σε νοιάζει αυτό) Το δεύτερο ερώτημα δεν είναι σαφές. Τι εννοείς "να φτιάχνει ένα νέο σχήμα μέσα" ; -
vicky5 Δημοσ. 21 Μαρτίου 2011 Μέλος Δημοσ. 21 Μαρτίου 2011 εχω καταλαβει και διορθωσε με αν κανω λαθος το εξης..με glTranslatef(-1f, -1.7f, -8f) πχ μεταφερω το απο που ξεκιναει το σχεδιο χ ψ ζ αντιστοιχα οι τιμες.αυτο εννοουμε μεταφερω τον αξονα? ...gl.glRotated(30, 3, -10, 0); ειναι οτι κατα 30 μοιρες το στρεφει στον αξονα χ κατα 3 δηλαδη δεξιοστροφα δηλαδη και κατα -10 στον ψ αξονα...τι αλλο πρεπει να εχω καταλαβει??? ..χρησιμοποιησα και το Glulookat και μου κανει ακριβως το ιδιο προβλημα...δηλαδη εχω 3 αξονες σχεδιασμενους και σαν φοντο εχω σχεδιασει τετραγωνο απο πισω με γραμμες..οταν το μεταφερω ομως μου αλλαζει εντελως θέση του τετραγωνου απο πισω.. σκεψου παλευω να κανω αυτο Link.οπως βλεπεις την εικονα το γκρι φοντο με τις γραμμες του χ αξονα οτι και να κανω δεν τους πειραζει...του ζ του αλλαζει τα ματια β) οταν λεω να κατασκευαζεται σταδιακα εννοω..ξερω να βαζω στο σχεδιο κυλινδρους...εμενα οπως η εργασια λεει να παιρνει ενω δουλευει το προγραμμα τιμες απο το χρηστη και να δημιουργει εκεινη τη στιγμη τον κυλινδρο απο κατω προς τα πανω σταδιακα μεχρι να φτασει ο κυλινδρος στο υψος της τιμης που εχει δωσει ο χρηστης..το μονο που σκεφτηκα ειναι καποια while?αλλα τι θα φτιαχνει κυλινδρακια και θα τα ενωνει..κατη σκεφτομαι λαθος νομιζω διαβαζω μονη μου Opengl και τα εχω βρει λιγο σκουρα..μπορει καποια πραγματα που λεω να φαινονται χαζα αλλα δεν εχω καποιον να ρωτησω ευχαριστω για την οποια βοηθεια
V.I.Smirnov Δημοσ. 21 Μαρτίου 2011 Δημοσ. 21 Μαρτίου 2011 Αν έχεις ένα αντικείμενο στην θέση (x,y,z) ενός καθολικού συστήματος συντεταγμένων και θέλεις να στρέψεις το αντικείμενο γύρω από τον άξονά του (του αντικειμένου), πρέπει πρώτα να το μεταφέρεις στην θέση (0,0,0) του καθολικού συστήματος. Δηλ. κάνεις glTranslate(-x,-y,-z). Το στρέφεις εκεί οπότε στρέφεται πράγματι γύρω από τον άξονά του και μετά με glTranslate(x,y,z) το ξαναμεταφέρεις στραμμένο πλέον στην αρχική θέση του. Εδώ που βρίσκομαι τώρα δεν μπορώ να σου πω πολλά. Αλλά σου λέω το εξής. Πάρε το manual του openg (είναι το λεγόμενο 'κόκκινο' βιβλίο) και διάβασε από εκεί τα βασικά για τις glRotate, glTranslate και gluLookΑt. Έχει και απλά παραδείγματα. Αν δεν έχεις διαβάσει τον χειρισμό και την συμπερισφορά των βασικών μετασχηματισμών,παλεύεις άσκοπα. Στην τύχη είναι δύσκολο να σου βγει. Υπάρχουν κι' αλλά καλά (ή καλύτερα) βιβλία όπως το Opengl SuperBible αλλά το 'κοκκινο' βιβλίο είναι πιθανόν ότι θα υπάρχει στην βιβλιοθήκη... (εκδόσεις μέχρι και την 2.1 έχουν τα παραπάνω - από την 3.0 και μετά δεν ξέρω) -
vicky5 Δημοσ. 23 Μαρτίου 2011 Μέλος Δημοσ. 23 Μαρτίου 2011 το κατάλαβα και το έκανα..έχω άλλο ένα θέμα που ασχολούμαι από χτες βραδυ και δεν μπορώ να καταλάβω καν αν γίνεται...έχω το panel μου το οποιο γεμίζει με ένα σύστημα αξόνων απο μια αλλαη κλαση ...παίρνω μια τιμή από το χρηστη και θέλω να πάω να το προσθέσει μέσα στο panel..όταν πάω λοιπόν να κάνω gluCylinder(qobj, 1.0, 1.0, 0.4, 1, 16); μου πετάει exception opengl.GLException: No OpenGL context current on this thread ...δεν μπορώ να "προστεσω" κάποιο αντικείμενο κατά τι διάρκεια που τρέχει?
V.I.Smirnov Δημοσ. 23 Μαρτίου 2011 Δημοσ. 23 Μαρτίου 2011 Φαντάζομαι να μην χρησιμοποιείς μόνη της την gluCylinder(). Πρέπει να κληθεί η gluNewQuadric() πρώτα και να οριστούν κάποιες ιδιότητες. Αν αυτά τα κάνεις σωστά, το πρόβλημα πιθανόν αφορά κάτι σχετικό με την java (που δεν την ξέρω). Γενικά από διδακτικής πλευράς το opengl πρέπει να μαθαίνεται στις C/C++ που υπάρχει μεγάλη και πολύ καλή τεκμηρίωση. Εκεί δεν θα είχες τέτοια προβλήματα και θα ήταν και πιο εύκολο να βρεις βοήθεια. -
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.