• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Własny silnik graficzny oraz własne skrypty C ++

0 głosów
1,340 wizyt
pytanie zadane 5 stycznia 2018 w C i C++ przez DamianGorajczyk_1984 Nowicjusz (120 p.)
Cześć , witam wszystkich ;) Chciałem zadać takie pytanie :

Otóż jestem na etapie tworzenia własnego silniczka graficznego pisanego w technologii OpenGL i  C/C ++ w Windows , w pewnym momencie człowiek dochodzi do wniosku że przydały by się skrypty do takie silniczka , otóż skrypty pisane w języku C ++ i tu jest moje pytanie , jak się zabrać do tego , tzn jak dołączyć kod źródłowy skryptu C ++ do pliku wykonalnego exe mojego silnika 3D tak żeby on wykonywał ten skrypt .

Dzięki z góry za odpowiedź ;) pozdrawiam !
1
komentarz 5 stycznia 2018 przez criss Mędrzec (172,570 p.)
Dlaczego nie lua albo własny język skryptowy?
1
komentarz 5 stycznia 2018 przez draghan VIP (106,230 p.)

Dlaczego nie lua albo własny język skryptowy?

O ile Luę w pełni rozumiem, to nie widzę sensu w tworzeniu milionowego z kolei autorskiego języka skryptowego. Dlaczego uważasz, że coś własnego byłoby lepszym wyjściem, niż skrypty w C++?

komentarz 5 stycznia 2018 przez criss Mędrzec (172,570 p.)
Bo na ten moment nie mam pomysłu jak by to miało działać. Chyba ze myślisz o napisaniu parsera/interpretera cpp, ale to imo byłoby przerostem formy nad treścią. Chyba ze baaardzo by się ten cpp okroiło z ficzerow  (co ofc w pewnym stopniu jest zrozumiałe jako ze ma to być jako język skryptowy) ale to z kolei byłoby kłopotliwe w użytkowaniu.
komentarz 5 stycznia 2018 przez j23 Mędrzec (195,240 p.)

Bo na ten moment nie mam pomysłu jak by to miało działać.

W sumie dość prosto. Użytkownik musiałby tylko zainstalować kompilator gcc/clang. Choć użycie C++ jako języka skryptowego dla silnika graficznego to IMO lekka przesada.

komentarz 5 stycznia 2018 przez draghan VIP (106,230 p.)
Istnieją interpretery czy kompilatory kodu C++, które można osadzić w aplikacji hoście. Na pewno łatwiej to zrobić, niż napisać własny, w pełni funkcjonalny język skryptowy.
komentarz 5 stycznia 2018 przez Milesq Nałogowiec (32,020 p.)
można też w pythonie pisać skrypt albo kompilować C++ do formy dll'a

3 odpowiedzi

+1 głos
odpowiedź 5 stycznia 2018 przez Arkadiusz Sikorski Pasjonat (20,160 p.)

C++ i lua to fajne i przyjemne połączenie:

  • łatwo osadzić interpreter w aplikacji-hoście,
  • niespecjalnie skomplikowane przekazywanie danych między hostem a interpreterem (wszystko działa w formie stosu),
  • język lua nie jest trudny,
  • nie potrzeba się bawić w żadną kompilację każdego nowego pluginu czy co ważniejsze, pisanie własnego interpretera (dla C++ ani autorskiego języka skryptowego).

Przykłady: skrypty na przedmioty do Garry's moda, skrypty dla CS2D i o ile się nie mylę, to któryś Wiedźmin/Wiedźminy też korzystał/korzystały ze skryptów lua. 

0 głosów
odpowiedź 5 stycznia 2018 przez Pascal Bywalec (2,720 p.)
edycja 5 stycznia 2018 przez Pascal
Mógłbyś użyć prostego systemu pluginów, napisać własny interpreter własnego języka skryptowego lub też użyć gotowych rozwiązań np skryptów lua

