Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Relogio

OpenGl + GLUT p/ linux**

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

OpenGl + GLUT p/ linux**

Mensagem  juk em Ter Nov 06, 2012 7:39 am

Código:

// Quadrado.c - Isabel H. Manssour
// Um programa OpenGL simples que desenha um
// quadrado em  uma janela GLUT.
// Este código está baseado no GLRect.c, exemplo
// disponível no livro "OpenGL SuperBible",
// 2nd Edition, de Richard S. e Wright Jr.

#include<stdlib.h>
#include <GL/glut.h>

// Função callback chamada para fazer o desenho
void Desenha(void)
{
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
                 
    // Limpa a janela de visualização com a cor de fundo especificada
    glClear(GL_COLOR_BUFFER_BIT);

    // Especifica que a cor corrente é vermelha
    //        R    G    B
    glColor3f(1.0f, 0.0f, 0.0f);
 
    // Desenha um quadrado preenchido com a cor corrente
    glBegin(GL_POLYGON);
              glVertex2i(100,150);
              glColor3f(0.0f, 0.0f, 0.0f);
              glVertex2i(100,100);
              // Especifica que a cor corrente é azul
              glColor3f(0.0f, 0.0f, 1.0f);
              glVertex2i(150,100);
              glColor3f(1.0f, 1.0f, 0.0f);
              glVertex2i(150,150);
              glColor3f(0.0f, 0.0f, 0.0f);
                glVertex2i(125,200);
                             
    glEnd();

    // Executa os comandos OpenGL
    glFlush();
}

// Inicializa parâmetros de rendering
void Inicializa (void)

   

    // Define a cor de fundo da janela de visualização como preta
    glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
}

// Função callback chamada quando o tamanho da janela é alterado
void AlteraTamanhoJanela(GLsizei w, GLsizei h)
{
                  // Evita a divisao por zero
                  if(h == 0) h = 1;
                         
                  // Especifica as dimensões da Viewport
                  glViewport(0, 0, w, h);

                  // Inicializa o sistema de coordenadas
                  glMatrixMode(GL_PROJECTION);
                  glLoadIdentity();

                  // Estabelece a janela de seleção (left, right, bottom, top)
                  if (w <= h)
                          gluOrtho2D (0.0f, 250.0f, 0.0f, 250.0f*h/w);
                  else
                          gluOrtho2D (0.0f, 250.0f*w/h, 0.0f, 250.0f);
}

// Programa Principal
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(400,400);
    glutInitWindowPosition(10,10);//ponto onde a janela vai abrir
    glutCreateWindow("Quadrado");
    glutDisplayFunc(Desenha);
    glutReshapeFunc(AlteraTamanhoJanela);
    Inicializa();
    glutMainLoop();
}
Para copilar ela
Código:

gcc -lGL -lglut -lGLU qua.c -o qua
Link Tutorial
Tabela de Cores RBG(Dividir por 255 para usar em openGL (Exep.:Amarelo 255 255 0 -> 255/255 255/255 0/255 -> 1.0 1.0 0.0 (glColor3f(1.0f, 1.0f, 0.0f)Wink


Fonte: http://www.inf.pucrs.br/~manssour/OpenGL/Desenhando.html
avatar
juk

Mensagens : 224
Data de inscrição : 02/04/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum