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(size); vytvoří polygonový model krychle. Parametr size udává délku hrany krychle.
glutWireSphere(radius, 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.
glutSolidSphere(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.
glutWireTetrahedron() a glutSolidTetrahedron() 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.
glutWireOctahedron() a glutSolidOctehedron() 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.
glutWireDodecahedron() a glutSolidDodecahedron() 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.
glutWireIcosahedron() a glutSolidIcosahedron() 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(size) a glutSolidTeapot(size) 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í.