[ create a new paste ] login | about

Link: http://codepad.org/U7kCISwU    [ raw code | fork ]

C, pasted on Apr 23:
/*
**-------------------------------------------------------------------
**
** Desenha 2 triangulos usando SDL 1.x
**
** ARQUIVO:
**   gl_triangulo.c
**
** COMPILE EM WINDOWS:
**   gcc gl_triangulo.c -o gl_triangulo -lSDL -lopengl32 -Wall
**
** COMPILE EM LINUX:
**   gcc gl_triangulo.c -o gl_triangulo -lSDL -lGL -Wall
**
**-------------------------------------------------------------------
*/
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#undef main

#define SIZEW   800
#define SIZEH   600

float angle_x, angle_y;

void DrawScene (void)
{
    glViewport (0, 0, SIZEW, SIZEH);
    glClear (GL_COLOR_BUFFER_BIT);

    // 01: desenha o triangulo GIRANDO: cor laranja
    //-------------------------------------------
    glPushMatrix ();

      glRotatef (angle_x, 1.0, 0.0, 0.0);
      glRotatef (angle_y, 0.0, 1.0, 0.0);
      angle_x += 0.2;
      angle_y += 0.5;;

      glColor3ub (255,130,30); // laranja

      glBegin (GL_LINE_LOOP);
        glVertex2f (0.0f, 0.5f);
        glVertex2f (0.5f, -0.25f);
        glVertex2f (-0.5f, -0.25f);
      glEnd();

    glPopMatrix ();
    //-------------------------------------------

    // 02: desenha o triangulo PARADO: cor branco
    //-------------------------------------------
    glColor3ub (200,200,200); // branco

    glBegin (GL_LINE_LOOP);
      glVertex2f (0.0f, 0.5f);
      glVertex2f (0.5f, -0.25f);
      glVertex2f (-0.5f, -0.25f);
    glEnd();
    //-------------------------------------------

    SDL_GL_SwapBuffers ();
    SDL_Delay (10);
}

int main (void)
{
    SDL_Event e;

    SDL_Init (SDL_INIT_VIDEO);
    #ifdef _WIN32
    SDL_putenv ("SDL_VIDEO_CENTERED=center");
    #endif
    SDL_SetVideoMode (SIZEW, SIZEH,32,SDL_OPENGL);

    for (;;) {

        if (SDL_PollEvent(&e) &&e.type == SDL_KEYDOWN)
      break;

        DrawScene ();
    }

    SDL_Quit();

    return 0;
}


Create a new paste based on this one


Comments: