Kody przykładów programowych

Poniższe pliki zawierają kody źródłowe programów zamieszczonych w książce "Wprowadzenie do OpenGL. Programowanie zastosowań graficznych."
oraz przykładowe tekstury do environment mappingu.

zrodla.zip (10kB) Kody źródłowe programów przykładowych
win32.zip (362kB) Kody źródłowe programów oraz pliki wykonywalne dla Windows 95/98/NT
lin_tar.gz (28kB) Kody źródłowe programów oraz pliki wykonywalne dla Linux-a
env.zip (482kB) Trzy tekstury do environment mapping-u

Pierwsze dwa pliki zawierają kody przeznaczone dla kompilatora Microsoft Visual C++ 5.0 pod jedną z wersji Windows (95/98/NT).
Visual standordowo powinien mieć zainstalowane odpowiednie biblioteki oraz pliki nagłówkowe. Tak więc dla pomyślnej kompilacji musimy jedynie:

    Bez tworzenia jakiegokolwiek nowego projektu otwieramy odpowiedni plik ".c". Następnie wywołujemy kompilację poprzez menu: Build / Compile. Visual zapyta nas wówczas czy ma utworzyć nowy projekt, na co odpowiadamy twierdząco. Po zakończeniu kompilacji musimy uzupełnić listę bibliotek jakie zostaną dolinkowane do naszego programu. Możemy tego dokonać poprzez menu: Project / Settings... lub klawisz skrótu Alt + F7. Ukaże się nam okienko dialogowe Project Settings. Tam w zakładce Link w polu Object/library modules: dodajemy trzy biblioteki:

    • opengl32.lib
    • glu32.lib
    • glaux.lib
Po zatwierdzeniu zmian w okienku dialogowym, pozostaje nam już tylko linkowanie - menu: Build / Build lub klawisz skrótu F7.

Trzeci z zamieszczonych plików zawiera kody źródłowe dla Linux-a.
Tutaj musimy postarać się o odpowiednie biblioteki, np. Mesa3D, która jest bezpłatnym odpowiednikiem OpenGL dla Linux-a. Można ją ściągnąć ze strony domowej organizacji, która zajmuje się rozwojem Mesy (patrz Ciekawe linki).
Sama kompilacja jest tutaj nieco prostsza - wystarczy w katalogu w którym umieszczone są pliki *.c wraz z Makefile, z linii poleceń wywołać program make.


Czwarty plik zawiera tekstury, które mogą zostać wykorzystane przy efekcie lustrzanego odbicia otoczenia (environment-mapping). Wykorzystuje je jeden z przykładowych programów - spirala.c