首页 文章
  • 0 votes
     answers
     views

    Ubuntu 10.04.3 LTS上的libsdl2-image-2.0-0

    我试图在Ubuntu 10.04.3 LTS上安装libsdl2-image-2.0-0,我收到此错误:“错误:依赖性不可满足:libc6(> = 2.14)” 我已经“升级”到最新版本的Linux,这不是我的一杯茶 . 我最终重新安装了Ubuntu 10.04.3 LTS . 所有这些都说,我怎样才能让SDL 2.0在这个版本的Linux上运行?谢谢!
  • 1 votes
     answers
     views

    SDL2:渲染引擎设计

    我正在创建基于SDL2库的简单游戏渲染引擎 . 我的设计看起来类似于这个ASCII图 . DrawTarget RenderTarget | | | | +---> Window <---+ DrawTarget 是适用于SDL_Surface blitting的绘制目标的抽象类 . Re...
  • 4 votes
     answers
     views

    SDL加速渲染

    我试图了解使用SDL 2.0的整个2D加速渲染过程 .所以我的问题是在屏幕上绘制圆圈的最有效方法是什么?为什么? 有些方法是: 首先创建一个软件表面,然后在该表面上绘制必要的像素,然后从该表面创建一个纹理,最后将该纹理复制到渲染目标 . 另一个实现是使用SDL_RenderDrawLine多次绘制一个圆圈 . 我认为这是在SDL 2.0 gfx中实现它的方式 或者有更有效的方法来完成所...
  • 0 votes
     answers
     views

    每个SDL_Window多个SDL_renderer

    在将SDL1.2转换为SDL2.x期间,我遇到以下问题: Cntext:全屏应用程序,带有2个基于SDL_Surface的滚动对话框 . 每个滚动对话框都有很多项 . 我在屏幕的这些部分实现了swype . 在此旁边,屏幕上有几个按钮,图像和背景 . 问题:因为这很慢且有人工制品,我想改为SDL2 . 由于SDL2完全不同,我需要建议如何继续 . 什么方法最好? 使用1个窗口,3个SDL_re...
  • 2 votes
     answers
     views

    SDL2 - 渲染纹理alpha通道

    我正在寻找一种专门渲染纹理的alpha通道的方法 . 这个想法是在运行时创建一个“掩码”,即渲染一个纹理,作为另一个纹理的alpha通道 . 注意:我知道如何使用alpha通道和颜色键,所以请求't explain about those :) what I' m寻找是一种使用其他纹理在运行时动态生成掩码的方法 . 我更喜欢利用图形卡的解决方案,而不是涉及获取像素缓冲区并在cpu中操作它们的东西 ...
  • 1 votes
     answers
     views

    SDL_Texture导致所有内容呈现黑色

    我已经在SDL中开发了一个相当大的应用程序一段时间,最近发现了一个奇怪的错误;每当窗口关闭时,另一个窗口上的所有内容都将呈现完全黑色 . 当我画一条红线时,它会是黑色的,当我画一个SDL_Texture时,它会画一个黑色矩形来代替图像 . 过了一会儿,我设法通过从头开始制作应用程序的简化版本来重新创建问题 . 该程序包括一个窗口类,用于存储窗口,其渲染器和SDL_Texture . 窗口类还包括一...
  • 0 votes
     answers
     views

    在几个SDL_Renderers上使用SDL_Texture *

    我试图在两个单独的SDL_Renderer *上使用相同的SDL_Texture *,但显然SDL_Texture似乎是"tied"到SDL_Renderer * .有没有办法让第二个渲染器能够使用第一个渲染器通过SDL_CreateTextureFromSurface创建的纹理?如果我尝试只复制SDL_Texture *指针并使用SDL_RenderCopy与第二个渲染器,屏...
  • 11 votes
     answers
     views

    SDL2 /表面/纹理/渲染

    我正在努力学习SDL2 . 旧SDL和SDL2之间的主要区别(我可以看到)是旧的SDL具有由其表面表示的窗口,所有图片都是表面,所有图像操作和blits是表面到表面 . 在SDL2中,我们有表面和纹理 . 如果我做对了,表面在RAM中,纹理在图形内存中 . 是对的吗? 我的目标是为SDL2制作面向对象的包装器,因为我对SDL有类似的东西 . 我想拥有类窗口和类图片(具有私有纹理和表面) . 窗口将...
  • 4 votes
     answers
     views

    C SDL2-是否可以消除一些抽象层?

    我一直在努力学习如何将SDL库与C(而不是C)一起使用,并且最近发现我遇到的所有错误的原因是我正在查看SDL1教程,而不是SDL2教程 . 我已经发现SDL2在SDL1上实现了许多抽象层(据我所知),这似乎是不可能绕过的 . 具体来说,在SDL1中,在屏幕上绘制一组像素是通过以下方式完成的: 定义曲面 - 找到像素的rgb值 - 在曲面上绘制像素 - 在屏幕上绘制曲面 在SDL2中,它似乎完成了:...
  • -1 votes
     answers
     views

    无法将'SDL_Rect'转换为'const SDL_Rect*'

    我正在使用SDL2 . 我有一个精灵类中的SDL rects,我想在 SDL_Render_copy() 函数的main中访问,但我一直收到这个错误: 无法将'SDL_Rect'转换为'const SDL_Rect *'以将参数'3'转换为'int SDL_RenderCopy(SDL_Renderer *,SDL_Texture *,const SDL_Rect *,const SDL_Rec...
  • 0 votes
     answers
     views

    SDL颜色键SDL_Texture

    我熟悉SDL中的颜色键控以从图像中删除背景像素 . 但是,我有一个函数,它使用 SDL_SetRenderTarget 将几个纹理层叠在一起,我想对结果进行颜色键控 . 图像不能提前进行颜色键控,因为如果它们是透明的,则前一层将在最终结果中可见 . 从SDL_SetColorKey的文档中,看起来我只能使用 SDL_Surface 颜色键,但我只能使用 SDL_SetRenderTarget 将图...
  • 2 votes
     answers
     views

    1通道位图到SDL_Texture

    给定 unsigned char[] 表示的单通道位图(从0到255的alpha),有什么方法可以使SDL_Texture脱颖而出?位图没有额外的数据 . 答案 auto* surf = SDL_CreateRGBSurfaceFrom(bitmap, width, height, 8, width, 0, 0, 0, 0); SDL_Color colors[256]; { Uint8 ...
  • 0 votes
     answers
     views

    如何从许多纹理的部分(C,SDL 2)创建一个位图?

    我有* .png文件,我想从纹理中获取不同的8x8 px部分并将它们放在位图上(SDL_Surface,我猜,但可能不是),像这样: 现在我渲染没有位图,即我调用每个纹理并在每个帧上直接在屏幕上绘制部分,而且它太慢了 . 我想我需要加载每个* .png来分隔位图并使用它们传递视频内存,然后调用一个大位图,但也许我错了 . 我需要最快的方法,我需要这个代码(SDL 2,而不是SDL 1.3) . ...
  • 6 votes
     answers
     views

    从SDL2表面创建OpenGL纹理 - 奇怪的像素值

    我正在尝试使用SDL2为Wavefront Objects的OpenGL渲染加载纹理(目前我正在使用固定管道进行测试,但我最终计划移动到着色器) . 问题是应用于四边形的加载纹理(以及使用纹理右下角的一小部分的模型)如下所示: A sample of the effect http://image-upload.de/image/daKaEf/e433b140c9.png This is the ...
  • 3 votes
     answers
     views

    SDL2时间点功能之间的平滑纹理(精灵)动画

    目前我试图通过硬件加速技术(DirectX或OpenGL)开发平滑的动画效果,我目前的目标很简单,我想在给定的持续时间内将纹理从A点移动到B点,这是动画对象的经典方式, 我读了很多关于Robert Penner插值的内容,为此我想在最简单的线性插值中设置我的纹理动画,如下所述:http://upshots.org/actionscript/jsas-understanding-easing 一切正...
  • 0 votes
     answers
     views

    SDL2程序仅在使用SDL_RENDERER_SOFTWARE创建渲染器时才有效

    我用C&SDL2编写了一个程序: 创建一个窗口 获取窗口的表面 为窗口创建渲染器 将一些填充的矩形渲染到窗口上 从窗口的表面创建纹理 清除屏幕 将一些实心圆圈渲染到窗口上 从窗口的表面创建第二个纹理 进入事件循环,每次按下一个键: 如果当前正在显示圆圈,则使用SDL_RenderCopy()将方块纹理复制到窗口 . 否则如果当前正在显示方块,则将圆形纹理...
  • 0 votes
     answers
     views

    C&SDL为什么直接处理我的对象而不是指针有时会导致问题?

    在尝试渲染一些纹理时,我遇到了一些非常奇怪的行为 . 我'm using a custom Texture warper based on Lazy Foo'的教程(http://lazyfoo.net/tutorials/SDL/43_render_to_texture/index.php)名为Texture, Build 在SDL 's texture class SDL_Texture. U...
  • 0 votes
     answers
     views

    如何在Raspbian上使用Codeblocks设置SDL

    我有一个程序,我在Windows中使用SDL库编写,我想为Raspbian编译 . 我在Raspbian上安装了CodeBlocks并按照这些说明设置SDL:http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/codeblocks/ 我收到以下错误:g -LC:/ SDL / lib -o bin / Debug / SDL_menu obj...
  • -2 votes
     answers
     views

    编译SDL2代码的错误

    我正在尝试在Lazy Foo上学习SDL2教程:http://lazyfoo.net/tutorials/SDL/01_hello_SDL/index2.php 我已经完成了教程,并且在执行程序时出现了我的窗口,即使编译教程代码时出现了很多编译错误 . 当我使用g编译器时,错误是: g++ sdl -w -lSDL2 sdl:(.rodata+0x0): multiple definition ...
  • 2 votes
     answers
     views

    SDL_Init失败,'SDL_Error: Failed to connect to the Mir Server'

    我是关于SDL的'm currently going through this website's教程:(http://lazyfoo.net/tutorials/SDL/01_hello_SDL/linux/index.php), 在Windows 10上使用Bash作为平台 . 我已经安装了SDL包apt-get install libsdl2-dev并能够编译课程源代码(http://laz...
  • 0 votes
     answers
     views

    如何在程序中包含SDL(Linux) . 对SDL_Init()的未定义引用

    我正在尝试一切来运行此测试程序并不断收到此错误消息: 克对象/ src_files / display.o对象/ src_files / main.o -o程序-L / USR /本地/ lib中的对象/ src_files / main.o:在功能 main': main.cpp:(.text+0x16): undefined reference to SDL_Init” collect2:错...
  • 2 votes
     answers
     views

    使用Haskell录制麦克风音频

    我正在研究一些语音识别软件作为我的第一个Haskell项目 . 我正在寻找可以跨平台工作的东西 . 我的计划如下: 将音频录制为.wav文件 使用https://hackage.haskell.org/package/flac将.wav文件转换为FLAC文件 . 向Google的Speech API发送语音API请求(可在此处查看https://cloud.google.com/spe...
  • 1 votes
     answers
     views

    如何在SDL2中渲染不规则的Sprite表

    我有一个精灵表's 155 x 66 pixels that I use for my game'的用户界面,我通过使用像素数并除以精灵数来看到很多关于渲染精灵表的主题 . 这个问题对我来说是一个GUI,精灵表上的按钮不能很好地对齐,所以我在精灵表上留下了不同大小的精灵 . 如下所示 . 如何在SDL2中渲染精灵表? Irregular Sprite Sheet
  • 0 votes
     answers
     views

    如何从VRAM中释放SDL_Texture?

    我对SDL_Texture的理解是: 当您调用SDL_CreateTextureFromSurface()时,SDL_Texture位于主存储器上 . 调用SDL_RenderCopy()时,纹理位于VRAM上 . 当您调用SDL_DestroyTexture()时,纹理将从VRAM和主内存中释放 . 我对么? 我正在创建一个应用程序,在渲染它们之前一次创建大量纹理,因为图像非常大...
  • 9 votes
     answers
     views

    cairo可以使用SDL_Texture作为渲染目标吗?

    Rendering to an SDL_Surface可以使用Cairo,但我的应用程序使用SDL_Renderer和SDL_Texture来利用2D加速渲染 . 我目前正在创建一个SDL_Surface并将其复制到一个带有SDL_CreateTextureFromSurface()的纹理,但是这个过程很麻烦且可能很慢(尽管它不是瓶颈 . )有没有直接的方法来绘制SDL_Texture?
  • 0 votes
     answers
     views

    如何从SDL_Renderer中解耦SDL_Texture?

    我有一个精灵类,它使用 SDL_Texture 而不是 SDL_Surface 来代替性能 . 该类看起来像这样: class Sprite { public: ... private: SDL_Texture *m_texture; SDL_Rect m_blitRect; int m_x; in...
  • 2 votes
     answers
     views

    SDL_Texture移动动画

    我想为我的迷你游戏进行插值 . 有2个SDL_Textures,当我先点击然后再点击第二个时,它们的位置会被交换,但没有移动动画 . 那么如何为SDL_Textures制作动画场所呢? void MainLoop() { SDL_Event Event; float t = 0.0f; float dt = 0.1f; float currentTime = 0.0f...
  • 1 votes
     answers
     views

    巨大的SDL_Textures - 内存不足

    我编写了一个基于Tilebased游戏的Prototyp来学习SDL.My map只是一个257x257的Tiles数组,每个Tile是1x1到60x60像素(不同的缩放).SDL窗口的分辨率为1024x768 . 所以我可以显示18x13到1024 * 768的瓷砖 . 直到现在我尝试了2个approches . 1st: Render from Tiles //for (at worst) 1...
  • 3 votes
     answers
     views

    如何从SDL_PixelFormatEnum或SDL_Texture获取SDL_PixelFormat?

    我一直在试图围绕SDL的基础知识,我对看似简单的东西感到难过 . SDL_MapRGB() 需要 const SDL_PixelFormat* ,我使用 SDL_PixelFormatEnum 在我的项目中创建纹理 unit32 . 但我找不到任何方法将其转换为 SDL_MapRGB() 使用 . 这可能比使用 SDL_MapRGB() 更简单,但这个问题仍然会让我感到困惑,因为你可以轻松地将其...
  • 0 votes
     answers
     views

    从源SDL_Texture中提取SDL_Texture

    我有以下功能,从用它们平铺的更大纹理中提取64x64像素纹理: SDL_Texture* cropTexture (SDL_Texture* src, int x, int y) { SDL_Texture* dst = SDL_CreateTexture(gRenderer, gSurface->format->format, SDL_TEXTUREACCESS_TARGET...

热门问题