Tutorial OpenGL v2.0
Finalmente chegou! Após quase 1 ano depois de meu primeiro artigo sobre OpenGL, chegou a versão 2.0. Clique e fique mais Geek.
[ Hits: 17.599 ]
Por: Thiago Henrique Hüpner em 08/05/2015
// Inclui a biblioteca SDL #include <SDL/SDL.h> // Inclui a biblioteca do SDL que tem o OpenGL #include <SDL/SDL_opengl.h> // Função Principal int main(int argc,char *argv[]){ // Se a inicialização do e o Subsistema de video falhar ... if(SDL_Init(SDL_INIT_VIDEO) < 0){ // ... imprima a mensagem de erro e ... printf("Erro : %s ",SDL_GetError()); // ... encerre o programa com 'erro' return -1; } //Define alguns atributos do OpenGL, tais como ... // Numero minimo de bits da cor Vermelha ; SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 8 ); // Numero minimo de bits da cor Verde ; SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 8 ); // Numero minimo de bits da cor Azul ; SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 8 ); // Tamanho do pixels da cor Alfa ; SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 8 ); // E o Buffer duplo ( 1 ligado , 0 desligado ) SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); // Cria a Janela SDL_Surface * tela = SDL_SetVideoMode(400,400,32,SDL_OPENGL); // Se algum erro acontecer com na criação da Janela... if(tela == NULL){ // ... imprima o erro ... printf("Erro : %s ",SDL_GetError()); // ... feche o SDL e ... SDL_Quit(); // ... encerre o programa com 'erro' return -1; } // Define o título da janela SDL_WM_SetCaption("Exemplo Básico SDL + OpenGL",NULL); // Variável para os eventos SDL_Event evento; // Controle do Loop int estaRodando = 1; // Loop Principal while(estaRodando){ // Lê a fila de eventos e põe o evento mais antigo em "evento" while(SDL_PollEvent(&evento)){ // Entre nos tipos de eventos ... switch(evento.type){ // ... caso o 'X' da janela foi apertado ... case SDL_QUIT: // ... então saia do Loop Principal. estaRodando = 0; break; // Outros eventos .... default: break; } } // Espera 30 milissegundos para não forçar uso do processador SDL_Delay(30); } // Encerra o SDL SDL_Quit(); // Nenhum erro ocorrido =D return 0; }
Ubuntu/Debian/Kali Linux e outros no Android
Introdução à plataforma GNU de desenvolvimento
Utilizando a biblioteca NCURSES - Parte I
Utilizando a biblioteca NCURSES - Parte III
Apreendendo a utilizar o GNU Debugger (parte 2)
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
operador seta em c [RESOLVIDO] (1)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (36)
Falha na leitura da chave (repositório APT) (4)
Navegadores com linhas na tela (12)
Como usar 2 programas reproduzindo audio nas mesmas saídas usando o ja... (0)