Hej, Chciałem podrzucić…

Hej,

Chciałem podrzucić aktalizację rozwoju mojego silnika do gier #clusek. Silnik ma już prawie 3 miesiące, ale ilość nowy rzeczy, która została dodana do silnika od ostatniego wpisu jest bardzo duża. Od ostatniego wpisu grafika bardzo się poprawiła i zawdzięcza to zmianom, które zostały wprowadzone:
– Dodano obsługę normal map;
– Dodano renderowanie do tekstury;
– Zaimplementowano wsparcie HDR;
– Wprowadzono efekty post processingowe (kilka tone mapperów, korekcja gamma);
– Dodano możliwość modyfikowania stosu efektów post processingowy z pliku lub z gui;
– Stworzono skrypt do przygotowywania silnika w wersji do dystrybucji dla użytkownika końcowego;
– Przebudowano wygląd GUI.

Dodatkowo wydałem pierwszą wersję silnika w postaci wykonywalnej, która jest dostępna tutaj. Nie mniej nadal bardzo rekomendowane jest budowanie silnika z kodu źródłowego, który jest dostępny tutaj. Budowanie z kodu zapewnia to, że zawsze mamy ostanią, najbardziej aktualną wersję, ale jednocześnie rozumiem, że nie każdy ma na komputerze narzędzia do budowania projektów w C++.

Od razu zaznaczam, że na zdjęciu widać scenę wyrenderowaną bez antyaliasingu. Chciałbym dodać ponownie dodać ten efekt, ale nie jest to takie proste, ponieważ nie współgra to tak dobrze z efektami post procesingowymi, które teraz dodawałem. Poza tym, że chciałbym przez kolejny miesiąc dodać brakujący antyaliasing, to chciałbym również zaimplementować PBR, które pozwoli wejść na dużo wyższy poziom renderera. Chcę użyć algorytmy z UE4 oraz dodać pełną kompatybilność materiałów z Unity. Dodatkowo staram się dobrać wartości tak, żeby uzyskać materiały z PBR na poziomie Uncharted. Osiągnięcie poziomu Uncharted nie jest proste, ale jest już zaimplementowany bardzo podobny tone mapper.

Jeżeli ktoś ma jakieś pytanie to zapraszam do pytania w komentarzach. Jeżeli będę umiał to chętnie odpowiem. Dodatkowo, jeżeli ktoś chce coś skrytykować konstruktywnie to zapraszam, ponieważ to bardzo dużo daje. Staram się każdą uwagę przemyśleć i jeżeli jest dobra to zaimplementować. Oczywiście nie wszystko jest takie proste (np. wyłączenie obsługi wyjątków ze względu na biblioteki).

#programowanie #gamedev #gry #directx #grafikakomputerowa #clusek