Kuinka Blender 3D 2.8x -käyttöliittymä tehdään?

Haluan tietää kaikki prosessit, toiminnot, mukana olevat kielet, esimerkkejä koodista ja URL-osoitteet viralliset sivustot päivitetyillä tiedoilla jos mahdollista.

HUOMAUTUS: En ole ohjelmoija. Haluan vain tietää miten ja mistä aloittaa oppiminen.

Yhdeksän vuotta sitten käyttäjä vastasi :

Olettaen, että puhut Blenderin 2,5-sarjasta, alimmalla tasolla, Blenderin käyttöliittymä on toteutettu käyttämällä OpenGL: ää (koodattu ensisijaisesti C). Liitetty Python-kerrokseen . Tämä tarkoittaa, että sitä on melko helppo muokata Blenderin käyttöliittymä, joka käyttää Pythonia uhraamatta paljon suorituskyvyn suhteen.

Ja parempia vastauksia sen käyttöliittymän kehittämisestä ja portabista ility , mutta ei päivitetty (4 vuotta vanha):

Ei Et voi käyttää Blenderin GUI-pakettia muissa Blenderin ulkopuolella olevissa ohjelmissa. Blenderin graafinen käyttöliittymäpaketti on tarkoitettu vain käytettäväksi Blenderin kanssa useilla alustoilla. Blenderissä on myös mukautettu ikkuna Ja Blenderin käyttöliittymän widgetit on yhdistetty tiiviisti Blenderin Data API: han (RNA / ID-ominaisuudet)

On olemassa GHOST (General Handy Operating System Toolkit), jota voidaan käyttää Blenderin ulkopuolella, mutta se on hyvin matalalla tasolla, ja tarjoaa vain ikkuna-, hiiri-, näppäimistö-, ndof- ja tablet-tapahtumia X11 / MS-Windowsista. / OS X. Se ei oikeastaan piirtää mitään; Esimerkiksi painikkeita tai tekstiä käsittelee Blenderin oma koodi.

Vuosi sitten , mutta ei niin yksityiskohtainen kuin tarve:

Blenderin koko käyttöliittymä piirretään näytölle OpenGL: n kautta. Suurin osa käyttöliittymästä on määritelty C: ssä, ja jotkut osat, kuten suurin osa asetteluista, Pythonissa.

Joten:

  1. tiedän että Blender pystyy renderöimään kohtauksia tietokoneissa, jotka eivät tue Blender-ohjelmistoa binääritiedostojensa kautta – jotka hyväksyvät CLI (Command Line Interface) -komennot – koska kauan sitten en voinut suorittaa 2.79, mutta 2.76 … Mutta läpi SheepIt Render Farm voit renderoida muita 2.79-tiedostoja ilman ongelmia suorittimen kanssa ja päinvastoin.
    • Että CLI-tuki tekee Blenderin käyttöliittymästä riippumattoman (mikä tarkoittaa, että GUI vain soittaa CLI-kutsuja jokaisen muutoksen yhteydessä) tai onko käyttöliittymä melkein ydin (mikä tarkoittaa, että Blenderin ydinkoodi liittyy GUI-koodin muutoksiin) ?
  2. Voit tehokkaasti ottaa käyttöön Blenderin graafisen käyttöliittymän (tai sen osan) toiseen sovellukseen, joka käyttää [suosikki-esimerkkejä] kieliä?

Miksi

Pyydän konkreettista vastausta siihen, koska haluan osallistua syvästi Inkscape-kehitykseen, ja sen todelliset tärkeimmät kysymykset (Käyttäjille) eivät ole täysin kehitetty graafinen käyttöliittymä eikä CMYK-tukea. Toisaalta Blender on todella superteollistettu (mikä tarkoittaa, että sen käyttö on yrityksille täysin PRO- ilman CON: itä)

Inkscape-kehittäjät siirtävät koko koodipohjansa (joka perustuu C: stä C ++: een ja he haluavat myös jakaa käyttöliittymän erilliseen toteutukseen voidakseen käyttää CSS-tiedostoja sen kehittämiseen, ja haluan tietää, jos Blender Codebasea voidaan lähestyä prosessin aikana.

Kommentit

  • CLI on myös käyttöliittymä. Se käyttää vain komentoriviä, eikä kaunista grafiikkaa. Sekä CLI että graafinen käyttöliittymä ovat yhteydessä " backend " -palveluun, joka todella tekee tavaraa. Koska Blender on OpenSource (ja lisensoitu GPL: ksi), uuden GUI: n luomisessa sille eri kielellä ei pitäisi olla ongelmaa, mutta se riippuu enimmäkseen kielestä. Kielen tulisi kommunikoida taustajärjestelmän kanssa jotenkin. Useimmilla kielillä on yleensä tapa " kääriä " binäärejä, jotta niitä voidaan käyttää kirjastoina, mutta se on kielikohtainen.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *