#include<iostream>
#include<thread>
#include<cstdint>
#include<SFML/System.hpp>
#include<SFML/Window.hpp>
#include<SFML/Graphics.hpp>
#include<SFML/Audio.hpp>
#include<SFML/Network.hpp>
#include<SFML/OpenGL.hpp>
int main(){
const float windowScale=0.75f;
sf::ContextSettings settings;
settings.depthBits=24;
settings.stencilBits=8;
settings.antialiasingLevel=32;
settings.majorVersion=4;
settings.minorVersion=2;
sf::Window window(
sf::VideoMode(
static_cast<unsigned int>(sf::VideoMode::getDesktopMode().width*windowScale),
static_cast<unsigned int>(sf::VideoMode::getDesktopMode().height*windowScale)
),
"OpenGL",
sf::Style::Default,
settings
);
window.setPosition(
sf::Vector2i(
sf::VideoMode::getDesktopMode().width/2-window.getSize().x/2,
sf::VideoMode::getDesktopMode().height/2-window.getSize().y/2
)
);
window.setVerticalSyncEnabled(true);
settings=window.getSettings();
std::cout<<"OpenGL Settings\n";
std::cout<<"Depth bits: "<<settings.depthBits<<'\n';
std::cout<<"Stencil bits: "<<settings.stencilBits<<'\n';
std::cout<<"Antialiasing level: "<<settings.antialiasingLevel<<'\n';
std::cout<<"Version: "<<settings.majorVersion<<'.'<<settings.minorVersion<<'\n';
while(window.isOpen()){
sf::Event event;
while(window.pollEvent(event)){
switch(event.type){
case sf::Event::Closed:
window.close();
break;
case sf::Event::Resized:
glViewport(0,0,event.size.width,event.size.height);
break;
default:
break;
}
}
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
window.display();
}
return EXIT_SUCCESS;
}