Usando o arquivo segmento.c

Usando o arquivo segmento.c

by Wilson Kazuo Mizutani -
Number of replies: 9
Antes de mais nada, agradeço pelo codigo ^^
Mas como usa ele? A gente joga nossas funcoes no mesmo arquivo e muda o main() ou é pra acessar ele a partir do nosso codigo? E se for esse o caso, como fazemos isso?

In reply to Wilson Kazuo Mizutani

Re: Usando o arquivo segmento.c

by Joao M. Miranda -

Bom, não vou contar muita coisa porque senão perde a graça completamente.
A idéia é: no main inicializamos as coisas e falamos para o OpenGL tomar o controle. Ou seja, no main não é tem muita coisa para vocês fazerem (talvez arrumar algumas variáveis que vão usar).

A ação acontece mesmo no display. Como está comentado lá, toda vez que o OpenGL vai desenhar ele roda essa função. No esqueleto ele simplesmente imprime uma linha usando draw_segmento.

Como poderiamos fazer uma função que desenha um triangulo?
Basta fazer do jeito mais simples: chama três vezes draw_segmento e na função display chama a função draw_triangle que acabou de fazer.

Já ajuda?
In reply to Joao M. Miranda

Re: Usando o arquivo segmento.c

by Wilson Kazuo Mizutani -
Opa, ajuda sim ^^ Vlw mesmo!
Aproveitando o topico, eu to tendo uns problemas na hora de compilar o segmento.c: ele dá "undefined reference to" para todas as funcoes opengl. Eu fui atrás do openGL e consegui os arquivos pré-compilados (.h, .dll, e .lib) e coloquei onde o README dizia para pôr*, mas não sei se é assim mesmo que faz...
Alguma idéia?

* .h -> /include/GL
.lib -> /lib
/dll -> Windows/System32 (eu uso Windows Vista)

In reply to Wilson Kazuo Mizutani

Re: Usando o arquivo segmento.c

by Joao M. Miranda -
Vou ser sincero Wilson. Nunca uso windows, então não faço idéia de como fazer isso funcionar.
In reply to Wilson Kazuo Mizutani

Re: Usando o arquivo segmento.c

by Evandro Giovanini -
No Mac OS X é preciso alterar GL/glut.h para GLUT/glut.h, e para compilar o programa:

gcc -framework GLUT -framework OpenGL segmento.c



In reply to Evandro Giovanini

Re: Usando o arquivo segmento.c

by Rafael Reggiani Manzo -
também aproveitando... nós somos livres para alterar o código base ou ele é 'intocável'?
In reply to Rafael Reggiani Manzo

Re: Usando o arquivo segmento.c

by Wilson Kazuo Mizutani -
Aproveitando a pergunta do Manzo...
Descobri que parte do meu problema pode ser resolvido colocando

#define GLUT_DISABLE_ATEXIT_HACK

no código, além de incluir as outras duas bibliotecas do OpenGl(gl.h e glu.h). Essas alterações são válidas?

Também tive problema com o comando Exit no menu que aparece com o botão direito, ele trava o programa. Aparentemente, isso deixa de acontecer quando eu comento

glutDestroyWindow(win);

na função menu(), assim:

if(value == QUIT){
/*glutDestroyWindow(win);*/
exit(0);
}

Também é válido? (Eu não sei se é esse o problema, mas acho que a variável "win" nunca é inicializada)
In reply to Wilson Kazuo Mizutani

Re: Usando o arquivo segmento.c

by Joao M. Miranda -
Acredito que nada impede que vocês alterem o que foi dado.
Ccaso vejam a necessidade podem usar.
In reply to Rafael Reggiani Manzo

Re: Usando o arquivo segmento.c

by Rafael Reggiani Manzo -
estas duas funções estao liberadas?

glTranslatef(x,y,z)
glRotatef(Angulo, x, y, z)


em suma, se eu encontrar algo interessante no Glut ou no OpenGL, posso aplicar?