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: 19.913 ]
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
Utilizando a biblioteca NCURSES - Parte III
Ponteiros void na linguagem C (parte 2)
Introdução à plataforma GNU de desenvolvimento
Como aprender a programar e produzir aplicativos usando Euphoria
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Secure boot, artigo interessante, nada técnico. (4)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (14)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









