【问题标题】:Do I need a buffer?我需要缓冲区吗?
【发布时间】: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


【解决方案1】:

没有

您无需自己处理 SFML 中的缓冲。这些课程已经为您做到了。

【讨论】:

    猜你喜欢
    • 2013-09-10
    • 2016-06-25
    • 2023-03-16
    • 2019-01-02
    • 2017-12-09
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多