1
Bocznica / Odp: Exe - zmiany w stosie graficznym i dźwiękowym
« dnia: 31 Października 2022, 19:42:54 »
Bocznica, zgodnie z prośbą.
@MaciejM.
Szanowni Państwo,
myślę że nadszedł właściwy czas, cobym przedstawił swoją gałązkę skupioną przede wszystkim wokół zmian w rendererze gl3.3 i shaderach: https://github.com/MichauSto/maszyna/tree/sim.
Aktualne zmiany obejmują:
https://eu07.pl/userfiles/27213/wls50_v1.7z
Kanały tekstury params (mat_phys, mat_normalmap_phys):
R = Metal; G = Gloss; B = AO
Prezentacja shadera: załączniki
eu07.exe:
@MaciejM.
Szanowni Państwo,
myślę że nadszedł właściwy czas, cobym przedstawił swoją gałązkę skupioną przede wszystkim wokół zmian w rendererze gl3.3 i shaderach: https://github.com/MichauSto/maszyna/tree/sim.
Aktualne zmiany obejmują:
- Wczytywanie tekstur:
- obsługę tekstur DDS z grupy BC4-5(RGTC) i BPTC, oraz bitmapowych half float dla których nie jest dostępna kompresja sprzętowa
- wczytywanie cubemap
- Wczytywanie modeli t3d:
- Poprawiona transformacja układu współrzędnych która zachowuje ortogonalny tangent-space
- Shadery:
- Obliczanie macierzy TBN na etapie fragment-shadera (zachowanie ujednolicone z silnikami gier oraz innym oprogramowaniem 3D traktowanym jako "industry standard")
- Fragment shadery (mat_phys, mat_normalmap_phys) z oświetleniem PBR oraz ambientem rozszerzonym o IBL (image-based lighting) dla uzyskania fotorealistycznego efektu; formuły adaptowane są z Godot Engine, opensourcowego silnika gier na licencji MIT
- Pipeline 3.3:
- Dodany globalny efekt Bloom, zaimplementowany w oparciu o rozwiązanie z Call of Duty: Advanced Warfare, zaprezentowane na SIGGRAPH 2014 (dokładne źródło zakomentowane w includzie)
- DynObj
- Prototyp nowego systemu animacji w oparciu o keyframe'y; ich użycie jest opcjonalne i nie wyklucza się wzajemnie z dotychczasowymi animacjami w mmd
- Dodatkowe skompresowane formaty DDS są dostępne na poziomie gl3.3 jedynie w formie rozszerzeń (ich obsługa jest aktualnie obecna u obu wiodących vendorów, i stanowi część standardu OpenGL od specyfikacji 4.2 wzwyż). Znacząca przewaga nad DXT objawia się w braku widocznych artefaktów kompresji blokowej, i zaleca się przyjęcie tego formatu przynajmniej dla assetów najwyższej jakości i obowiązkowo tych korzystających z oświetlenia PBR, gdzie widoczne przy użyciu DXT artefakty często są spotęgowane przez kontrastową plamkę specular.
- Cubemapy IBL oraz lut dla dystrybucji BRDF dla fizycznego shadera nie są przypisane globalnie dla sceny i wymagają każdorazowego dopisania w .mat. Zachowanie to zostanie naprawione przed złożeniem PR.
https://eu07.pl/userfiles/27213/wls50_v1.7z
Kanały tekstury params (mat_phys, mat_normalmap_phys):
R = Metal; G = Gloss; B = AO
Prezentacja shadera: załączniki
eu07.exe:
- 2022-10-31: Naprawiony crash w sytuacji gdy gra nie jest uruchamiana z włączoną co najmniej jedną z opcji, motion blur lub chromatic aberration:
https://eu07.pl/userfiles/27213/eu07-x64_2022-10-31.exe