Symulator EU07 (i nie tylko) > Na warsztacie

 Zabawy z OpenGL 3.2/3.3+

(1/4) > >>

ShaXbee:
Zrodelka: https://github.com/shaxbee/maszyna-client

Instrukcja kompilacji:

* Pobierz zrodla z repo
* Zainstaluj Microsoft Visual Studio Express 2013
* Zainstaluj CMake
* Uruchom CMake, ustaw 'source directory' na katalog do ktorego sciagnales repo, a 'build directory' na nowy, czysty katalog
* Kliknij Configure/Generate i wybierz opcje Microsoft Visual Studio 2013
* Otworz wygenerowany projekt visual studio z katalgu ustawionego wczesniej w 'build directory'

* Dobry kompresor/dekompresor tekstur - https://code.google.com/p/crunch/
* Realistyczna przezroczystosc bez sortowania trojkatow - http://jcgt.org/published/0002/02/09/paper.pdf / https://software.intel.com/sites/default/files/m/1/2/a/5/7/37944-adaptive_transparency_hpg11.pdf
* Optymalizacja indeksow wierzcholkow - https://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html
* Nowoczesna biblioteka do konfiguracji okien i opengl - http://www.glfw.org/
* Binarne wiadomosci bez narzutu deserializacji - http://kentonv.github.io/capnproto lub https://github.com/google/flatbuffers
* Komunikacja sieciowa jako kolejki wiadomosci - http://zeromq.org/
* Programowanie w OpenGL 3.2+ - http://www.tomdalling.com/blog/modern-opengl/
* Biblioteka do operacji na macierzach i kwaternionach - https://github.com/g-truc/glm
Build:

* Obsluga zewnetrznych bibliotek w CMake: http://stackoverflow.com/questions/9689183/cmake-googletest
OpenGL:

* Minimalna wersja OpenGL 3.2
* Wyswietlanie tylko GL_TRIANGLE
* Modele w formacie binarnym, optymalizacja modeli offline
* Geometry instancing dla powtarzalnych obiektow
* Frustrum culling / system czasteczkowy na GPU przy uzyciu transform feedback
* glMultiDrawArraysIndirect - renderowanie wielu obiektow przy uzyciu jednego wywolania
* Aliasy do tekstur - binding tekstur dla wielu submodeli jednoczesnie (do 32 jednoczesnie)

ShaXbee:
Na dzien dzisiejszy mam przygotowany szkielet z wymaganymi zaleznosciami na https://github.com/shaxbee/maszyna-client. Poki co kompiluje sie na Macu i Linuxie.

Tworzenie okna i inicjalizacja kontekstu jest robiona przy pomocy GLFW, rozszerzenia OpenGL sa ladowane przy pomocy GLEW, dodatkowo dorzucilem googlemock / googletest do unit testow.
Mam gotowa integracje flatbuffers (binarna serializacja/deserializacja) na osobnym repo wiec niedlugo zaczne pisac prosty loader modeli i renderer.

Sawi:
@ShaX jako, że nie znam się na programowaniu zapytam otwarcie, jakich wad i zalet (opis dla laika) można się spodziewać po wykonaniu tej implementacji?

ShaXbee:
To jest poki co tylko zbior luznych pomyslow.
Chcialbym zeby renderer nie mial artefaktow przy renderowaniu przezroczystosci, wprowadzic lepsze oswietlenie i umozliwic szybkie i latwe wyswietlanie duzej ilosci powtarzalnych obiektow (drzewa, trawa, ogrodzenia etc.).

Edit:
@Ra: Dodalem wstepna definicje binarnego formatu modeli: https://github.com/shaxbee/maszyna-client/blob/master/client/schema/model.fbs - masz pomysl co warto tam jeszcze dodac?
@Q: Jakies postepy z kompilacja pod windowsem?

Ra:
Mi to nic nie mówi, poza tym nie mam czasu na takie rzeczy.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Likes Pro Mod