Welcome, Guest. Please login or register. Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - baccari

Pages: 1 [2]
16
Window / OpenGL cube
« on: June 20, 2011, 06:30:06 pm »
i'm trying to draw a cube using openGL and then to view it from different angles. i did it using GLUT and it works well. But, using SFML, it doesn't look right because i can see 4 faces of the cube when i should be seeing only 3, and i can see 2 faces when i should be seeing only 2 :-s

here is the code:
Code: [Select]
#include <SFML/Graphics.hpp>
int main()
{
    sf::Window App(sf::VideoMode(600, 600, 32), "SFML OpenGL", sf::Style::Close);
    GLdouble h = 0.0d;
    GLdouble v = 0.0d;
    GLdouble l = 0.0d;
    while (App.IsOpened())
    {
        App.SetActive();

        glClearColor(0, 0, 0, 0);
        glClear(GL_COLOR_BUFFER_BIT);
        glLoadIdentity();
        glRotated(l,0.0d,0.0d,0.2d);
        glRotated(h,0.2d,0.0d,0.0d);
        glRotated(v,0.0d,0.2d,0.0d);
        glBegin(GL_QUADS);
        //back
        glColor3f(1.0f,0.0f,0.0f); //red
        glVertex3f(-0.2f,0.2f,0.2f); //top left
        glVertex3f(0.2f,0.2f,0.2f); //top right
        glVertex3f(0.2f,-0.2f,0.2f); //bottom right
        glVertex3f(-0.2f,-0.2f,0.2f); //bottom left
        //bottom
        glColor3f(0.0f,1.0f,0.0f); //green
        glVertex3f(0.2f,-0.2f,0.2f); //back right
        glVertex3f(-0.2f,-0.2f,0.2f); //back left
        glVertex3f(-0.2f,-0.2f,-0.2f); //front left
        glVertex3f(0.2f,-0.2f,-0.2f); //front right
        //front
        glColor3f(0.0f,0.0f,1.0f); //blue
        glVertex3f(0.2f,-0.2f,-0.2f); //bottom right
        glVertex3f(-0.2f,-0.2f,-0.2f); //bottom left
        glVertex3f(-0.2f,0.2f,-0.2f); //top left
        glVertex3f(0.2f,0.2f,-0.2f); //top right
        //top
        glColor3f(1.0f,1.0f,0.0f); //yellow
        glVertex3f(0.2f,0.2f,-0.2f); //front right
        glVertex3f(-0.2f,0.2f,-0.2f); //front left
        glVertex3f(-0.2f,0.2f,0.2f); //back left
        glVertex3f(0.2f,0.2f,0.2f); //back right
        //left
        glColor3f(0.0f,1.0f,1.0f); //pink
        glVertex3f(-0.2f,-0.2f,-0.2f); //bottom front
        glVertex3f(-0.2f,-0.2f,0.2f); //bottom back
        glVertex3f(-0.2f,0.2f,0.2f); //top back
        glVertex3f(-0.2f,0.2f,-0.2f); //top front
        //right
        glColor3f(1.0f,0.0f,1.0f); //cyan
        glVertex3f(0.2f,-0.2f,-0.2f); //bottom front
        glVertex3f(0.2f,-0.2f,0.2f); //bottom back
        glVertex3f(0.2f,0.2f,0.2f); //top back
        glVertex3f(0.2f,0.2f,-0.2f); //top front
        glEnd();

        glFlush();

        App.Display();

        sf::Event Event;
        while (App.GetEvent(Event))
        {
            if (Event.Type == sf::Event::Closed)
                App.Close();
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
                App.Close();
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Right))
                v+=10.0d;
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Left))
                v-=10.0d;
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Up))
                h+=10.0d;
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Down))
                h-=10.0d;
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::PageUp))
                l+=10.0d;
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::PageDown))
                l-=10.0d;
        }
    }
    return EXIT_SUCCESS;
}





am i using SFML in a wrong way ?

Pages: 1 [2]
anything