Ir ao conteúdo
  • Cadastre-se
LuisG

Duvida OpenGL - C

Recommended Posts

Estou tentando fazer um sol em opengl, só que meu professor que forme o sol com vários triângulos, o problema e que não consigo fazer com os formar mais ou menos um sol.Alguém poderia me dar uma ajuda ou dica. Por enquanto tenho isso.Sei que tenho que usar varios triangulos(função triangle) para formar e depois transladar para os raios.

#include <gl/freeglut.h>
#include <math.h>
#include <stdio.h>

// Tamanho da janela
const int LARGURAJ = 600;
const int ALTURAJ = 600;

// Dimensoes do plano cartesiano
int xmin = -1000;
int xmax = 1000;
int ymin = -1000;
int ymax = 1000;

// Raio total
int raio1 = 1000;

// Raio do sol
int raio2 = 900;

// Numero de raios
int raios = 36;

// Cor do centro do sol
float r1 = 1, g1 = 0, b1 = 0;

// Cor da borda do sol
float r2 = 1, g2 = 1, b2 = 0;

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


//Executa os comandos OpenGL
glFlush();
}

// Função callback chamada pelo OpenGL quando a janela e redimensionada
void redimensiona(int largura, int altura)
{
// Define o tamanho da viewport para ocupar toda a janela
glViewport(0, 0, largura, altura);

// Define o novo tamanho do plano cartesiano
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

int min = xmin < ymin ? xmin : ymin;
int max = xmax > ymax ? xmax : ymax;

if (largura <= altura)
gluOrtho2D(min,
max,
(float) min * altura / largura,
(float) max * altura / largura);
else
gluOrtho2D((float) min * largura / altura,
(float) max * largura / altura,

glBegin(GL_TRIANGLES);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2i(5, 5);
glVertex2i(-5,5);
glVertex2i(-5, -5);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex2i(10, 0);
glVertex2i(0, 0);
glVertex2i(0, -10);
glEnd();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×