Você está na página 1de 2

Relatrio Computao Grfica

A forma de apresentao de objetos 3D mais utilizada em Computao Grfica consiste na especificao de uma malha de faces poligonais. Nesse caso, uma malha de polgonos representa uma superfcie discretizada por faces planas, que podem ser tringulos (preferencialmente) ou quadrados. A estrutura de dados mais usada para armazenar essa malha uma tabela de vrtices e uma tabela de faces, que podem ser armazenadas em dois fatores. A utilizao de primitivas grficas em trs e duas dimenses praticamente igual. A principal diferena est na especificao dos vrtices, pois em trs dimenses deve-se atribuir um valor para a coordenada z. As constantes que podem ser passadas como argumento para a funo glBegin so as mesmas. Qualquer uma dessas constantes pode ser usada quando se est trabalhando em trs dimenses, uma vez que possvel desenhar os pontos e as faces que compem um objeto 3D utilizando tringulos ou quadrilteros (preenchidos ou no).

Objetos predefinidos da GLUT Para facilitar o desenho de slidos simples, tais como cones, esferas e cubos, a biblioteca GLUT fornece um conjunto de slidos predefinidos que dispensam a especificao de um conjunto de vrtices e faces. Essas funes so listadas a seguir: void glutWireCube (Gldouble size) Funo usada para desenhar o wireframe de um cubo cujo tamanho passado em parmetro; void glutWireTeapot (GLdouble size) Funo usada para desenhar i wireframe de um bule de ch , cujo tamanho passado como parmetro; void glutWireSphere (GLdouble radius, GLint slices, GLint stacks) Funo usada para desenhar o wireframe de uma esfera representada por um conjunto de faces. O primeiro parmetro (radius) corresponde ao raio da esfera. Os parmetros slices e stacks indicam, respectivamente, o nmero de subdivises em torno de eixo z (como se fossem linhas longitudinais) e o nmero de subdivises ao longo do eixo z (como se fossem linhas latitudinais). void glutWireCone (Gldouble radius, GLdouble height, GLint slices, GLint stacks) Funo usada para desenhar o wireframe de um cone. De forma similar esfera, os parmetros indicam, respectivamente: o raio da base do cone (radius), a altura do cone (height), slices e stacks; void glutWireTorus (GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLrings) Funo usada para desenhar wireframe de um torus. Os parmetros indicam: o raio interno

(innerRadius), o raio externo (outerRadius), o nmero de sees que sero utilizadas para formar o torus (rings) e o nmero de subdivises para cada seo (nsides); void glutWireIcosahedron (void) Funo usada para desenhar o wireframe de um icosaedro que possui um tamanho predefinido; void glutWireOctahedron (void) Funo usada para desenhar o wireframe de octaedro que possui um tamanha predefinido; void glutWireTetrahedron (void) Funo usada para desenhar o wireframe de um tetraedro que possui um tamanho prefedinido; void glutWireDodecahedron (GLdouble radius) Funo usada para desenhar o wireframe de um dodecaedro cujo raio especificado por parmetro. Carregando e Desenhando Objetos Dependendo da necessidade, pode ser invivel desenhar a cena 3D de uma aplicao utilizando apenas primitivas ou objetos predefinidos da GLUT. Nesse caso, frequentemente se utilizam modeladores mais sofisticados, que oferecem diversos recursos para a criao de objetos com maior complexidade. Existem diversos sistemas desse tipo, porm geralmente eles tm um custo considervel.