Nesta
versão os objetos são exibidos em wireframe,
por isso ao inicializar o ambiente utilizamos o comando glPolygonMode(GL_FRONT_AND_BACK,
GL_LINE).
- Tabuleiro
de 10x10 posições (criado com a primitiva
GL_LINES)

Fig.1: Tabuleiro 10x10
|

Fig. 2: Bandeira
|
Detalhes:
O mastro foi criado com o comando gluCylinder e o
"tecido" foi criado através da definição
de vários pontos que formam a geometria da
bandeira e que depois foram interligados formando
polígonos de 4 lados.
|
É
exibida quando o usuário acerta uma posição
que contém um navio ou submarino.
Comandos utilizados: glutSolidSphere
para
a esfera principal e gluCylinder para o detalhe do pavio.
|

Fig. 3: Bomba
|
Ocupa
4 posições do tabuleiro.

Fig. 4: Navio
|
O Navio foi construído quase que
totalmente através da informação
de vértices em primitivas GL_QUADS. Apenas a
cabine foi modelada com glutWireCube e pequenos detalhes
foram feitos com glutWireTorus.
A antena é formada também
por GL_QUADS, GL_LINES e GL_TRIANGLE_FAN.
|
Ocupa
2 posições no tabuleiro.
Construído da mesma maneira
que o navio,
estabelecendo-se vértices de polígonos
GL_QUADS
|
. 
Fig. 5: Barco
|
Ocupa
3 posições no tabuleiro.

Fig. 6: Submarino
|
Por ter formas arredondadas, necessita de
comandos mais trabalhados do OpenGL como gluCylinder para
descrever o corpo, gluSolidSphere para fechar a parte
frontal, GL_POLYGON e GL_TRIANGLES para formar as "guias"
laterais. |