Opengl
Opengl
Opengl
[email protected]
O que é OpenGL
OpenGL (do inglês, “Open Graphics Library”) é uma
interface de software para dispositivos (hardware) gráficos.
OBS:
As DLL’s devem ser colocadas no Windows\System
As LIB’s são incluídas no projeto
Os headers são incluídos nos programas fonte.
A biblioteca GLUT
Por ser independente de hardware, a biblioteca básica não inclui
funções para criação de janelas, pois isto depende da plataforma
utilizada. Entretanto, para tornar a programação mais simples,
de forma que não seja necessário utilizar as APIs específicas do
sistema (para criação de janelas), existe (como um anexo do
OpenGL) a biblioteca GLUT (OpenGL Utility Toolkit), que
auxilia na criação de janelas básicas. Além desta facilidade, a
GLUT possui algumas formas 3D pré-definidas.
Instalando a biblioteca GLUT no Dev C++
As bibliotecas básicas do OpenGL já vem incluídas no Dev C++,
entretanto a Glut não vem.
Para instalar a Glut, siga o seguinte procedimento:
- Descompacte glut-devc.zip
- Copie glut.h para á pasta C:\Dev-Cpp\Include\GL
- Copie glut32.def e libglut.a para C:\Dev-Cpp\lib
- Copie glut32.dll para C:\WINDOWS\system32 ou para a pasta onde
serão gerados os executáveis
- No projeto (console), vá em:
[Project]-[Project Options]-[Parameters]
e na caixa Linker digite: -lopengl32 -lglut32 -lglu32
Criando Janelas com a GLUT
void Display () {
glClearColor(1, 1, 0, 1); // Escolhe cor de fundo
glClear(GL_COLOR_BUFFER_BIT); // Limpa janela
// Exibe algo ...
// .
glFlush(); // Força a atualização da janela
}
if (key == 27)
exit(0); // Termina programa
}
switch (button) {
case GLUT_LEFT_BUTTON:
if (state == GLUT_DOWN) {
cout << endl << "Mouse Left Down" << endl;
}
break;
}
}
glBegin (GL_LINE_LOOP);
glVertex2f (1.25, 1.25);
glVertex2f (1.75, 1.25);
glVertex2f (1.75, 1.75);
glVertex2f (1.25, 1.75);
glVertex2f (1.25, 1.25);
glEnd();
Primitivas
Quadrilátero
// Cria quadrilátero
glBegin (GL_QUADS);
glVertex2f (2.25, 0.25);
glVertex2f (2.75, 0.25);
glVertex2f (2.75, 0.75);
glVertex2f (2.25, 0.5);
glEnd();
Primitivas
Triângulo
// Cria triangulo
glBegin (GL_TRIANGLES);
glVertex2f (1.5, 2.0);
glVertex2f (2.5, 2.0);
glVertex2f (2.0, 2.8);
glEnd();