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

Author Topic: Black screen when rendering Opengl and text  (Read 986 times)

0 Members and 1 Guest are viewing this topic.

het_best

  • Newbie
  • *
  • Posts: 2
    • View Profile
    • Email
Black screen when rendering Opengl and text
« on: January 14, 2023, 08:39:53 pm »
When I try to draw a text/circle along with an Opengl cube, everything turns black

Circle code:
int draw_circle(sf::Color color, float size, int position[2])
{
    try
    {
        sf::CircleShape shape(size);
        shape.setPosition(position[0] - size, position[1] - size);
        shape.setFillColor(color);
        sfml_window.draw(shape);
        return 0;
    }
    catch (char* error)
    {
        log_add(error);
        return 1;
    }
}

Cube code:
int draw_cube(GLfloat size, sf::Vector3f color)
{
    try
    {
        glColor3f(color.x, color.y, color.z);

        glBegin(GL_QUADS);

        glVertex3f(-size / 2, -size / 2, -size / 2);
        glVertex3f(-size / 2, size / 2, -size / 2);
        glVertex3f(-size / 2, size / 2, size / 2);
        glVertex3f(-size / 2, -size / 2, size / 2);

        glVertex3f(size / 2, -size / 2, -size / 2);
        glVertex3f(size / 2, -size / 2, size / 2);
        glVertex3f(size / 2, size / 2, size / 2);
        glVertex3f(size / 2, size / 2, -size / 2);

        glVertex3f(-size / 2, -size / 2, -size / 2);
        glVertex3f(-size / 2, -size / 2, size / 2);
        glVertex3f(size / 2, -size / 2, size / 2);
        glVertex3f(size / 2, -size / 2, -size / 2);

        glVertex3f(-size / 2, size / 2, -size / 2);
        glVertex3f(-size / 2, size / 2, size / 2);
        glVertex3f(size / 2, size / 2, size / 2);
        glVertex3f(size / 2, size / 2, -size / 2);

        glVertex3f(-size / 2, -size / 2, -size / 2);
        glVertex3f(size / 2, -size / 2, -size / 2);
        glVertex3f(size / 2, size / 2, -size / 2);
        glVertex3f(-size / 2, size / 2, -size / 2);

        glVertex3f(-size / 2, -size / 2, size / 2);
        glVertex3f(size / 2, -size / 2, size / 2);
        glVertex3f(size / 2, size / 2, size / 2);
        glVertex3f(-size / 2, size / 2, size / 2);
        glEnd();
        return 0;
    }
    catch (char* error)
    {
        log_add(error);
        return 1;
    }
}

Problem in Opengl or am I doing something wrong?

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10819
    • View Profile
    • development blog
    • Email
Re: Black screen when rendering Opengl and text
« Reply #1 on: January 16, 2023, 11:21:36 pm »
One common issue that people run into when mixing OpenGL and SFML is that they don't set the viewport correctly and as such neither the OpenGL nor SFML parts are inside the view (think where the camera points) and thus everything appears black.
Whether that's the case here, I don't fully know...

Also see the tutorial on how to intermix OpenGL and SFML.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/