Códigos Programas Bandeira, Cubo E Pirâmide em Opengl
Códigos Programas Bandeira, Cubo E Pirâmide em Opengl
OpenGl.
Bandeira
/*Aluna: Deise Neves*/
#include <windows.h>
#include <GL\gl.h>
#include <GL\glu.h>
#include <GL\glut.h>
#include <math.h>
#define PI 3.1415926535
void Bandeira(void)
double i, angle;
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glVertex2f(-0.4f,-0.3f);
glVertex2f(-0.4f,0.3f);
glVertex2f(0.4f,0.3f);
glVertex2f(0.4f,-0.3f);
glEnd();
glColor3f(1.0f,1.0f,0.5f);//Amarelo losango
glBegin(GL_QUADS);
glVertex2f(0.0,-0.3f);
glVertex2f(-0.4f,0.0f);
glVertex2f(0.0f,0.3f);
glVertex2f(0.4f,0.0f);
glEnd();
glBegin(GL_POLYGON);
angle = 2*PI*i/100;
glVertex2f(cos(angle)/5.3, sin(angle)/5.0);
glEnd();
glFlush();
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
int main(void)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400,350);
glutInitWindowPosition(10,10);
glutCreateWindow("Bandeira");
glutDisplayFunc(Bandeira);
Inicializa();
glutMainLoop();
}
Pirâmide e Cubo
/*Aluna: Deise Neves*/
#include <GL/glut.h>
#include <stdlib.h>
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity() ;
void Desenha(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/*Cubo 2D*/
glPushMatrix();
glTranslated(-2.4,1.2,-6);
glRotated(60,1,0,0);
glRotated(a,0,0,1);
glBegin(GL_LINE_LOOP);
glColor3f(1.0f,0.0f,0.5f);
glVertex2f(0.1f,0.1f);
glVertex2f(0.1f,0.6f);
glVertex2f(0.1f,0.1f);
glVertex2f(0.6f,0.1f);
glVertex2f(0.7f,0.2f);
glVertex2f(0.6f,0.1f);
glVertex2f(0.6f,0.6f);
glVertex2f(0.7f,0.7f);
glVertex2f(0.6f,0.6f);
glVertex2f(0.1f,0.6f);
glVertex2f(0.2f,0.7f);
glVertex2f(0.7f,0.7f);
glVertex2f(0.7f,0.2f);
glVertex2f(0.2f,0.2f);
glVertex2f(0.2f,0.7f);
glVertex2f(0.2f,0.2f);
glVertex2f(0.1f,0.1f);
glEnd();
glPopMatrix();
/*Piramide 2D*/
glPushMatrix();
glTranslated(0,1.2,-6);
glRotated(60,1,0,0);
glRotated(a,0,0,1);
glBegin(GL_LINE_LOOP);
glColor3f(0.5f,0.0f,0.0f);
glVertex2f(0.0f,0.0f);
glVertex2f(0.5f,0.0f);
glVertex2f(0.0f,0.3f);
glVertex2f(0.0f,0.0f);
glVertex2f(-0.25f,-0.3f);
glVertex2f(0.0f,0.3f);
glVertex2f(0.25f,-0.3f);
glVertex2f(0.5f,0.0f);
glVertex2f(0.25f,-0.3f);
glVertex2f(-0.25f,-0.3f);
glEnd();
glPopMatrix();
/*Triangulo 2D*/
glPushMatrix();
glTranslated(2.4,1.2,-6);
glRotated(60,1,0,0);
glRotated(a,0,0,1);
glBegin(GL_TRIANGLES);
glVertex2f(0.0f,0.0f);
glVertex2f(0.3f,0.6f);
glVertex2f(0.6f,0.0f);
glEnd();
glPopMatrix();
glutSwapBuffers();
void idle(void)
glutPostRedisplay();
{
glutInit(&argc, argv);
glutInitWindowSize(640,480);
glutInitWindowPosition(10,10);
glutReshapeFunc(resize);
glutDisplayFunc(Desenha);
glutIdleFunc(idle);
glutMainLoop();
return EXIT_SUCCESS;