kilon / morpheas

Morpheas is a GUI API for the construction of custom guis using skins, actively supporting blender and based on OpenGL
GNU General Public License v3.0
9 stars 4 forks source link

Δουλεύεις ακόμα στο addon? #1

Open antoni4040 opened 6 years ago

antoni4040 commented 6 years ago

Γεια! Σου άφησα comment και στο Blender Artists αλλά μάλλον έχεις καιρό να μπεις. Στο λέω και δω μπας και σου έρθει ειδοποίηση. Αυτό το addon, ή βιβλιοθήκη βασικά, είναι σωτήριο σε κάτι που θέλω να κάνω τώρα. Και επειδή ο κώδικας είναι πολύ καλογραμμένος, εύκολα μπόρεσα να καταλάβω πως δουλεύει και να προσθέσω καινούργιες λειτουργίες και να διορθώσω μερικά bugs. Δεν ξέρω κατά πόσο σε ενδιαφέρει να ασχοληθείς ακόμα, αλλά αν θες μπορούμε να συζητήσουμε μερικά πραγματάκια για τις αλλαγές που έκανα. Απ'όσο είδα κάτι προσπάθησες να φτιάξεις με τον Μορφέα αλλά δεν σου πέτυχε. Νομίζω μια 2η προσπάθεια αξίζει, ανοίγονται πολλές νέες δυνατότητες για το τι μπορεί να κάνει κανείς στο Blender. Και αν δεις πχ τον κώδικα του RetopoFlow, που χρησιμοποιεί πολύ bgl κλπ, τα μαύρα του τα χάλια έχει, και έτσι και γίνει καμμιά αλλαγή στο API θα φτύσουν αίμα να το κάνουν να λειτουργεί, ενώ με τον Μορφέα, απλά αλλάζουμε αυτό το κομμάτι, τίποτα άλλο.

kilon commented 6 years ago

sorry για το εξαιρετικά αργό reply , Θα μεταφέρω εδώ τον καινορύγιο Μορφέα γιατί αποφάσισα μιας και εσύ τον χρησιμοποιείς να τον κάνω εντελώς ανεξάρτητο απο τον Cyclops. Θα βάλω τον καινορύγιο κώδικα , λογικά θα έχει bugs τα οποία θα διορθώσω πρίν κάνω το επόμενο release. Όταν δείς το επόμενο commit μου στείλε pull request με τον κωδικά σου

antoni4040 commented 6 years ago

Πως πάει το project? (sorry που χρησιμοποιώ τα issues σαν chat)

kilon commented 6 years ago

Πολυ καλά κανεις εξαλλου ο σκοπός των issues είναι για να γίνεται και συζήτηση πλεόν των bug reports

O Μορφέας έχει αλλάξει πάρα πολυ αν και το API είναι λιγο πολυ το ίδιο. Δυο είναι η μεγάλες διαφορές

1) Αν θυμάσαι στην ουσία εδώ έριχνα αντίγραφα του κώδικα , πλέον ο o Morpheas εχει ξηλωθεί απο τον Cyclops και αναπτύσεται πλήρως σε αυτό το repository που σημαίνει οτι pull κανεις απο εδώ παίρνει και το πιο πρόσφατο κώδικα. Το ίδιο έκανα με την βιβλιοθήκη livecoding (μια βιβλιοθήκη που σου επιτρέπει να αλλάζεις των κώδικα όταν εκτελείτε και ενημερώνει τον κώδικα που εκτελείται με τις αλλαγές) που και αυτή αναπτύσεται πλέον ανεξάρτητα απο τον Cyclops.

2) Η αρχιτεκτονίκη του μορφέα έχει αλλάξει ριζικά , ο παλιος στην ουσία χρησιμοποιούσε απευθείας το bgl module του Blender. Ο καινούργιο έχει ένα καινούργιο module που λέγεται backend το οποίο επιτρέπει στον Morpheas να είναι πλήρως cross platform , δηλαδή όχι να λειτουργεί μόνο μεσα στον Blender αλλά και εκτός , στην ουσία να επιτετρέπει την δημιουργία GUIs που θα μπορούν να μεταφερθούν σχετικά εύκολα σε άλλες εφαρμογές όπως η Unreal Engine, Maya , 3d Studio Max etc. Ολα τα modules θα μένουν τα ίδια και στην ουσία το μόνο που θα αλλάζει θα είναι το backend

H λογική του (1) είναι για να μπορεί κάποιος εύκολα να παίρνει την τελευταία έκδοση όλως το βιβλιοθηκών του Cyclops χωρίς να περιμένει για stable release. Αν και στο πλάνο είναι να κάνω και κάποια stable releases οταν με το καλό νιώσω οτι είναι έτοιμο.

H Λογική του (2) είναι για το μακρινό μέλλον όταν θελήσω να μεταφέρω τον Cyclops και αλλού, πλεον του Blender, το κύριο ενδιαφέρον μου είναι η Unreal Engine και ιδιαίτερα ο editor και με ενδιαφέρει και standalone , αν θέλει πχ να φτιάξει κάποιος εφαρμογές με Python και Morphea ως GUI API.

Λογω του (2) αναγκάστηκα να ξεφορτωθώ και το draw method και επειδή το Opengl 3.3 δουλεύει πολυ πιο διαφορετικά απο το OpenGL 1 που χρησιμοποιούσε ο παλιός Morpheas. Ενας ακόμα λόγος είναι και οτι στοχεύω σε όσο μπορώ high performance (GUI based on GPU hardware acceleration).

Κατα τα άλλα το API είναι όπως το ξέρει και ελάχιστες διαφορές έχει και γενικά μου αρέσει αρκετά και δεν έχω σκοπό να το αλλάξω.

Για την ώρα προσπαθώ να το μεταφέρω στο OpenGL 3.3 που είναι και η έκδοση που χρησιμοποιεί ο Blender 2.8 ,ωστε να υπάρχει συμβατότητα με Eevee και όλα τα ωραία καινούργια που θα φέρει η καινούργιο έκδοση του Blender.

Ανοιξες πάντως μια ωραία συζήτηση που έδωσε την ιδεά οτι θα ήταν καλό να ανοίξω issues με τα bug, future features, roadmap and overall code design, ωστε και εγώ να έχω μια πιο καλή ιδέα τι κάνω και να κάνω τα πράγματα λίγο πιο οργανωμένα.

antoni4040 commented 6 years ago

Καλή φάση. Εμένα από game engines με ενδιαφέρει το Godot τώρα τελευταία. Μπορεί να προσπαθήσω να κάνω τον Μορφέα να δουλεύει και κει, αλλά για την ώρα έχω την κατάθλιψη της εξεταστικής, οπότε το καλοκαίρι ίσως...

kilon commented 6 years ago

εννοείται, η εξεταστική έχει προτεραιότητα

Την γνωρίζω την Godot , δεν την έχω χρησιμποιήσει ποτέ, ενδιαφέρουσα μηχανή απο ότι κατάλαβα είναι κυρίως για 2d games.