The Final Quest - SCM&P TechDemo 1.2
The Final Quest
SCM&P TechDemo (Światła, Cienie, Materiały i Postprocessing)
Wersja 1.2, 17 maja 2007
O co chodzi?
The Final Quest to mój wielki projekt, który w zamierzeniu ma być silnikiem graficznym 3D.
Więcej o projekcie: The Final Quest.
Niniejsze demo prezentuje aktualny stan prac.
Jak przystało na demo techniczne, nie jest piękne ani przygotowane z myślą o urodzie.
Ma na celu zaprezentować możliwości napisanego dotychczas kodu.
Po co powstało? Żeby
1. Pochwalić się,
2. Sprawdzić, jak i czy w ogóle zadziała na innych kartach graficznych.
Więcej o silniku
Demo pokazuje przede wszystkim to, co napisałem ostatnio a co jest wg mojej
obecnej wiedzy sercem silnika, mianowicie: światła, cienie, materiały oraz
dodatkowo efekty specjalne postprocessingu.
W chwili obecnej projekt posiada już:
- Moduły bazowe
- Moduł absolutnie bazowy - operacje na łańcuchach, konwersje itp.
- Moduł matematyczny
- Moduł obsługi błędów - klasy wyjątków
- Parser XNL2
- Moduł do obsługi plików konfiguracyjnych
- Strumienie
- Logger
- Profiler
- Asynchroniczna konsola
- Szkielet
- Szkielet Direct3D
- Manager zasobów
- Moduł rysowania grafiki 2D
- Moduł GUI oraz kontrolki
- Silnik
- Podstawowa struktura silnika
- Manager kompilowanych na żądanie shaderów
- Światła
- Cienie (Shadow Mapping)
- Materiały
- Efekty postprocessingu
Tego natomiast nie ma i jest do zrobienia:
- Silnik
- Prawdziwe wczytywanie siatek modeli
- Podział przestrzeni
- Outdoor i wszystko z tym związane
- Porządne efekty cząsteczkowe
- Kryształki, lasery, kable i wszystkie inne specjalne obiekty
- Woda, porządne niebo, efekty pogodowe i wszystkie inne specjalne efekty
- Gra...
Stara wersja moich modułów bazowych jest wydana w postaci osobnej biblioteki
na licencji GNU LGPL - CommonLib 6.0.
Nową, której użyłem w demie, opublikuję tego lata.
Sterowanie
Przede wszystkim menu, które znajdziesz w demie po kliknięciu na okrągły przycisk.
Ponadto:
- ESC - Wyjście
- W, S, A, D, Q, E - Poruszanie się
- Shift + W, S, A, D, Q, E - Szybsze poruszanie się
- Przycisk + ruch myszką - Obracanie kamery
- Ctrl + Enter - Pełny ekran / okno
Wymagania
- Komputer PC
- Karta graficzna z Vertex Shader i Pixel Shader minimum 2.0 (GeForce FX lub lepsza)
- System Windows
- DirectX 9.0c April 2006 Update (lub dowolny DirectX 9.0c + plik d3dx9_30.dll)
Więcej o wymaganiach: Wymagania.
Problemy
Demo nie działa? Wyłącza się? W ogóle się nie włącza? Wysypuje się z błędem
ochrony? Może działa ale nieprawidłowo? Nie widać cieni albo cienie działają
źle? Oto co możesz zrobić:
Po pierwsze - powiadom mnie o tym. Wyślij do mnie e-mail
załączając:
- Informację co dokładnie zrobiłeś zanim błąd się pojawił
- Informację jaką masz kartę graficzną
- Pliki Errors.log i Log.txt
Po drugie, spróbuj stopniowo ograniczać możliwości silnika zmieniając w pliku Config.xnl
kolejno:
- Display/FullScreen = false
- Display/PresentationInterval = DEFAULT
- Engine/PostProcessing/Enabled = false
- Engine/EnvironmentalMapping/Enabled = false
- Engine/ShadowMapping - w tej sekcji zakomentuj tą z czterech opcji która jest
odkomentowana a odkomentuj następną. Komentarze w XNL zapisuje się między "{/" i "/}".
- Engine/ShadowMapping/Enabled = false
- Engine/Lighting = false
Lub jeszcze inne ustawienia, jeśli znasz się na rzeczy i masz pomysł co można
przestawić żeby usunąć problem.
Co nowego
Wersja 1.2 (17 maja 2007)
- Poprawione cienie dla świateł kierunkowych - już nie ma LiSPSM, powinno wyglądać lepiej.
- Dodany nowy tryb pracy cieni, który pakuje Shadow Mapę do składowych tekstury A8R8G8B8.
Został ustawiony jako domyślny.
To już nie ma prawa komuś nie zadziałać :P
- Poprawiony (mam nadzieję) pomiar czasu na maszynach wielordzeniowych poprzez użycie funkcji SetThreadAffinityMask.
Wersja 1.1 (10 maja 2007)
- Poprawiona szczegółowość raportowania błędów w TerrainEntity::OnDeviceCreate.
Użyte zostały
- Microsoft Visual C++ 2005
- DirectX 9.0c
- GIMP
- Bitmap Font Generator
- Tekstury zrobione przeze mnie lub z różnych źródeł...
- Model "shapes1" z DirectX SDK
Autor
Adam Sawicki
E-mail: regedit@regedit.gamedev.pl
WWW: http://regedit.gamedev.pl
IRC: #warsztat @ PolNet
Gadu-Gadu: 2272474