SFML+OpenGL: Как заставить работать вместе?

326
09 мая 2017, 06:16

При использовании их вместе, то, что рисуется OpenGL не отображается.

Код:

#include <SFML/Graphics.hpp>
#include <SFML/OpenGL.hpp>
#include <iostream>
#include <sstream>
#include <math.h>
using namespace std;
int main()
{
    sf::RenderWindow window(sf::VideoMode(640, 480), "SFML works!");
    sf::FloatRect frect;
    sf::Font font;
    font.loadFromFile("PaPYRUS.ttf");
    int z=45;
    int x=0, y=0;
    stringstream l;
    l<<z;
    cout<<l.str()<<endl;
    string s="Lololololooooooooooooooooooooooooo0000000000oooooooooo\nlololololol  "+l.str()+"  lololo";
    sf::Text text(s, font, 20);
    text.setPosition(20, 40);
    frect=text.getGlobalBounds();
    cout<<frect.height<<" "<<frect.left<<" "<<frect.top<<" "<<frect.width;
    bool running=true;
    int x2=0, y2=0;
    sf::CircleShape shape(30);
    shape.setFillColor(sf::Color::Green);

    while (running)
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            x2+=2;
            y2++;
            shape.setPosition(x2, y2);
            if (event.type == sf::Event::Closed)
                running=false;
        }
            glClearColor(0.0f, 0.0f, 0.1f, 0.0f);
            glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
            glColor3f(1.0f, 0.0f, 0.1f);
            glBegin(GL_POLYGON);
            for (float i = 0; i<2 * 3.14; i += float(3.14 / 4))
            {
                glVertex2f(20 + 5*sinf(i), 40  + 6*cosf(i));
            }
            window.pushGLStates();
            window.draw(shape);
            window.draw(text);
            window.popGLStates();
        window.display();
    }
    return 0;
}

Если кто может, пожалуйста, покажите как его исправить?

READ ALSO
Как установить библиотеку Vreen в Qt?

Как установить библиотеку Vreen в Qt?

Как установить библиотеку Vreen в Qt? Официальная инструкция по установке для ОС Linux, а у меня стоит WindowsОчень прошу, кто может скинуть инструкцию...

259
Мусор в конце строки после присваивания

Мусор в конце строки после присваивания

Пытаюсь разбить файл на 20 частей посимвольноПервый массив Pack - это массив, в котором копируется текст с определенного символа, чтобы в дальнейшем...

239
Вывод массива с помощью рекурсии

Вывод массива с помощью рекурсии

Необходимо вывести элементы массива в обратном порядке, при этом передать в функцию последний индекс массиваЧто я делаю не так? Вот мой код...

1057