Mimo że TODO zawierało jeszcze kilka ważnych pozycji, dwa miesiące po rozpoczęciu postanowiłem zakończyć prace nad RayTracer-em. Uznałem iż zaimplementowanie kolejnych cech nie ma większego sensu.
Od dwóch tygodni pracuje nad wcześniej zapowiadanym silnikiem 3D. Niżej znajduje się spis moich dotychczasowych dokonań:
1. Ogólne
- singleton
- definicje podstawowych typów
2. Kontrola pracy silnika
- obsługa błędów
- stos komunikatów o błędzie (zewnętrzne błędy krytyczne)
- makra współpracujące z loggerem (błędy wewnętrzne)
- assert
- cond
- logger
- logowanie do pliku *.html
- logowanie do konsoli
- profiler
- prosty w użyciu
- generowanie statystyk
3. Framework
- okno Windows
- odbieranie komunikatów od systemu
- obsługa wejścia (w tym joystick-a)
- urządzenie Direct3D
- utrata urządzenia
- zmiana ustawień
- główna pętla programu
- odmierzanie czasu
- dostosowywanie się do stanów aplikacji
- ustawienia systemowe
- grafika
- dźwięk
4. System ustawień wejścia
- intuicyjne przypisywanie wejść odpowiednim akcjom w grze
- obsługa różnych wejść
Niestety muszę przerwać prace nad silnikiem na jakiś czas (co najmniej dwa tygodnie). Po przerwie zamierzam zabrać się za zarządzanie zasobami i renderer.