Arkanoid 3D krok po kroku
23.04.2010 - Olgierd Humeńczuk
Celem tego cyklu jest stworzenie gry komputerowej wzorowanej na pomyśle znanym z klasycznego już Arkanoid. Postaramy się odmłodzić tę grę dodając jej jeden wymiar, dzięki czemu nie tylko zyska przydomek 3d ale pozwoli nam się "pobawić" grafiką trójwymiarową. Grę będziemy pisać od podstaw w języku C++. Dzięki artykułom z tego cyklu nauczymy się:
Podczas implementacji naszej gry poznamy biblioteki: SDL, Open GL, Open AL. Tworzenie okna i kontekstu Open GLDo zarządzania oknem i zdarzeniami generowanymi przez system operacyjny oraz użytkownika użyjemy biblioteki SDL. Biblioteka ta pozwala nam nie myśleć o specyfice systemu operacyjnego na którym działać będzie nasza aplikacja, co zaoszczędzi nam kilka godzin żmudnego kodowania. Napiszmy zatem pierwszą funkcję wykorzystującą polecenia z SDL odpowiedzialną za inicjalizację biblioteki i utworzenie okna z przypiętym do niego kontekstem Open GL:
Przyjrzyjmy się teraz przedstawionemu fragmentowi kodu:
Rys. 1 Przykładowy obraz bufora głębi. Podwójne buforowanie to technika polegająca na używaniu dwóch identycznych buforów w pamięci i zapisywaniu do jednego buforu podczas gdy drugi zajęty jest przenoszeniem danych pomiędzy pamięcią karty graficznej a oknem naszej aplikacji. Podwójne buforowanie podwaja ilość używanej pamięci dając w zamian bardziej płynną animację. Synchronizacja pionowa odpowiada za synchronizację wyświetlania monitora z generowaniem obrazu przez kartą graficzną. Brak synchronizacji pionowej może spowodować błędy w renderowanym obrazie. Z reguły wyłącza się synchronizację pionową, aby zmierzyć wydajność programu ( mierzy się ją w klatkach na sekundę ). Bufory takie jak bufor głębi czy bufor szablony zdefiniowane są per piksel ( co oznacza, że jeden element bufora odpowiada dokładnie jednemu pikselowi na ekranie ) i domyślnie używają wartości typu integer. Bufor głębi, w swoim podstawowym zastosowaniu odpowiada za poprawne wyświetlanie obrazów w których obiekty geometryczne renderowane są w losowej kolejności i mogą zasłaniać się nawzajem Bardziej szczegółowo omówimy bufory specjalne przy okazji ich wykorzystania w kodzie naszej gry. Tak przygotowane okno jest gotowe do wyświetlania obrazów jakie stworzymy za pomocą biblioteki Open GL.
(2 ocen) |
Copyright © 2008-2010 Wrocławski Portal Informatyczny
design: rafalpolito.com