`
lobin
  • 浏览: 417578 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SDL

 
阅读更多

SDL2

SDL相关资料

mpg123

http://www.mpg123.de/

libTiMidity

https://sourceforge.net/projects/libtimidity

 

 

SoX

https://sourceforge.net/projects/sox

 

libmpeg2

https://sourceforge.net/projects/libmpeg2

 

安装SDL2

./configure --prefix=/usr/local/SDL2-2.0.7

make

make install

 

目录结构

写道
├─bin
│ sdl2-config
│ SDL2.dll

├─include
│ └─SDL2
│ begin_code.h
│ close_code.h
│ SDL.h
│ SDL_assert.h
│ SDL_atomic.h
│ SDL_audio.h
│ SDL_bits.h
│ SDL_blendmode.h
│ SDL_clipboard.h
│ SDL_config.h
│ SDL_cpuinfo.h
│ SDL_egl.h
│ SDL_endian.h
│ SDL_error.h
│ SDL_events.h
│ SDL_filesystem.h
│ SDL_gamecontroller.h
│ SDL_gesture.h
│ SDL_haptic.h
│ SDL_hints.h
│ SDL_joystick.h
│ SDL_keyboard.h
│ SDL_keycode.h
│ SDL_loadso.h
│ SDL_log.h
│ SDL_main.h
│ SDL_messagebox.h
│ SDL_metal.h
│ SDL_mouse.h
│ SDL_mutex.h
│ SDL_name.h
│ SDL_opengl.h
│ SDL_opengles.h
│ SDL_opengles2.h
│ SDL_opengles2_gl2.h
│ SDL_opengles2_gl2ext.h
│ SDL_opengles2_gl2platform.h
│ SDL_opengles2_khrplatform.h
│ SDL_opengl_glext.h
│ SDL_pixels.h
│ SDL_platform.h
│ SDL_power.h
│ SDL_quit.h
│ SDL_rect.h
│ SDL_render.h
│ SDL_revision.h
│ SDL_rwops.h
│ SDL_scancode.h
│ SDL_sensor.h
│ SDL_shape.h
│ SDL_stdinc.h
│ SDL_surface.h
│ SDL_system.h
│ SDL_syswm.h
│ SDL_test.h
│ SDL_test_assert.h
│ SDL_test_common.h
│ SDL_test_compare.h
│ SDL_test_crc32.h
│ SDL_test_font.h
│ SDL_test_fuzzer.h
│ SDL_test_harness.h
│ SDL_test_images.h
│ SDL_test_log.h
│ SDL_test_md5.h
│ SDL_test_memory.h
│ SDL_test_random.h
│ SDL_thread.h
│ SDL_timer.h
│ SDL_touch.h
│ SDL_types.h
│ SDL_version.h
│ SDL_video.h
│ SDL_vulkan.h

├─lib
│ │ libSDL2.a
│ │ libSDL2.dll.a
│ │ libSDL2.la
│ │ libSDL2main.a
│ │ libSDL2main.la
│ │ libSDL2_test.a
│ │ libSDL2_test.la
│ │
│ ├─cmake
│ │ └─SDL2
│ │ sdl2-config-version.cmake
│ │ sdl2-config.cmake
│ │
│ └─pkgconfig
│ sdl2.pc

└─share
└─aclocal
sdl2.m4

 

SDL2

渲染

创建渲染器

extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateRenderer(SDL_Window * window,

                                               int index, Uint32 flags);

 

另外两个创建渲染器的函数

extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateSoftwareRenderer(SDL_Surface * surface);

 

extern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(

                                int width, int height, Uint32 window_flags,

                                SDL_Window **window, SDL_Renderer **renderer);

 

对应有个销毁渲染器的函数

extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);

 

纹理

创建纹理

extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTexture(SDL_Renderer * renderer,

                                                        Uint32 format,

                                                        int access, int w,

                                                        int h);

 

extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTextureFromSurface(SDL_Renderer * renderer, SDL_Surface * surface);

 

对应有个销毁纹理的函数

extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);

 

Surface

表面?外表?表层?面层。。。我有时候也理解为遮罩层。

SDL只提供了创建RGB的Surface

extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface

    (Uint32 flags, int width, int height, int depth,

 

     Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);

 

extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormat

    (Uint32 flags, int width, int height, int depth, Uint32 format);

 

extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,

                                                              int width,

                                                              int height,

                                                              int depth,

                                                              int pitch,

                                                              Uint32 Rmask,

                                                              Uint32 Gmask,

                                                              Uint32 Bmask,

                                                              Uint32 Amask);

 

extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormatFrom

    (void *pixels, int width, int height, int depth, int pitch, Uint32 format);

 

另外还有2个通过加载bmp图像创建Surface:

extern DECLSPEC SDL_Surface *SDLCALL SDL_LoadBMP_RW(SDL_RWops * src,

                                                    int freesrc);

 

#define SDL_LoadBMP(file)   SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)

 

对应也有个释放销毁Surface的函数

extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface * surface);

 

 

 

图像

 

音频

写道
Supported are RIFF WAVE files with the formats PCM (8, 16, 24, and 32 bits), IEEE Float (32 bits), Microsoft ADPCM and IMA ADPCM (4 bits), and A-law and µ-law (8 bits). Other formats are currently unsupported and cause an error.

参考SDL_LoadWAV和SDL_LoadWAV_RW:

extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src,

                                                      int freesrc,

                                                      SDL_AudioSpec * spec,

                                                      Uint8 ** audio_buf,

                                                      Uint32 * audio_len);

 

#define SDL_LoadWAV(file, spec, audio_buf, audio_len) \

    SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len)

视频

 

分享到:
评论

相关推荐

    SDL2_SDL2_SDL2_

    【标题】"SDL2_SDL2_SDL2_" 指的是 Simple DirectMedia Layer 的第二版,这是一个跨平台的开发库,主要用于处理图形、音频、输入设备等方面,广泛应用于游戏开发和其他多媒体应用。SDL2 提供了底层访问硬件的能力,...

    SDL_ttf-2.0.8.tar.gz_SDL ttf_SDL_ttf_linux_linux SDL_ttf.h

    《SDL_ttf-2.0.8:在Linux下构建图形界面的利器》 SDL_ttf,全称为Simple DirectMedia Layer TTF(简单直接媒体层TrueType字体库),是SDL库的一个扩展,专为在Linux操作系统上处理TrueType字体而设计。这个版本,...

    SDL入门教程中文(最好的SDL入门教程,自己手工整理)

    ### SDL入门教程中文知识点概述 #### 一、SDL简介 - **定义**:SDL(Simple DirectMedia Layer)是一个跨平台的多媒体库,旨在提供对多媒体硬件底层的直接控制接口。其核心功能涵盖音频处理、输入设备(如键盘、...

    SDL中文帮助文档

    这个“SDL中文帮助文档”是为初学者和开发者提供的一份详尽指南,旨在加速对SDL的理解和应用。这份文档以中文呈现,使得国内的开发者能够更方便地学习和掌握SDL的核心功能和使用技巧。 在SDL的帮助下,开发者可以...

    SDL2.0.3源码安装包

    **标题解析:** "SDL2.0.3源码安装包" 指的是Simple DirectMedia Layer(SDL)的版本2.0.3的源代码安装包。SDL是一个跨平台的开发库,主要用于处理图形、音频、输入设备等多媒体功能,尤其在游戏开发和图形用户界面...

    Qt+FFMPEG+SDL实现的视频播放器

    **Qt+FFMPEG+SDL实现的视频播放器** 在软件开发中,创建一个功能完备的视频播放器是一项挑战,但结合Qt、FFmpeg和SDL(Simple DirectMedia Layer)库,我们可以构建出一个高效且跨平台的解决方案。下面将详细阐述这...

    SDL2-2.28.5.zip

    10. **扩展库**:除了基本功能,SDL还有许多扩展库,如SDL_ttf用于TrueType字体渲染,SDL_image用于加载多种图像格式,SDL_mixer用于音频混音,SDL_net则提供了网络通信功能。 总的来说,SDL 2.28.5是一个强大的...

    SDL2-2.0.8.tar.gz

    **标题解析:** "SDL2-2.0.8.tar.gz" 是一个压缩包文件,其中 "SDL2" 表示 Simple DirectMedia Layer 的第二版,这是一个跨平台的开发库,用于处理图形、音频和输入设备。版本号 "2.0.8" 指示这是该库的第 2.0.8 ...

    sdl的linux源码包SDL2-2.0.2

    10. **扩展库**:有许多基于SDL2的扩展库,如SDL_ttf用于文本渲染,SDL_image处理图像加载,SDL_mixer处理音频混合等。 在实际使用中,开发者需要了解如何配置和编译SDL2源代码,以及如何在项目中集成和使用它的API...

    SDL_ttf-2.0.9.rar_.ttf_SDL_ttf-2_TTFILk_sdlttf_ttfiLk下载

    这个压缩包“SDL_ttf-2.0.9.rar_.ttf_SDL_ttf-2_TTFILk_sdlttf_ttfiLk下载”包含了SDL_ttf库的版本2.0.9,它是一个用于SDL(Simple DirectMedia Layer)库的扩展,使得开发者能够方便地在他们的应用中添加文本显示...

    SDL图像旋转库函数

    SDL_gfx库是一个用于SDL(Simple DirectMedia Layer)的扩展库,主要提供了丰富的图形操作功能,包括图像旋转和缩放。这个库对于游戏开发者、图形界面设计师和其他需要在SDL平台上进行2D图形处理的程序员来说非常...

    CENTOS8安装SDL2所需文件

    在Linux系统中,特别是对于开发和测试多媒体应用的开发者来说,Simple DirectMedia Layer(SDL2)是一个必不可少的库。它提供了跨平台的图形、音频和输入功能,使得开发者能够轻松地创建高性能的游戏、图形界面和...

    滴滴SDL体系建设--滴滴SDL从0-1建设历程.pdf

    SDL,即Security Development Lifecycle(安全开发生命周期),是针对软件开发过程中的安全性管理,提出的一套管理方法论,强调在软件的生命周期的每个阶段都考虑并融入安全性措施。滴滴出行作为一家大型互联网企业...

    SDL2_image

    **SDL2_image库详解** `SDL2_image`是SDL(Simple DirectMedia Layer)的一个扩展库,主要用于处理图像加载和渲染。这个库使得开发者能够轻松地将各种格式的图像文件(如JPEG、PNG、TIF等)引入到他们的游戏或者...

    SDL-1.3 SDL.lid SDL.dll SDL.h

    标题"SDL-1.3 SDL.lid SDL.dll SDL.h"中,"SDL-1.3"代表这是一个关于Simple DirectMedia Layer(SDL)库的版本1.3的相关内容。"SDL.lid"、"SDL.dll"和"SDL.h"是SDL库在Windows环境下开发和运行时所需的三个关键文件...

    SDL2帮助文档(离线版)

    **SDL2帮助文档离线版概述** SDL2(Simple DirectMedia Layer 2)是一个跨平台的开发库,专为游戏开发和其他实时多媒体应用设计。它提供了低级别的硬件访问,包括图形渲染、音频处理、输入设备管理和窗口管理。SDL2...

    SDL函数库详细介绍.doc

    本文将深入探讨SDL库中的几个核心函数:`SDL_Init`、`SDL_InitSubSystem`、`SDL_QuitSubSystem`、`SDL_Quit`及`SDL_WasInit`。 1. **`SDL_Init`** 函数是使用SDL库的第一步,负责初始化SDL支持的子系统。它的原型...

    SDL2-2.0.2.tar.gz源码

    标题"SDL2-2.0.2.tar.gz源码"表明这是一个开源软件库的源代码包,使用的是版本控制格式`.tar.gz`,具体来说是SDL2库的2.0.2版本。SDL2是Simple DirectMedia Layer的第二版,是一个跨平台的开发库,主要用于处理...

    SDL2-2.0.8 SDL2_ttf-2.0.14

    标题 "SDL2-2.0.8 SDL2_ttf-2.0.14" 提供的是两个关键库的版本信息:SDL2 和 SDL2_ttf。这两个是用于游戏开发和图形用户界面的重要库,广泛应用于跨平台的软件开发。 **SDL2(Simple DirectMedia Layer 2)** 是一...

    linux sdl 库和头文件

    SDL_Window *window = SDL_CreateWindow("SDL示例", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_...

Global site tag (gtag.js) - Google Analytics