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 - h4tt3n

Pages: [1]
1
Graphics / making custom save/restore OpenGL states
« on: August 30, 2011, 04:57:54 pm »
I'm struggling with the same problem. How exactly do you combine opengl and text/strings without using the preserveopenglstates command?

Cheers,
Mike

2
Graphics / asteroids-like ship movement..so close
« on: August 28, 2011, 10:06:55 pm »
I might be able to help. What is the problem exactly? What do you want to achieve, and what is happening?

Cheers,
Mike

3
General / CodeBlocks installation trouble
« on: August 28, 2011, 07:27:34 pm »
Thanks for the advise, now it runs fine.

4
General / CodeBlocks installation trouble
« on: August 27, 2011, 01:47:46 pm »
Hello,

I'm having trouble installing SFML for use with my code::blocks IDE. When choosing "create a new project" -> SFML project, the SFML project wizard pops up, but I cannot make it see where I've installed the SFML lib and include folders.

The paths are:

C:\Program Files\CodeBlocks\MinGW\lib
C:\Program Files\CodeBlocks\MinGW\include\SFML

It seems that codeblocks cannot cope with the \SFML part of the include path. Could someone please help mne fix this? Simply copy-pasting the content of the SFML folder into the include folder does not work. Also, is this primarily a SFML-related or CodeBlocks-related problem? The two are clearly intended to be able to work together.

Cheers,
Mike

5
General / reducing cpu useage?
« on: March 21, 2009, 03:25:38 pm »
Quote from: "Laurent"
You shouldn't use both at the same time.


I tried using the first, the last, and then both just for fun. All variations had pretty much the same result.

How come there are obvious graphical glitches whith vsync on (and setframelimit off) ? Are you sure this is not a bug?

Cheers,
Mike

6
General / reducing cpu useage?
« on: March 21, 2009, 12:07:13 pm »
Quote from: "Laurent"
window.SetFramerateLimit
or
window.UseVerticalSync


Ok, I tried to add one of these after opening the window:

App.UseVerticalSync(true);

and

App.SetFramerateLimit(60);

In both cases cpu useage dropped considerably, but at the cost of jerky movement and artefacts. This should be impossible with vertical sync on, though !?!

Not sure what to do now...


Code: [Select]

////////////////////////////////////////////////////////////
// Headers
////////////////////////////////////////////////////////////
#include <SFML/Graphics.hpp>
#include <iostream>


