Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SDL.h>
- #include "SDL_opengl.h"
- int main(int argv, char** args){
- SDL_Init(SDL_INIT_EVERYTHING);
- //Inicio do escopo
- //memoria
- SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32);
- SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
- SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
- //nome da janela
- SDL_WM_SetCaption("Meu Primeiro Jogo em C++", NULL);
- SDL_SetVideoMode(600, 400, 32, SDL_OPENGL);
- //cor da janela
- glClearColor(1,1,1,1);
- //area exebida
- glViewport(0,0,600,400);
- //sombra
- glShadeModel(GL_SMOOTH);
- //2D
- glMatrixMode(GL_PROJECTION); //aplicar projecao na matriz atual
- glLoadIdentity();//desenho geometrico
- glDisable(GL_DEPTH_TEST);
- //variaveis
- bool executando = true;
- SDL_Event eventos;
- //loop
- while(executando){
- //eventos
- while(SDL_PollEvent(&eventos)){
- //fecha com o x da janela
- if(eventos.type == SDL_QUIT)
- executando = false;
- /*if(eventos.type == SDL_KEYUP && eventos.key.keysym.sym == SDLK_ESCAPE)
- executando = false;*/
- }
- //LOGICA:
- //RENDERIZACAO
- glClear(GL_COLOR_BUFFER_BIT);//limpar o buffer
- //inicia matriz
- glPushMatrix();
- //dimensoes da matriz
- glOrtho(0, 600, 400, 0, -1, -1);
- //cor
- glColor4ub(255, 0, 0, 255); //linha vermelha
- //inicia o desenho
- glBegin(GL_LINES);//GL_POINTS, GL_LINES, GL_LINES_LOOP, GL_QUADS, GL_TRIANGLES, GL_POLIGON
- glVertex2f(50, 50);
- glVertex2f(550, 350);
- //fecha o desenho
- glEnd();
- //fecha matriz
- glPopMatrix();
- //animacao
- SDL_GL_SwapBuffers();
- }
- glDisable(GL_BLEND);
- //SDL_Delay(5000);
- //Fim do escopo
- SDL_Quit();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement