问题标签 [sdl-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2826 浏览

android - SDL2 跨平台 OpenGL 3+ 和 OpenGL ES 2.0 或 3.0

是否有一些用于 SDL2 的超级简单的基本 hello world 立方体项目(带有设置教程),可以使用现代 OpenGL (如 OpenGL 3.x 或4.x 和 OpenGLES 2.0 还是 3.0?

我下载了 SDL2,很容易得到他们的示例 testgles.cpp 和 testgl.cpp 来构建......

然而,testgl.cpp 太旧了(gl2 风格),所以我尝试了 testgles.cpp。不幸的是,即使这样也充满了老式的固定函数调用,比如 glMatrixMode(GL_MODELVIEW)。它与 SDLTest_Common 代码过度集成,令人讨厌。

有没有更好的简单干净的 hello world 项目(例如彩色立方体、纹理立方体)可供我开始?

还是有什么原因他们不包含这样的示例启动项目或教程?

或者我应该使用不同的库而不是 SDL2 更简单和更清洁的设置?基本上我想编写 OpenGL / OpenGLES(也许还有 DirectX)跨平台 C++ 代码。但是设置 SDL2 比我预想的要麻烦和痛苦得多。

到目前为止,我只是用 SDL2 代码创建了一个 svn 存储库,并在这五个平台上构建了 testgl.cpp 和 testgles.cpp。但这使用了很多旧样式的 OpenGL/OpenGLES 代码,所以现在我正在慢慢破解它以使用更新的东西......这很痛苦。我不明白为什么 SDL2 不仅仅包含一个使用现代 OpenGL/OpenGLES(和 DirectX)的基本 hello world 跨平台启动项目(例如纹理立方体)。

0 投票
1 回答
489 浏览

c++ - 单例类、GraphicsManager 和静态

我正在尝试使用SDL 2.0O-OP创建一个框架。

这里我有一个CGraphicsManager类:

当我尝试这样做时:

编译器说:

错误 C2248:Singleton::Singleton 无法访问 Singleton<'tde::CGraphicsManager'> 中的私有成员

我试图制作 mWindow 和 mRenderer 静态成员,但这种方式不起作用。帮助我在这个系统中以某种方式存储窗口和渲染器,使它们在 tde 命名空间中可见和可用

0 投票
1 回答
1664 浏览

input - SDL 2.0 键盘输入问题

当我尝试在 SDL 2.0 中轮询一个 keydown 事件并按住一个键时,我会一个接一个地收到多个 keydown 事件。当我尝试使用 SDL 1.2.15 运行相同的程序时(由于 SDL 1.2.15 不支持 SDL_Window 进行了微小的更改),我没有这个问题。keydown 事件只发生一次,就像它应该发生的那样。我什至尝试在另一台计算机上执行该程序,以确保它不是特定于计算机的问题。

相关代码如下:

0 投票
3 回答
48657 浏览

c++ - 如何在 SDL 2.0 中绘制像素?

如何在 SDL2.0 中使用像素进行绘制?

我正在尝试熟悉 C++,但是如果没有漂亮的图片,这很难做到,所以我试图让一个非常基本的图形显示运行起来。我真正想要它做的就是给我一个窗口,让我在上面绘制 rgbα 像素,并访问有关这些像素的信息。可能还有其他我不知道的事情我想要,但这就是我现在清单上的全部内容。我对此的研究使我尝试使用 SDL,当前版本是 2.0。

我几乎所有的图形体验都来自于在<canvas>. 其他大部分来自我的计算器,它有这个非常棒Pxl-On()命令,非常简单。

如果重要的话,我将 MinGW 用于我的 C++。此外,如果我需要的东西比 SDL2.0 更好**,欢迎提出建议。


**“更好”的意思是“包含我需要的功能,但总功能比 SDL2.0 少,和/或比 SDL2.0 具有更直观/更简单的*** API。”

*** 更少的代码行来完成相同的任务。

0 投票
2 回答
1571 浏览

c++ - SDL_纹理不透明度

如何更改 SDL_Texture 的不透明度?而且我不知道如何在我的函数中应用不透明度数。

我的代码

0 投票
1 回答
425 浏览

c - 声明任何标准变量时 SDL 崩溃

此 SDL 程序工作正常(显示一个窗口并在其上绘制位图),但是,如果我在程序中声明任何变量(例如 int、long 等),窗口将冻结并且是白色而不是黑色,并且什么也没有绘制. 什么可能导致这种情况?

0 投票
1 回答
2755 浏览

textures - 从多个纹理创建新纹理 SDL-2

我有几个纹理将在我的屏幕上保持静止。我不想在渲染时单独渲染每一个,而是想将它们全部渲染为一个纹理。到目前为止,我的代码如下所示:

0 投票
4 回答
27057 浏览

c++ - 调整 SDL2 窗口的大小?

刚刚从 SDL1.2 跳转到 SDL2,一直在转换我的代码,但不知道如何调整窗口大小。这是我现在拥有的代码:

如您所见,它只会破坏窗口并创建一个新窗口。马虎,但它的工作原理。我想要的只是调整窗口大小,有可能吗?

0 投票
1 回答
12427 浏览

graphics - SDL2/表面/纹理/渲染

我正在尝试学习 SDL2。旧 SDL 和 SDL2 之间的主要区别(如我所见)是旧 SDL 具有由其表面表示的窗口,所有图片都是表面,所有图像操作和 blits 都是表面到表面。在 SDL2 中,我们有表面和纹理。如果我做对了,表面在 RAM 中,而纹理在图形内存中。那正确吗?

我的目标是为 SDL2 制作面向对象的包装器,因为我对 SDL 也有类似的东西。我想要班级窗口和班级图片(具有私有纹理和表面)。窗口的内容将由图片类的一个实例表示,并且所有块都是图片到图片对象块。如何组织这些图片操作:

  1. 像素操作应该在表面上吗?
  2. 如果我想将一张图片的一部分复制到另一张而不渲染它,它应该在表面上吗?
  3. 只有当我想在屏幕上渲染它时,我才应该将表面粘贴到纹理上吗?
  4. 将其全部渲染到一个表面然后将其渲染到窗口纹理还是将每张图片分别渲染到窗口纹理更好?

一般来说,什么时候应该使用表面,什么时候应该使用纹理?

感谢您的宝贵时间,欢迎所有帮助和建议 :)

0 投票
1 回答
997 浏览

c++ - SDL_DestroyRenderer 上的 SDL2 内存泄漏

这段代码将解释情节:

我无法完全破坏渲染器并清除它的记忆。为什么?我在这里做错了什么?