////////////////////////////////////////////////////////////
/// Entry point of application
///
/// \return Application exit code
///
////////////////////////////////////////////////////////////
int main()
{
    // Create main window
    sf::RenderWindow App(sf::VideoMode(800, 600), "SFML OpenGL");
   
    App.PreserveOpenGLStates(true);
    //App.UseVerticalSync(true);
   // App.SetFramerateLimit(60);

    // Create a sprite for the background
    sf::Image BackgroundImage;
    if (!BackgroundImage.LoadFromFile("datas/opengl/background.jpg"))
        return EXIT_FAILURE;
    sf::Sprite Background(BackgroundImage);

    // Load an OpenGL texture.
    // We could directly use a sf::Image as an OpenGL texture (with its Bind() member function),
    // but here we want more control on it (generate mipmaps, ...) so we create a new one
    GLuint Texture = 0;
    {
        sf::Image Image;
        if (!Image.LoadFromFile("datas/opengl/texture.jpg"))
            return EXIT_FAILURE;
        glGenTextures(1, &Texture);
        glBindTexture(GL_TEXTURE_2D, Texture);
        gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, Image.GetWidth(), Image.GetHeight(), GL_RGBA, GL_UNSIGNED_BYTE, Image.GetPixelsPtr());
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
    }

    // Enable Z-buffer read and write
    glEnable(GL_DEPTH_TEST);
    glDepthMask(GL_TRUE);
    glClearDepth(1.f);

    // Setup a perspective projection
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(90.f, 1.f, 1.f, 500.f);

    // Bind our texture
    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D, Texture);
    glColor4f(1.f, 1.f, 1.f, 1.f);

    // Create a clock for measuring the time elapsed
    sf::Clock Clock;

    // Start game loop
    while (App.IsOpened())
    {
        // Process events
        sf::Event Event;
        while (App.GetEvent(Event))
        {
            // Close window : exit
            if (Event.Type == sf::Event::Closed)
                App.Close();

            // Escape key : exit
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
                App.Close();

            // Adjust the viewport when the window is resized
            if (Event.Type == sf::Event::Resized)
                glViewport(0, 0, Event.Size.Width, Event.Size.Height);
         }

        // Draw background
        App.Draw(Background);

        // Clear depth buffer
        glClear(GL_DEPTH_BUFFER_BIT);

        // Apply some transformations
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
        glTranslatef(0.f, 0.f, -200.f);
        glRotatef(Clock.GetElapsedTime() * 30, 1.f, 0.f, 0.f);
        glRotatef(Clock.GetElapsedTime() * 60, 0.f, 1.f, 0.f);
        glRotatef(Clock.GetElapsedTime() * 90, 0.f, 0.f, 1.f);

        // Draw a cube
        glBegin(GL_QUADS);

            glTexCoord2f(0, 0); glVertex3f(-50.f, -50.f, -50.f);
            glTexCoord2f(0, 1); glVertex3f(-50.f,  50.f, -50.f);
            glTexCoord2f(1, 1); glVertex3f( 50.f,  50.f, -50.f);
            glTexCoord2f(1, 0); glVertex3f( 50.f, -50.f, -50.f);

            glTexCoord2f(0, 0); glVertex3f(-50.f, -50.f, 50.f);
            glTexCoord2f(0, 1); glVertex3f(-50.f,  50.f, 50.f);
            glTexCoord2f(1, 1); glVertex3f( 50.f,  50.f, 50.f);
            glTexCoord2f(1, 0); glVertex3f( 50.f, -50.f, 50.f);

            glTexCoord2f(0, 0); glVertex3f(-50.f, -50.f, -50.f);
            glTexCoord2f(0, 1); glVertex3f(-50.f,  50.f, -50.f);
            glTexCoord2f(1, 1); glVertex3f(-50.f,  50.f,  50.f);
            glTexCoord2f(1, 0); glVertex3f(-50.f, -50.f,  50.f);

            glTexCoord2f(0, 0); glVertex3f(50.f, -50.f, -50.f);
            glTexCoord2f(0, 1); glVertex3f(50.f,  50.f, -50.f);
            glTexCoord2f(1, 1); glVertex3f(50.f,  50.f,  50.f);
            glTexCoord2f(1, 0); glVertex3f(50.f, -50.f,  50.f);

            glTexCoord2f(0, 1); glVertex3f(-50.f, -50.f,  50.f);
            glTexCoord2f(0, 0); glVertex3f(-50.f, -50.f, -50.f);
            glTexCoord2f(1, 0); glVertex3f( 50.f, -50.f, -50.f);
            glTexCoord2f(1, 1); glVertex3f( 50.f, -50.f,  50.f);

            glTexCoord2f(0, 1); glVertex3f(-50.f, 50.f,  50.f);
            glTexCoord2f(0, 0); glVertex3f(-50.f, 50.f, -50.f);
            glTexCoord2f(1, 0); glVertex3f( 50.f, 50.f, -50.f);
            glTexCoord2f(1, 1); glVertex3f( 50.f, 50.f,  50.f);

        glEnd();

        // Draw some text on top of our OpenGL object
        sf::String Text("This is not a rotating cube");
        Text.SetPosition(50.f, 50.f);
        Text.SetColor(sf::Color(255, 244, 32));
        App.Draw(Text);

        // Finally, display the rendered frame on screen
        App.Display();
    }

    // Don't forget to destroy our texture
    glDeleteTextures(1, &Texture);

    return EXIT_SUCCESS;
}

7
General / reducing cpu useage?
« on: March 21, 2009, 09:35:44 am »
Hello everyone,

For some time I've been using glut and glfw for my opengl projects, and now I'm looking for something broader which still has ogl support.

What I like about the above two tools is their ability to automatically keep cpu useage at a minimum. When making - say - a small physics simulation project with opengl, it typically spends just 5-10% cpu power in glut and glfw. This happens automatically, and as a programmer I don't have to worry about adding any form of sleep routine to prevent ~100% cpu useage.

Now, when I ran the *very* small opengl example shipped with sfml 1.4 cpu useage went sky high, so I assume that the above mentioned functionality is not part of this library? Does sfml have a native, automatic way of keeping cpu useage at a minimum?

cheers,
Mike

Pages: [1]
anything