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: 18.624 ]
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
Reprodução de arquivos WAV com SDL_mixer e linguagem C
Apreendendo a utilizar o GNU Debugger (parte 2)
Detectando assalto na multidão com visão computacional
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
instalar o Linux em computadores Acer novos (1)
Youtube e networkmeneger para de funcionar [RESOLVIDO] (8)
Problemas com SQL em objeto TLabel ... (2)
Minha rede tem um espaço invisível que não dá pra digitar o nome da re... (1)