Edit 1: całkowite przebudowanie wypowiedzi :P
Edit 2: poprawa literówek.
komentarz 5 stycznia 2018 przez criss Mędrzec (172,570 p.)
Możesz rozwinąć? Nie rozumiem co masz na myśli
komentarz 5 stycznia 2018 przez Pascal Bywalec (2,720 p.)
Mam na myśli prosty system pluginów.

https://www.youtube.com/watch?v=qJ3vymx5IJk
https://www.youtube.com/watch?v=Tj3LYjFMUdI

Po odpowiednich modyfikacjach powinien umożliwić ci na zrobienie tego co chcesz
komentarz 5 stycznia 2018 przez DamianGorajczyk_1984 Nowicjusz (120 p.)
Cześć , właśnie myślałem wcześniej o tym aby stworzyć własny prosty język skryptowy , który by można było wykonywać w trakcie Runtime mojego silniczka , jednak właśnie tutaj zaczynają się schody bo trzeba by napisać właśnie ten interpreter od podstaw oraz zastosować proste algorytmy RPN(Reverse Polish Notation - Odwrotnej Notacji Polskiej) ,aby wyrażenia algebraiczne takie jak przekształcenia np. wektorowe i macierzowe wykonywały się . jeśli chodzi o pliki cpp skryptów to w moim silniczku już mam napisane operatory wykonujące właśnie takie działania algebry liniwej i tylko własnie szukam sposobu jak mniej więcej można by dołączyć taki plik cpp. skryptowy - no człowiek w końcu już trochę siedzi w tym C ++ i w dodatku kod C ++ kompilowany jest wysoko wydajny , chociaż rzeczywiście napisanie własnego języka skryptu i przepuszczenie go w silniczku przez interpreter jest faktycznie fajnym pomysłem - ale dużo czasu może zająć ;) Pozdrawiam
komentarz 5 stycznia 2018 przez Pascal Bywalec (2,720 p.)
edycja 5 stycznia 2018 przez Pascal
W internecie jest dużo bibliotek do obsługi skryptów lua, w skryptach tych można "rejestrować" funkcje z c++.

https://eliasdaler.wordpress.com/2014/07/18/using-lua-with-cpp-luabridge/

 

edit 1: pomyliłem artykuły :P
komentarz 5 stycznia 2018 przez criss Mędrzec (172,570 p.)

@Pascal - nie oglądałem filmików, ale słowo kluczowe "pluginy" już mi podpowiedziały o czym myślisz. Nie głupie. Może warto rozważyć i przede wszystkim rozwinąć troche ten pomysł (strzelam, że obejrzenie podesłanych przez ciebie materiałów Gynvaela pomoże :P). Wydaje się to troche kombajnem, ale może być ciekawe. 

@DamianGorajczyk - sam interpreter to nie jest duży problem, a może być ciekawe doświadczenie. No ale trzeba wziąć pod uwage, że to najmniej wydajne rozwiązanie. Takim czymś pomiędzy własnym interpreterem a systemem pluginów jest lua i to wydaje mi się najsensowniejszym rozwiązaniem (ostrzegam, że zupełnie nie jestem w temacie lua, więc dlatego wydaje mi się), chociaż chętnie zobaczyłbym jak radzą sobie dwa pozostałe.

0 głosów
odpowiedź 5 stycznia 2018 przez Knayder Nałogowiec (37,640 p.)
Taki mam pomysł, że po prostu z poziomu interfejsu tego silnika (Zgaduję że to silnik z jakimś tam edytorem czegoś tam), kompilujesz wszystko. Główne moduły silnika byłby już wcześniej skompilowane, a ten kod który pisze użytkownik byłby po prostu dołączany do kompilacji.

Podobne pytania

0 głosów
1 odpowiedź 1,241 wizyt
pytanie zadane 15 maja 2017 w Inne języki przez kalendarmenn Obywatel (1,270 p.)
0 głosów
1 odpowiedź 945 wizyt
pytanie zadane 16 czerwca 2018 w C i C++ przez Zayebisty Gaduła (3,200 p.)
0 głosów
2 odpowiedzi 521 wizyt
pytanie zadane 13 sierpnia 2015 w Offtop przez Bartek09797 Początkujący (440 p.)

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

62,787 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...