• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

GEE - Własny silnik do tworzenia gier 3D [C++/OpenGL]

VPS Starter Arubacloud
+3 głosów
583 wizyt
pytanie zadane 1 czerwca 2021 w Nasze projekty przez swetroniusz Użytkownik (540 p.)

Cześć!

Muszę przyznać, że odkąd ostatni raz coś tu pokazałem sporo się zmieniło cheeky. Jakoś w październiku 2019, po roku nauki OpenGL, wpadłem na pomysł żeby spróbować stworzyć własny silnik do tworzenia gier. Coś jak UE4, tylko na mniejszą skalę, o wiele uboższą wersję, ale przez to spójną i łatwiejszą do ogarnięcia (co nie jest takie łatwe do osiągnięcia jak mi się wydawało).

Po ponad półtora roku mogę Wam zaprezentować zalążek...

 My Game Engine Engine (tak, to najlepsze co mogłem wymyślić)

Lista rzeczy które chyba wspiera mój silnik

  • Podstawowe features silnika:
  • Projekt podzielony na sceny, wsparcie dla wielu scen
  • System aktorów i komponentów (trochę jak w UE4)
  • Ładowanie modeli z plików
  • System HierarchyTree - pliki modeli 3D są zazwyczaj hierarchiczne, dlatego konwertowane są na takie HierarchyTree, w planach edytowanie tych tree i zapisywanie ich znowu na plik (jeśli np. chcemy sprawdzić i naprawić zepsuty plik modelu).
  • Serializacja praktycznie wszystkiego
  • System eventów
  • Staram się utrzymać multiplatformowość, lecz nie próbowałem tego kompilować na linuxie.
  • Renderowanie (OpenGL)
  • PBR (wraz z IBL), BRDF Cook-Torrance
  • SMAA1X, SMAAT2X (temporal AA, wykorzystuje velocity buffer który może też zostać użyty do zaimplementowania motion blur)
  • SSAO
  • HDR+Bloom
  • Shadow mapping (omnidirectional i 2D dla directional lights/niektórych spot lights)
  • Normal mapping
  • Parallax Occlusion Mapping
  • Deferred shading
  • System materiałów (który jest trochę upośledzony) - albedo, roughness, metallic, ao, normal, depth maps, kolory jeśli nie ma tekstur, animacja materiałów.
  • Animowanie meshów (skeletal meshes)
  • Fizyka przy użyciu PhysX (zaimplementowałem tylko podstawowe funkcje)
  • Kule, kostki i bake'owanie własnych meshów
  • Audio: prymitywne, wykorzystuje OpenAL soft
  • Ładowanie dźwięków z .wav
  • Dźwięki pozycyjne (3D)
  • Własny edytor projektów:
  • Dodawanie, usuwanie i edytowanie aktorów i komponentów w real-time
  • Dość przyjemny interfejs w kodzie do dodawania własnych przycisków do edytora, np. jeśli tworzymy własne klasy
  • Podgląd meshów, materiałów, zmiana ustawień w real-time (które się jeszcze nie zapisują).

 

Zapraszam do przetestowania!

  • W folderze Projects znajdziesz 2 przykładowe projekty.
  • Wszystko co niebieskie lub fioletowe można kliknąć (to przyciski)
  • Rozszerzanie okna jeszcze nie działa
  • TAB aby przełączyć między kontrolowaniem kamery a edytorem, F2 aby podejrzeć modele kolizji
  • Wymaga OpenGL 4.0 i zainstalowanego Visual C++ 2015-2019 Redistributable (instalka znajduje się w folderze)

Github - zerknij do brancha without_assets zeby pobrac lżejszą wersje. Uwaga: nie odpowiadam za potencjalne szkody na psychice spowodowane próbą kompilacji tego potwora - brak wsparcia CMake, bo za bardzo tego nie ogarniam.

.EXE ~150MB, lżejsza wersja

VirusTotal (jakby fakt że jest to projekt open-source nie wystarczał)

 

Jak na razie nie polecam nic w tym tworzyć - czasami się crashuje. Spora część kodu jest do zmiany, mój styl programowania się mocno przez cały ten czas zmienił. Jestem otwarty na wszelkie sugestie, propozycje i krytykę.

Dzięki za poświęcony czas.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 827 wizyt
pytanie zadane 22 listopada 2020 w C i C++ przez Konto123 Nowicjusz (120 p.)
+1 głos
2 odpowiedzi 276 wizyt
0 głosów
1 odpowiedź 241 wizyt

93,023 zapytań

141,986 odpowiedzi

321,290 komentarzy

62,370 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...