Tutorial OpenGL v3.0
Nesse artigo, trago-lhes a biblioteca SFML junto com OpenGL.
[ Hits: 16.636 ]
Por: Thiago Henrique Hüpner em 15/06/2015
#include <SFML/OpenGL.hpp> #include <SFML/Graphics.hpp> // Função que Desenha na Tela void desenhaNaTela(){ // 'Limpa' a tela usando a cor de 'limpar' a tela glClear(GL_COLOR_BUFFER_BIT); // Define a Cor de 'limpar' para Branco usando // Red Blue Green Alpha glClearColor(255.0f, 255.0f, 255.0f, 1.0f); // Reinicia todas as transformações e/ou rotações glLoadIdentity(); // Rotaciona x por y com 0 de profundidade (usado p/ jogos 3D) glTranslatef(400/2,400/2,0); // Começa a desenhar Quadrados glBegin(GL_QUADS); // Colori de Verde glColor3f ( 0.0f, 1.0f, 0.0f ); // Lado Inferior Esquerdo glVertex2f( 0, 10.0f ); // Colori de Vermelho glColor3f ( 1.0f, 0.0f, 0.0f ); // Lado Superior Esquerdo glVertex2f( 0, 0 ); // Colori de Amarelo glColor3f ( 1.0f, 1.0f , 0.0f); // Lado Superior Direito glVertex2f( 10.0f, 0 ); // Colori de Azul glColor3f ( 0.0f, 0.0f, 1.0f ); // Lado Inferior Direito glVertex2f( 10.0f, 10.0f ); // Termina de Desenhar glEnd(); } // Funcao para inicializar o OpenGL void inicializaOpenGL() { // Define a Cor de 'limpar' para Branco usando // Red Blue Green Alpha glClearColor(255.0f, 255.0f, 255.0f, 1.0f); // Avisa o OpenGL que qualquer alteração futura // afetará a Câmera ( O Observador) glMatrixMode(GL_PROJECTION); // Reinicia todas as transformações e/ou rotações glLoadIdentity(); // Define a projeção cartesiana 2D iniciando de (0,0) // No Lado Superior Esquerdo (ficando igual a projeção do SDL 'puro') gluOrtho2D(0,400,400,0); // Avisa o OpenGL que qualquer alteração futura // afetará o/os desenho/desenhos glMatrixMode(GL_MODELVIEW); // 'Limpa' a tela usando a cor de 'limpar' a tela glClear(GL_COLOR_BUFFER_BIT); } int main(void) { // Cria uma janela de 400x400 com o titulo "Teste com OpenGL" sf::RenderWindow janela (sf::VideoMode(400,400),"Teste com OpenGL"); // Variavel booleana para indicar se o programa "estaRodando" bool estaRodando = true; // Variavel para Eventos sf::Event evento; // Inicializa o OpenGL inicializaOpenGL(); // Main Loop while(estaRodando) { // Se existir eventos coloca na variavel while(janela.pollEvent(evento)) { // Se foi clicado no 'X' da janela if(evento.type == sf::Event::Closed) { // "estaRodando" é falsa estaRodando = false; } } // Comecar o OpenGL aqui desenhaNaTela(); janela.display(); } janela.close(); return 0; }
Ubuntu/Debian/Kali Linux e outros no Android
A poderosa nuvem: Intel® DevCloud com GPU Iris Xe Max!
A duplicação do buffer de saída na chamada de sistema fork() do Linux
SDL e C - Uma dupla sensacional
Ponteiros - Saindo de Pesadelos
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Impressora Canon Ip 1800 (Drivers) 64 bit (3)
iso de sistema 32 bit em atividade (15)
Como transfiro os pokemons do fire red para o emulador mupen64? (1)