Jak powstaje graficzny interfejs użytkownika Blendera 3D 2.8x?

Chcę poznać wszystkie procesy, działanie, zaangażowane języki, przykłady kodu i adresy URL oficjalne witryny ze zaktualizowanymi informacjami , jeśli to możliwe.

UWAGA: Nie jestem programistą. Chcę tylko wiedzieć, jak to zrobić i gdzie zacząć się uczyć.

Dziewięć lat temu użytkownik odpowiedział :

Zakładając, że mówisz o serii 2.5 Blendera, na najniższym poziomie interfejs użytkownika Blendera jest zaimplementowany przy użyciu OpenGL (kodowany głównie w C). Zahaczyła o to warstwa Pythona . Oznacza to, że można ją dość łatwo zmodyfikować Interfejs użytkownika Blendera korzystający z Pythona bez zbytniego poświęcania wydajności.

I zgodnie z życiorysem lepsze odpowiedzi na temat rozwoju GUI i portab ility , ale bez aktualizacji (4 lata):

Nie. Nie możesz używać pakietu GUI Blendera w innych programach poza Blenderem. Pakiet Blendera z graficznym interfejsem użytkownika jest przeznaczony wyłącznie do użytku z Blenderem na różnych platformach. Blender ma również własne okno manager. Widżety interfejsu użytkownika w Blenderze są ściśle powiązane z interfejsem API danych Blendera (właściwości RNA / ID)

Istnieje GHOST (General Handy Operating System Toolkit), którego można używać poza Blenderem, ale jest to bardzo niski poziom, zapewniający tylko dostęp do okna, myszy, klawiatury, zdarzenia ndof i tabletu z X11 / MS-Windows / OS X. Właściwie niczego nie rysuje; Na przykład przyciski lub tekst są obsługiwane przez własny kod Blendera.

Rok temu , ale nie tak szczegółowe, jak potrzeba:

Cały interfejs użytkownika Blendera jest rysowany na ekranie za pomocą OpenGL. Większość interfejsu użytkownika jest zdefiniowane w C i niektóre części, jak większość układów, w Pythonie.

Więc:

  1. Wiem że Blender może renderować sceny na komputerach PC, które nie obsługują oprogramowania Blendera poprzez jego pliki binarne – które akceptują polecenia CLI (interfejsu wiersza poleceń) – ponieważ dawno nie mogłem uruchomić wersji 2.79, ale 2.76 … Ale przez SheepIt Render Farm można było renderować inne pliki 2.79 bez problemów z procesorem i vice versa.
    • To, że obsługa CLI sprawia, że GUI Blendera jest niezależne (co oznacza, że GUI po prostu wykonuje wywołania CLI przy każdej zmianie) lub jest bardziej zbliżone do rdzenia (co oznacza, że Blender Core Code jest powiązany ze zmianami w kodzie GUI) ?
  2. Możesz skutecznie zaimplementować graficzny interfejs użytkownika Blendera (lub jego część) do innej aplikacji, która używa języków [ulubione-przykłady]?

Dlaczego

Szukam konkretnej odpowiedzi na to pytanie, ponieważ chcę głęboko uczestniczyć w rozwoju Inkscape, a jego rzeczywiste główne problemy (dla użytkowników) nie są w pełni opracowane GUI i brak obsługi CMYK. Z drugiej strony, Blender jest w rzeczywistości super uprzemysłowiony (co oznacza, że jego użycie jest całkowicie PRO – bez KON – dla firm).

Inkscape Developerzy przenoszą całą jego bazę kodów (co jest oparty na C) do C ++ i chcą również podzielić interfejs użytkownika na oddzielną implementację, aby móc używać plików CSS do jej rozwijania i chcę wiedzieć, czy w trakcie tego procesu możliwe jest podejście do bazy kodu Blendera.

Komentarze

  • CLI to także interfejs użytkownika. Po prostu używa wiersza poleceń, a nie ładnej grafiki. Zarówno CLI, jak i GUI komunikują się z " zapleczem ", który faktycznie robi rzeczy. Ponieważ Blender jest OpenSource (i jest licencjonowany jako GPL), nie powinno być problemu z utworzeniem dla niego nowego GUI w innym języku, ale to zależy głównie od języka. Język musiałby jakoś komunikować się z zapleczem. W większości języków istnieje zazwyczaj sposób " zawijania " plików binarnych, aby można było ich używać jako bibliotek, ale jest to zależne od języka.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *