Jump to content

c# Demax Engine - Open Source


ZaKlaus

Recommended Posts

Demax

 

        Vykreslovací 3D engine s rozšírenou podporou modifikácií. Využíva OpenGL vykreslovaciu knižnicu obalenú OpenTK. Pre spracovanie fyzikálnych javov používam Jitter Physics. Taktiež som implementoval podporu jazyka IronPython, nech je život ľahší.

 

Funkcie:

  • - Primitívny model hierarchie, kde základnou jednotkou je komponent. Každý komponent musí byť súčasťou entity, ktorá je zasa tvorená levelom.
  • - Jednoduchý vykreslovací systém, ktorý využíva OpenGL 3.3 na spracovanie pokročilých shaderov. Momentálne je možné vykresliť statické modely tvorené z primitív alebo načítané z Wavefront OBJ formátu. Obj parser momentálne podporuje definície materiálov (zatiaľ využíva len textúry), bodov, UV súradníc a normálov. Strany využíva na dodatočné spracovanie. Parser dokáže načítať multiobjektové modely (tj. modely, kt. sa skladajú z viacerých meshov). Pri vykreslovaní sa používa VBO (Zásobník množiny bodov), čiže parser musí dodatočne vypočítať strany na základe existujúcich informácií. V ukážkovom kóde poskytujem shadery pre fullbright otexturované modely, ale aj nasvetlené modely (neskôr príde implementácia snímkového zásobníka, tj. možná podpora tieňov)
  • - Kolízie. Vďaka Jitter je realizácia fyziky pomerne jednoduchá. Pre primitívy (kocka, ...) využíva tieňové kolízie. Pre zložité modely je možné použiť per-vertex kolízie (sú veľmí náročné na CPU)
  • - IronPython: Testy programujem v IronPython, kt. ma plný prístup k použitým knižniciam
  • - ...

Engine je dostupný pod BSD licenciou.

60-70% kódu je momentálne dočasné. Slúži ako dôkaz o funkčnosti a v budúcnosti bude prečistené a zdokumentované.

 

Engine je dostupný tu: https://github.com/zaklaus/demax

 

Engine slúži na edukačné účely.

Všetky testy sú dostupné na GitHub-e. Na vývoj používam Visual Studio 2013.

V prípade záujmu môžete príspevky posielať na dev vetvu, cez Pull Request.

Chyby môžete hlásiť v Issues sekcií.

 

Príspevok budem časom upravovať.

Edited by ZaKlaus
  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

  • Globální moderátor

Tak ako tvoj spolupracovník tento engine testujem od takmer prvého buildu :d čo dodať, je to proste paráda, dorobiť nejaké veci, pridať editor a konkurencia Unity je na svete :d :D :d

Link to comment
Share on other sites

Po novom engine podporuje i načítavanie svetelných máp:

 

lfdD7jR.jpg

 

(Avšak, ukážka nie je najkvalitnejšia, keďže mám momentálne dočasný počítač, na ktorom mám problém spustiť 3 nenáročné aplikácie naraz :) )

 

Svetelná mapa je bakovaná v Blenderi, engine avšak podporuje aj pokročilejšie scény (neskôr snáď niečo znova prídám).

 

Lightmap shader je jemne upravená verzia texture fullbright shadera, len používa 2 bodový posun pri vykreslovaní k zamedzeniu artefaktov v scéne.

 

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 2 months later...

Malý update:

- pridaná vrstva RenderToTexture vykreslovania, tj. podpora post-processingu (vykonávanie dodatočných efektov v screen-space priestore, napr. blur, bloom, AO, atp...)

- optimalizácia vykreslovania..

- Čiastočná podpora frame-based animácií.

 

TODO:

https://trello.com/b/dtxzQnVI/demax-engine

Edited by ZaKlaus
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...