创建一个 OpenGL 窗口
SFML 中的 Windows 由两个类之一表示:
sf::Window
是操作系统提供的通用窗口,包括 OpenGL 渲染上下文。sf::RenderWindow
是sf::Window
的专用版本,也可以作为sf::RenderTarget
,允许 SFML 的基元呈现给它。
两种情况下的基本用法相同。
#include <SFML/Window.hpp>
int main(int argc, char *argv) {
// Create and initialize a window object
sf::Window window(sf::VideoMode(640, 480), "My SFML Window");
// Repeat this as long as the window is open
while (window.isOpen()) {
// Handle window events ("event loop")
sf::Event event;
while (window.pollEvent(event)) {
switch(event.type) {
case sf::Event::Closed: // User tries to close the window
window.close(); // Actually close the window
break;
}
}
// Render logic would be placed here
// Swap buffers and update the window
window.display();
}
return 0;
}