SDL2像素操作
经过几天的研究,摸索出SDL2像素操作的方式
- 操作surface中的像素
- 操作texture中的像素
SDL2中,surface是直接放在内存中的,没有硬件加速.而texture放在显存中,有硬件加速,原理上应该效率更高.
直接贴两段代码
- surface方式
#include <SDL2/SDL.h>
SDL_Window* window = NULL;
SDL_Surface* surface = NULL;
void init()
{
SDL_Init(SDL_INIT_VIDEO);
window = SDL_CreateWindow("SDL", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
surface = SDL_GetWindowSurface(window);
}
int main()
{
init();
//锁定surface
SDL_Lock

本文介绍了SDL2中如何进行像素操作,包括对surface和texture的处理。SDL2的surface存储在内存中,不使用硬件加速,而texture位于显存中,具备硬件加速,能提升效率。文中提供两种将surface转换为texture的方法,并指出在使用中,窗口的surface和renderer不能同时存在,否则会出现问题。该研究在Ubuntu环境下进行。
4572

被折叠的 条评论
为什么被折叠?



