【发布时间】:2016-12-03 17:17:50
【问题描述】:
我今天在这里提出一个简单的“是”或“否”问题!
我最近一直在看 John Purcell 的 C++ 教程, 顺便说一句,很棒的教程,并且已经到了创建的地步 SDL 中的粒子程序。
但是,看到 SFML 如何更面向 C++、更快并针对更现代的计算机进行了优化,我决定模仿他的 SFML 粒子程序教程。然而,他在他的教程中已经达到了我可以不用的一点,因为 SFML 提供了一种简单的方法来为整个窗口着色 -
sf::Color color(sf::Color::White);
// Many many lines later..
gameWindow.clear(color);
没有像他在 SDL 中那样使用 - 将其传递给缓冲区
Uint32 *buffer = new Uint32[SCREEN_WIDTH*SCREEN_HEIGHT];
memset(buffer, 0xFF, SCREEN_WIDTH*SCREEN_HEIGHT*sizeof(Uint32));
SDL_UpdateTexture(texture, NULL, buffer, SCREEN_WIDTH*sizeof(Uint32));
// More lines of code passing to the Window..
所以我的问题是, “我需要 SFML 中的缓冲区吗?”
请解释你的答案。
谢谢!
【问题讨论】:
-
没有。 SFML 将其从您那里抽象出来。 SDL 代码只是用该缓冲区中的任何数据在屏幕上绘制,
sf::RenderWindow::clear(...)会为您处理。 -
如果您将其发布为答案,亚历克斯,我会将其作为官方答案。感谢您提供方便的信息!
标签: c++ drawing buffer sdl sfml