Tutorial OpenGL v3.0
Nesse artigo, trago-lhes a biblioteca SFML junto com OpenGL.
[ Hits: 17.176 ]
Por: Thiago Henrique Hüpner em 15/06/2015
#include <SFML/OpenGL.hpp> #include <SFML/Graphics.hpp> // Funcao para inicializar o OpenGL void inicializaOpenGL(void){ // 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 janela.display(); } janela.close(); return 0; }
sf::ContextSettings confOpenGL; confOpenGL.depthBits = 24; confOpenGL.stencilBits = 8; confOpenGL.antialiasingLevel = 4; confOpenGL.majorVersion = 3; confOpenGL.minorVersion = 0; sf::RenderWindow janela (sf::VideoMode(400,400),"Teste com OpenGL",sf::Style::Default,confOpenGL);
#include <iostream> sf::ContextSettings settings = janela.getSettings(); std::cout << "depth bits:" << settings.depthBits << std::endl; std::cout << "stencil bits:" << settings.stencilBits << std::endl; std::cout << "antialiasing level:" << settings.antialiasingLevel << std::endl; std::cout << "version:" << settings.majorVersion << "." << settings.minorVersion << std::endl;
Ubuntu/Debian/Kali Linux e outros no Android
Instalando Facebook Folly através do Conan
SDL - Ótimo para criação de jogos
Como funcionam os alocadores de memória do STD C?
A poderosa nuvem: Intel® DevCloud com GPU Iris Xe Max!
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (2)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (1)
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta