SDL2像素操作

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

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
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值