Escolar Documentos
Profissional Documentos
Cultura Documentos
//
#include <iostream>
#include <stdio.h>
#include <string.h>
#include<GLFW/glut.h>
#include<Windows.h>
void init(void) {
// Três primeiros argumentos corresponde a valores normalizados de R, G e B. O último parâmetro
// é o "alpha value" que é utilzado para "blend operations", ou seja, determinar a cor resultand de dois
// objetos que se sobrepõem.
glClearColor(1.0, 1.0, 1.0, 0);
// Nesse primeiro programa, será mostrada uma linha em duas dimensões em tela. Para tanto,
// é necessário "dizer" ao OpenGL como projetar nossa figura na tela, pois projetar uma figura bi-
dimensional
// é tratado pelo OpenGL como um caso especial de uma visualização tridimensional. Os dois
próximos comandos
// especificam que será utilizado uma projeção ortogonal (projeção de uma figura no espaço em um
plano) para
// mapear o conteudo de uma área bidimensional retangular para a tela, sendo que a coordenada "x"
variará de 0 a 200
// e a "y" de 0 a 150. Dessa forma, define-se a coordenada "lower left-corner" para 0 e 0 e a "upper
right-corner"
// para 200 e 150, respectivamente x e y.
glMatrixMode(GL_PROJECTION);
// Carrega a matriz identidade para como matriz de projeção. para garantir que a definição das
coordenadas
// a ser realizada em gluOrtho2D não considerarão sujeiras.
glLoadIdentity();
gluOrtho2D(0, 1280, 0, 720);
void point(void) {
// glClearColor atrubui uma cor à janela, mas não coloca a janela na tela. Para tal, deve-se executar
// o comando abaixo. O parâmetro GL_COLOR_BUFFER_BIT indica que os bits do "color buffer
(refresh buffer)", devem
// ser setados para os valores indicados no comando glClearColor.
glClear(GL_COLOR_BUFFER_BIT);
// Configura esquema de cor para os objetos que se que mostrar em tela. No exemplo abaixo, deseja-se
// setar a cor do objeto para verde escuro. o "f" indica que são valore de ponto flutuande ("float")
glColor3f(0, 0.4, 0.2);
GLubyte bitShape[20] = {
0x01, 0xC0,
0x02, 0x20,
0x04, 0x10,
0x09, 0xC8,
0x12, 0x24,
0x14, 0x14,
0x13, 0x64,
0x13, 0x64,
0x08, 0x04,
0x07, 0xF8,
};
//Indica a forma de armazenamento de pixels e
//dizem respeito à forma como esses elementos são guardados na memória
//(para mais detalhes ver página 161 / 162 do
//livro “OpenGL Uma Abordagem Prática e Objetiva
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
// configura a posição raster (raster position) ou seja a posição dentro do frame buffer onde
// o raster (bitmap) será condiderado (plotado)"
glRasterPos2i(640, 360);
glFlush();
}
// Programa Principal
return 0;
}