问题标签 [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.
c++ - SDL 1.2 -> SDL 2.0(崩溃程序)
所以我使用了SDL 2.0迁移指南,最后使代码编译没有错误......但是现在它崩溃了,这是我第一次遇到程序崩溃,并且没有编译器来指导我。我正在使用 LazyFoo 的第 29 个 sdl 教程,看看我是否可以迁移它。老实说,我认为我对一个程序感到厌恶,我把它扔给你们,因为我一无所知。这是我的进展: http: //www.pastebucket.com/21174
c++ - SDL_Image 不起作用。“未解析的外部符号 _IMG_LoadTexture”
一段时间以来,我一直在尝试修复这个特定的 SDL 错误,但奇怪的是没有通过搜索发现一次提到的相同错误。
这是 Visual Studio 错误输出:
这是代码:
非常感谢您的宝贵时间,希望这对其他用户有所帮助。此致, (DamnitIForgotMyName)
c++ - 带有 OpenGL 纹理的 SDL2 显示不正确
我已经对此进行了搜索,但不幸的是,我找到的唯一答案是那些处理未映射纹理问题的答案,在这种情况下,纹理已映射但看起来不像加载的表面。
无论如何,忽略不需要 2 个正方形图像的幂的事实(我还没有正确研究)我已经制作了一个功能脚本,用于将表面扩展到 2 维的幂和一个用于存储调整大小的结构表面、表面的旧尺寸和纹理的 ID。
我的表面纹理代码是(参数是 SDL_Surface* surf、antTex* tex):
antTex 结构是:
关于调整图像大小的一切似乎工作正常(使用 SDL 的 SDL_SaveBMP 函数检查生成的图像),我使用 SDL2_image.h 的 IMG_Load 加载原始图像。
当我在启用 GL_BLEND 的情况下绘制一个纹理映射到它的平面时,什么都没有显示,当我禁用它时,我得到了这个(红色是窗口的背景颜色):
http://i1200.photobucket.com/albums/bb336/DarknessXeagle/error_zps03e1e5a1.png
原图是这样的:
http://i1200.photobucket.com/albums/bb336/DarknessXeagle/d_zpsc8b9af6f.png
这是我绘制带有纹理的平面的函数(参数是 antTex* tex、int x、int y):
c++ - 在 QtCreator (MinGW) 中编译 SDL2
在尝试使用 MinGW 使用 QtCreator 编译 SDL2 时遇到了一个最近的问题。似乎由于某种原因,库没有链接。我知道 100% 的库位于正确的位置,正如您在这张图片中看到的:
以及我如何在我的 .pro 文件中链接:
编辑:好吧,我正在使用错误版本的库构建!嗬!但是出现了一个新问题,我认为这与 SDLmain.. 必须在我的 .pro 文件中丢失一些东西,但完全不确定是什么:S
c++ - “调试”构建配置有效,复制构建配置不起作用
使用 Microsoft Visual Studio 2012,我有一个项目 ( https://github.com/ThrosturX/freespace/ ),我可以使用构建配置来构建这个项目Debug
——背景中的交互式星星、一颗行星和一艘可控的太空船。
但是,当我使用配置进行构建时Release
,屏幕上没有呈现任何内容——它只是呈现为黑色。但是,窗口已创建,并且我的钩子 ( while(SDL_PollEvent(&e))
) 似乎正在工作,因为 Escape 终止了程序,按下x
窗口顶部的 关闭它也是如此。
试图找到这个原因的根源,我创建了一个新的构建配置dist
,用作Debug
模板(因此Debug
我假设完全复制)。但是,尝试使用此构建配置构建和运行程序的行为与构建配置完全相同Release
——窗口中仅呈现黑色。
我的项目使用SDL2来渲染图形。请让我知道我可以提供哪些信息来帮助诊断问题。有任何想法吗?
更新:我发现将我的 \lib 文件夹中的一些 dll 添加到输出目录(“Release”)可以解决问题,所以我现在只需找出如何将所有 dll 正确捆绑到 .exe 中.
c++ - Opengl 3 和 sdl2 项目有随机结果
好的,我正在尝试学习 OpenGL 3.x,我曾经使用旧界面,但效果并不好。我使用 SDL2 进行窗口和输入。
我认为代码应该做的是在蓝色背景上绘制一个红色三角形。问题是它有时只这样做,实际上它似乎是完全随机的,有时它会这样做,有时它只是显示一个黑色窗口。
我不知道为什么。
macos - SDL2、Mac OS X 和 OpenGL:如何避免同时包含 gl.h 和 gl3.h?
我正在使用 OpenGL 3.2 核心配置文件开发 SDL2 应用程序。编译时,我收到以下警告:
/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:5:2: 警告:#warning gl.h 和 gl3.h 都包括在内。如果使用已删除的 OpenGL 功能,编译器将不会调用错误。[-Wcpp]
我必须假设 SDL 在某处包含 gl.h,因为我的唯一包含如下:
虽然我可以简单地忽略这一点,但当我不小心使用了核心配置文件中不可用的枚举值时,它已经导致了一个难以发现的错误。有没有办法防止 gl.h 被包含在内?
sdl-2 - 从 SDL2 纹理中获取像素信息
我目前正在使用 SDL2 编写一个简单的程序,您可以在其中将一些形状(正方形、圆形、三角形等)拖到画布中并旋转它们并四处移动。每个形状都由从 PNG 文件创建的 SDL 纹理直观地表示(使用 SDL_image 库中的 IMG_LoadTexture 函数)。
问题是我想知道纹理中的某个像素是否透明,这样当有人点击图像时,我可以确定我是否必须做一些动作(因为点击是在非透明区域上) . 因为这是一些学校作业,所以我面临一些限制,即只能使用 SDL2 库,如果相关像素是透明的,我无法找到可以查找的地图,因为图像是动态选择的。此外,我考虑使用 SDL 表面来完成这项任务,从原始图像创建它们,但由于形状正在通过纹理旋转,这是行不通的。
c++ - SDL 从纹理中读取像素
我想使用 SDL2 库从纹理中读取像素。我知道直接从纹理中读取像素是不可能的,但是您可以使用以下函数:
基本上,我想要在我的应用程序中做的是从窗口屏幕读取单个像素并检测它是否是透明像素。我该如何使用该功能?什么是 pitch 属性,我如何定义 SDL_Rect 以及如何获得正确格式的像素?如您所见,我正在检测鼠标左键单击事件并将 x 和 y 坐标传递给方法:
c++ - 在 SDL2 中创建 TextureManager 的最有效方法
我正在研究一个小型 SDL2 示例,并且正在考虑创建一个 TextureManager。我有一个小的抽象,一个处理 IMG_LoadTexture 和 SDL_RenderCopy 的类。在构造函数期间,我运行 IMG_LoadTexture 并将 SDL_Texture* 存储在成员变量上。之后,如果调用 render() 方法,我运行 SDL_RenderCopy。我希望那些抽象的 Texture 对象存在于 TextureManager 中,它具有渲染器实例并处理所有渲染。
最好的方法是什么?一个带有所有纹理实例的向量?这怎么能更有效率?这是一个适当的抽象吗?