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.877 ]
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
Túnel do Tempo: a função itoa()
Criando programas com suporte a arquivos de configuração com a libConfuse
Utilizando a biblioteca NCURSES - Parte III
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
IA chega ao desktop e impulsiona produtividade no mundo Linux
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?
\Boot sem espaço em disco (Fedora KDE Plasma 42) (0)
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)









