>
Program "KOSMOS" został napisany w środowisku Visual C++ z wykorzystaniem OpenGL. Symuluje on zachowanie układu słonecznego. Do tworzenia okna i obsługi klawiatury w zdecydowałem się wykorzystać sytem Windows, a nie OpenGL. Pozwoliło mi to na uzyskanie profesjonalnego wyglądu aplikacji (pełny ekran, niewidoczny kursor myszy) i sprawniejszą obsługe klawiatury ( naciśnięcie kilku klawiszy nie zatrzymuje przetwarzania). Program wykorzystuje 2 dodatkowe pliki nagłowkowe tj. "bitmap.h" oraz "HiResTimer.h". Pierwsza z nich pomaga ładować tekstury, druga nie pozwala przekroczyć podczas animacji 60 klatek na sekundę. Oba z tych plików jak i szablon aplikacji pełnoekranowej zostały zapożyczone z książki "OpenGL. Programowanie gier" autorstwa Kevina Hawkinsa i Dave'a Astle'a, wyd. Helion. Podstawową funkcją programu jest WinMain(), która tworzy okno porzez funkcje SetupWindow, oraz wywołuje najważniejszą funkcję programu - Rysuj(), a zaraz potem SwapBuffers(). Funkcja WndProc() odpowiada za obsługę komunikatów i obsługę klawiatury. KillWindow() i Cleanup() wywoływane sa na zakończenie programu, zamykają okno i czyszczą pamięć. ResizeScene() i UpdateProjection() odpowiadają odpowiednio za przeskalowanie okna w przypadku zmiany jego rozmiarów oraz za wybór macierzy rzutowania i parametry perspektywy. InitializeScene() jest funkcją wywoływana jednokrotnie. Konfiguruje ona parametry maszyny stanów OpenGL, ustawia parametry świateł oraz ładuje tekstury.
Najwazniejsza funkcja Rysuj() powoduje narysowanie planet, Słońca, gwiazd i planetoid oraz umiejscowienie w tym układzie obserwatora. Funkcja Widok() definiuje przekształcenia związane z ruchem obserwatora i jego obrotem.
Obszar zaprezentowanego tutaj świata ograniczony jest przez sześcian którego ściany pokryte sa teksturami. W centrum układu znajduje sie Słońce, które obraca się dookoła własnej osi. Wraz z nim wszystkie planety Układu Słonecznego. Oprócz Słońca i Ziemi wszystkie planety pokryte są teksturami, za które posłużyły prawdziwe zdjęcia odpowiednio obrobione ( wysokość i szerokość bitmapy musi być potęgą dwójki ). Słońce jest żródłem światła i rzuca cień na obiekty krążące dookoła. Np. widać, że trzecia planeta od Słońca (Ziemia) jest z jednej strony oświetlona bardziej niż z drugiej. Ponieważ układ ten jest tylko przybliżeniem rzeczywistości, więc tylko Ziemia ma księżyc (kręci się wokól Ziemi). Zachowane zostały w przybliżeniu proporcje wielkości, prędkośc ruchu wokół Słońca i odległośc od Słońca planet. Np. Pluton kręci się wokól Słońca najwolniej, Merkury najszybciej. Wszystkie planety kręca się też wokół własnej osi. Do tego aby "tchnąć w układ trochę życia", w różnych miejscach przelatują planetoidy.