Hlavní navigace

GLUT (9): vykreslování trojrozměrných těles

Pavel Tišnovský

Knihovna GLUT podporuje přímé vykreslování základních trojrozměrných těles. Použití mají tato tělesa zejména při testování nastavení kamery, osvětlení nebo materiálů. Lze je však použít v téměř libovolné 3D aplikaci. Další informace o vykreslování jsou uvedeny v textu, který popisuje osmnáctý ukázkový příklad.

Vykreslování základních trojrozměrných těles

Ukázkový příklad číslo 18

V tomto příkladu je ukázán způsob vykreslování základních trojrozměrných těles pomocí funkcí knihovny GLUT. Lze provést výběr z devíti typů těles, kde každé může být zobrazeno jako drátový model nebo polygonový model. Celkem tedy existuje 18 typů těles, které lze pomocí knihovny GLUT vytvořit a zobrazit. Pro vytvoření každého typu tělesa se používá volání zvláštní funkce:

glutWireCube(size); vytvoří drátový model krychle. Parametr size udává délku hrany krychle.

glutSolidCube(si­ze); vytvoří polygonový model krychle. Parametr size udává délku hrany krychle.

glutWireSphere(ra­dius, slices, stacks); vytvoří drátový model koule. Parametr radius udává poloměr koule, parametry slicesa stacks počet rozdělení koule na poledníky a rovnoběžky.

glutSolidSphe­re(radius, slices, stacks); vytvoří polygonový model koule. Význam parametrů je stejný jako u předchozí funkce.

glutWireCone(base, height, slices, stacks); vytvoří drátový model kužele s kruhovou podstavou. Parametr base udává poloměr základny, height udává výšku kužele a parametry slices astacks počet rozdělení kužele na čtyřúhelníkové plošky.

glutSolidCone(base, height, slices, stacks); vytvoří polygonový model kužele. Význam parametrů je stejný jako u předchozí funkce.

glutWireTorus(r1, r2, sides, rings); vytvoří drátový model torusu s vnitřním poloměrem r1, vnějším poloměrem r2 a dělením na sides x rings plošek.

glutSolidTorus(r1, r2, sides, rings); vytvoří polygonový model torusu s parametry stejnými jako u předchozí funkce.

glutWireTetra­hedron() a glutSolidTetra­hedron() vytvoří drátový resp. polygonový model pravidelného čtyřstěnu (jedno z tzv. dokonalých těles). Poloměr je roven odmocnině ze tří, umístění do počátku souřadné soustavy.

glutWireOctahe­dron() a glutSolidOcte­hedron() vytvoří drátový resp. polygonový model pravidelného osmistěnu (jedno z tzv. dokonalých těles). Poloměr je roven 1.0, umístění do počátku souřadné soustavy.

glutWireDodeca­hedron() a glutSolidDode­cahedron() vytvoří drátový resp. polygonový model pravidelného dvanáctistěnu (jedno z tzv. dokonalých těles). Poloměr je roven odmocnině ze tří, umístění do počátku souřadné soustavy.

glutWireIcosa­hedron() a glutSolidIcosa­hedron() vytvoří drátový resp. polygonový model pravidelného dvacetistěnu (jedno z tzv. dokonalých těles). Poloměr je roven 1.0, umístění do počátku souřadné soustavy.

glutWireTeapot(si­ze) a glutSolidTeapot(si­ze) vytvoří drátový resp. polygonový model čajové konvice používaný v mnoha demonstračních a testovacích aplikacích v 3D počítačové grafice. Parametr size udává velikost tohoto modelu.

Po spuštění příkladu lze pomocí myši vybraným tělesem rotovat. Po stisknutí levého tlačítka myši se zobrazí menu s výběrem objektů. Po stisknutí pravého tlačítka myši lze vybraný objekt přibližovat nebo vzdalovat od pozorovatele. Klávesou [f] lze provést přepnutí do režimu full-screen. Aplikaci lze ukončit stisknutím klávesy ESC.

K dispozici je zdrojový kód osmnáctého příkladu a zdrojový kód se zvýrazněnou syntaxí.

ukázka osmnáctého příkladu

Našli jste v článku chybu?

24. 6. 2003 12:30

Qerick (neregistrovaný)

jo tak tohle to je zpusobeny nekompatibilitou ovladacu NVidie a Messy(teda jestli mas kartu od Nvidie), musis pri kompilaci glutu smazat v makefilech vsechny reference na messu(jestli nechces pouzivat ovladace vod messy :(( a to bych rozhodne nedoporucoval) navod je na: http://www.linuxhq.com/ldp/howto/mini/Nvidia-OpenGL-Configuration/instglut.html

Good Luck!



24. 6. 2003 10:53

Tibor (neregistrovaný)

Pri pokuse o kompilaciu s naistal. lib GLUT 3.7

gcc -o glut09_1 -L/usr/X11R6/lib glut09_1c.c -lglut -lGL -lGLU -lm -lX11 -lXmu

dostanem hlasku:
/usr/lib/libglut.so: undefined reference to `XGetExtensionVersion' /usr/lib/libglut.so: undefined reference to `XFreeDeviceList' /usr/lib/libglut.so: undefined reference to `XQueryDeviceState' /usr/lib/libglut.so: undefined reference to `XListInputDevices' /usr/lib/libglut.so: undefined reference to `XFreeDeviceState' /usr/lib/libglut.so: undefine…




120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

DigiZone.cz: TV Philips a Android verze 6.0

TV Philips a Android verze 6.0

Podnikatel.cz: Změny v cestovních náhradách 2017

Změny v cestovních náhradách 2017

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Vitalia.cz: Potvrzeno: Pobyt v lese je skvělý na imunitu

Potvrzeno: Pobyt v lese je skvělý na imunitu

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA