标签: sdl-2

如何有效地使用SDL2渲染字体和文本?

在这里看到这篇文章关于使用SDL_ttf在游戏中渲染文本.但是,这种方法需要每个帧调用SDL_CreateTextureFromSurface()以及SDL_FreeSurface()和SDL_DestroyTexture().

创建纹理(并且可能随后必须将它们发送到GPU)每一帧都会对我的性能产生重大影响吗?

使用SDL_ttf只是用我的整个渲染字符集创建一个纹理然后自己从那里开始逐个字符?

编辑:我希望只用美国英语(基本ASCII)渲染简单的等宽字体.

fonts sdl truetype sdl-ttf sdl-2

20
推荐指数
2
解决办法
2万
查看次数

将SDL2与CMake一起使用

我正在尝试使用CLion来创建一个SDL2项目.问题是使用#include时无法找到SDL标头.

我的CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.8.4)
project(ChickenShooter)

set(SDL2_INCLUDE_DIR C:/SDL/SDL2-2.0.3/include)
set(SDL2_LIBRARY C:/SDL/SDL2-2.0.3/lib/x64)

include_directories(${SDL2_INCLUDE_DIR})
set(SOURCE_FILES main.cpp)

add_executable(ChickenShooter ${SOURCE_FILES})
target_link_libraries(ChickenShooter ${SDL2_LIBRARY})
Run Code Online (Sandbox Code Playgroud)

我的测试main.cpp:

#include <iostream>
#include "SDL.h" /* This one can't be found */

int main(){
    if (SDL_Init(SDL_INIT_VIDEO) != 0){
        std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
        return 1;
    }
    SDL_Quit();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢你能给我的任何帮助.

编辑:我正在使用Windows,而CLion配置为使用cygwin64.

c++ cmake sdl-2

18
推荐指数
5
解决办法
3万
查看次数

cmake:前导或尾随空格(策略CMP0004)

我正在关注这个问题.但是我的cmake面孔有错误:

-- Configuring done
CMake Error at CMakeLists.txt:18 (add_executable):
  Target "main" links to item "-L/usr/lib/x86_64-linux-gnu -lSDL2 " which has
  leading or trailing whitespace.  This is now an error according to policy
  CMP0004.


-- Generating done
Run Code Online (Sandbox Code Playgroud)

cmake列表有什么问题?

我不认为轻微的cmake版本差异会导致这样的错误.

# CMakeLists.txt

cmake_minimum_required(VERSION 3.5.1)
project (main)

add_executable(main
    main.cpp
)

find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIRS})
target_link_libraries(main ${SDL2_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

.

// main.cpp

int main()
{
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

更新:

的内容 /usr/lib/x86_64-linux-gnu/cmake/SDL2/sdl2-config.cmake

# sdl2 cmake project-config input for ./configure scripts

set(prefix …
Run Code Online (Sandbox Code Playgroud)

c++ cmake sdl-2

16
推荐指数
2
解决办法
2832
查看次数

如何在我的程序中正确使用 SDL2?

我想使用 SDL2 制作游戏,但我无法编译和/或运行我的代码,请帮助!

众所周知,SDL2 很难设置,它通常是有抱负的游戏开发人员尝试使用的第一个库。

这篇文章旨在作为设置 SDL2 的常见问题的规范副本。

c c++ sdl sdl-2

16
推荐指数
1
解决办法
4303
查看次数

SDL2:LNK1561:必须定义入口点

我想编译这段代码:

#include <SDL.h>

int main(int argc, char* argv[]) {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但它无法联系起来: Error 1 error LNK1561: entry point must be defined

这个库里有一些奇怪的代码:http://hg.libsdl.org/SDL/file/75726efbf679/include/SDL_main.h

#define main    SDL_main
Run Code Online (Sandbox Code Playgroud)

我也加入SDL2.lib;SDL2main.lib了Project Settings => Linker => Input.

我该怎么做才能运行这个项目?
VS 2012 SP3,空C++项目.

c c++ sdl visual-c++ sdl-2

15
推荐指数
2
解决办法
3万
查看次数

如何在SDL 2中获取并保存BMP屏幕截图?

仅使用给定的SDL_Window*和SDL_Renderer*,如何在SDL 2.0中创建和保存屏幕截图?

c++ opengl sdl sdl-2

15
推荐指数
2
解决办法
6792
查看次数

SDL物理密钥代码和SDL虚拟密钥代码之间有什么区别?

结构SDL_KeysymSDL_ScancodeSDL_Keycode成员.他们之间有什么区别?文档并没有真正为我清除它.我试过两个,他们似乎做同样的事情.

c keyboard scancodes sdl-2

15
推荐指数
2
解决办法
8315
查看次数

如何在SDL2中禁用密钥重复?

曾经有一个SDL_EnableKeyRepeat()在SDL中命名的函数,但在SDL2中不再存在.

我在SDL2-wiki中搜索过但未能找到任何相关内容.

有任何想法吗?

sdl sdl-2

14
推荐指数
3
解决办法
1万
查看次数

在SDL 2中获取Contiunous Window Resize事件

我使用以下结构来获取调整大小的SDL窗口的新宽度和高度.但是使用这种结构,我只能在完成调整大小后才能获得新数据,即完成拖动并释放鼠标按钮.如何连续获取新数据,就在我拖动窗口的时候.

if (sdl_set->GetMainEvent()->type == SDL_WINDOWEVENT)
{
  if (sdl_set->GetMainEvent()->window.event == SDL_WINDOWEVENT_RESIZED)
  {
    ScreenWidth = sdl_set->GetMainEvent()->window.data1;
    ScreenHeight = sdl_set->GetMainEvent()->window.data2;
    cout << "Window Resized!" << endl;
  }
}
Run Code Online (Sandbox Code Playgroud)

c++ sdl-2

14
推荐指数
1
解决办法
3647
查看次数

使用 SDL2 渲染器绘制填充四边形/三角形的最快方法?

我有一个使用 SDL2 编写的游戏,以及用于绘图的 SDL2 渲染器(硬件加速)。有没有绘制填充四边形或三角形的技巧?

目前,我只是通过绘制大量线条(SDL_Drawlines)来填充它们,但性能很差。

我不想进入OpenGL。

c++ sdl sdl-2

14
推荐指数
1
解决办法
8890
查看次数

标签 统计

sdl-2 ×10

c++ ×7

sdl ×6

c ×3

cmake ×2

fonts ×1

keyboard ×1

opengl ×1

scancodes ×1

sdl-ttf ×1

truetype ×1

visual-c++ ×1