[OpenGL] Visual Studio 2010
Ostatnie zmagania na uczelni w tym semestrze za mną. Mogę więc rozpocząć cykl wpisów w pełni poświęconych OpenGL, o którym niedawno wspomniałem. Na początku oczywiście trzeba poustawiać to i owo w nowym projekcie aby odpowiadał oczekiwaniom. Zabieramy się, więc do dzieła!
O bibliotece słów kilka
Zazwyczaj przy dodawaniu nowych bibliotek, z których korzystamy, kopiujemy ich zawartość do odpowiednich folderów zawierających nagłówki, pliki .lib oraz .dll, które są przeszukiwane przez kompilator/IDE. Dla Visual Studio 2010 są to foldery
C:\Windows\System\ lub C:\Windows\System32\ (miejsce dla plików .dll) C:\Program Files\Microsoft Visual Studio 10.0\VC\include\ (miejsce dla nagłówków .h) C:\Program Files\Microsoft Visual Studio 10.0\VC\lib\ (miejsce dla bibliotek .lib)
Chcąc aby tworzony projekt był przenośny między maszynami i niezależny od zainstalowanych już bibliotek, konieczne jest odpowiednie skonfigurowanie projektu. Podstawową wymaganą biblioteką przy pracy z OpenGL jest GLUT czyli The OpenGL Utility Toolkit, która ułatwia proces tworzenia i zarządzania aplikacją. Z racji tego, że ostatnie wydanie tej biblioteki było w sierpniu 1998 roku, będę używał bliźniaczej biblioteki o otwartych źródłach FreeGLUT. Już przygotowaną paczkę dla MSVC (Microsoft Visual C++) możecie pobrać z tej strony.
Po pobraniu biblioteki, kolejne czynności jakie wykonałem to
E:\code_remote\OGL\
[list][item]stworzenie nowego repozytorium na github, dostępne pod tym linkiem [/item][item]sklonowanie go do wybranego przez siebie folderu
[/item][item]utworzenie nowego projektu w Visual Studio w podanym wyżej katalogu[/item][/list]
A teraz VS2010
Ważne jest aby zaznaczyć, że to ma być pusty projekt w języku C++. Następnie kopiujemy do projektu foldery ze ściągniętej paczki i zmieniamy nazwę folderu z bin na dll. Struktura projektu powinna wyglądać następująco
Teraz trzeba ustawić odpowiednie ścieżki aby kompilator mógł ich użyć. Z menu kontekstowego wybierz "Properties". Z rozwijanej listy na górze okna zmień z konfiguracji "Active" na "All Configurations". W zakładce "Configuration Properties ->VC++ Directories" edytuj "Include Directories" oraz "Library Directories". Do pierwszej podanej wyżej zmiennej dodaj wartość
$(ProjectDir)include\
natomiast do drugiej
$(ProjectDir)lib\
"$(ProjectDir)" jest to macro, które wskazuje bezpośrednio na katalog w którym znajduje się projekt niezależnie od miejsca w którym się znajduje. Na zdjęciu poniżej możesz zobaczyć jaką wartość ma u mnie i porównać z tą u siebie.
Oraz test
Tak skonfigurowana Solucja jest przygotowana do rozpoczęcia pracy z OpenGL. Możesz używać jej jako szablonu dla każdego nowego programu. W repozytorium na github jest odpowiedni tag, aby można było w łatwy sposób odnaleźć tą wersję. Dołączam również program demonstrujący, że powyższa konfiguracja działa. Wyświetla on biały kwadrat na czarnym tle.
Teraz możemy przejść do rzeczy istotniejszych, czyli do samego OpenGL'a. Tak więc opisem co się dzieje tam w środku i jak tym sterować zajmę się w kolejnych wpisach. Jeżeli natomiast masz jakieś sugestie lub napotkałeś problemy zachęcam do skontaktowania się. Razem na pewno znajdziemy rozwiązanie :)
Ciao :)