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