Autor Wątek:  Odp: Exe - zmiany w stosie graficznym i dźwiękowym  (Przeczytany 16670 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline skorakora

  • Wiadomości: 68
    • Zobacz profil
  • Otrzymane polubienia: 34
Odp: Exe - zmiany w stosie graficznym i dźwiękowym
« Odpowiedź #60 dnia: 30 Września 2022, 01:44:29 »
Pytanie dla zgromadzonych tutaj fanów technologii.
Da radę tą kamerę jakoś obniżyć?

Offline MichauSto

  • Wiadomości: 0
    • Zobacz profil
  • Otrzymane polubienia: 19
Odp: Exe - zmiany w stosie graficznym i dźwiękowym
« Odpowiedź #61 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ą:
  • 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
Znane ograniczenia:
  • 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.
Przykładowy asset:
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:
« Ostatnia zmiana: 14 Listopada 2022, 19:08:33 wysłana przez MaciejM »