Hogyan készül a Blender 3D 2.8x grafikus felhasználói felület?

Szeretném megismerni az összes folyamatot, működő, érintett nyelvet, kód példákat és URL-eket hivatalos webhelyek frissített információkkal , ha lehetséges.

MEGJEGYZÉS: Nem vagyok programozó. Csak tudni akarom, hogyan és hol kezdje el a tanulást.

Kilenc évvel ezelőtt egy felhasználó válaszolt :

Feltételezve, hogy a Blender 2.5 sorozatáról beszél, a legalacsonyabb szinten, a Blender felhasználói felületét valósítja meg az OpenGL segítségével (elsősorban C). Ez egy Python rétegbe van kapcsolva . Ez azt jelenti, hogy meglehetősen könnyű módosítani A Blender felhasználói felülete a Python használatával anélkül, hogy sokat áldozna a teljesítményre.

És a folytatása szerint jobb válaszok a GUI fejlesztésére és a portabára ility , de nincs frissítve (4 éves):

Nem A Blender GUI csomagját nem használhatja a Blenderen kívüli más programokban. A Blender grafikus felhasználói felület csomagot kizárólag a Blenderrel különböző platformokon való használatra tervezték. A Blender rendelkezik egy egyéni ablakkal is kezelő. És a Blender felhasználói felületei szorosan kapcsolódnak a Blender Data API-jához (RNA / ID tulajdonságok)

Van GHOST (General Handy Operating System Toolkit), amely a Blenderen kívül is használható, de nagyon alacsony szintű, csak ablakhoz, egérhez, billentyűzethez, ndof és tablet eseményekhez nyújt hozzáférést X11 / MS-Windows rendszerből. / OS X. Valójában nem rajzol semmit; A gombokat vagy a szöveget például a Blender saját kódja kezeli.

Egy évvel ezelőtt , de nem annyira részletes, mint a szükség:

A Blender teljes felhasználói felülete az OpenGL-en keresztül rajzolódik ki a képernyőn. A felhasználói felület nagy része definiálva a C-ben, és egyes részek, például az elrendezések nagy része, a Pythonban.

Tehát:

  1. tudom hogy a Blender képes olyan jeleneteket megjeleníteni olyan PC-ken, amelyek nem támogatják a Blender szoftvert a bináris fájljain keresztül – amelyek elfogadják a CLI (Command Line Interface) parancsokat -, mert régen nem tudtam 2.79-et futtatni, de 2.76-ot … De vályú SheepIt Render Farm más 2.79 fájlokat tudna renderelni a CPU-val kapcsolatos problémák nélkül, és fordítva.
    • Ez a CLI-támogatás függetlenné teszi a Blender GUI-ját (ami azt jelenti, hogy a GUI csak CLI-hívásokat indít minden változtatáskor), vagy a GUI közelebb van a magáénak (ami azt jelenti, hogy a Blender Core Code társul a GUI-kód változásához) ?
  2. Hatékonyan telepítheti a Blender grafikus felhasználói felületét (vagy annak egy részét) egy másik alkalmazásba, amely [kedvenc példák] nyelvét használja?

Miért

Erre konkrét választ kérek, mert szeretnék mélyen részt venni az Inkscape fejlesztésében, és annak tényleges főbb kérdései (A felhasználók számára) nem teljes mértékben fejlett GUI és nincs CMYK támogatás. Másrészt a Blender valóban szuper iparosodott (ami azt jelenti, hogy használata teljesen PRO- CON nélkül – a vállalkozások számára)

Az Inkscape Developers az összes kódbázisát (amely a C) – C ++ alapú, és a felhasználói felületet el akarják osztani egy külön megvalósításra is, hogy CSS fájlokat használhassanak a fejlesztéshez, és szeretném tudni, hogy folyamat közben lehet megközelíteni a Blender Codebase-t.

Megjegyzések

  • A CLI szintén felhasználói felület. Csak parancssort használ, és nem szép grafikát. A CLI és a GUI is kommunikál a " háttérrendszerrel ", amely valójában dolgokat csinál. Mivel a Blender OpenSource (és GPL-ként licencelt), nem lehet probléma új GUI-t létrehozni hozzá egy másik nyelven, de ez leginkább a nyelvtől függ. A nyelvnek valahogy kommunikálnia kellene a háttérrel. A legtöbb nyelvben általában van mód arra, hogy " csomagolja a " bináris fájlokat, így könyvtárként használhatók, de ez a nyelv specifikus. / li>

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük