小编Phi*_*2d3的帖子

SDL2 - 如何用一个缓冲区而不是两个缓冲区渲染?

在SDL2中,我希望能够将更改绘制到一个缓冲区,而不是将整个图像重绘为两个不同的缓冲区,就像我的设置似乎正在做的那样.下面是一个非常快速的测试,显示了不需要的行为:

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <SDL.h>

// Compile: gcc test.c -I/usr/local/include/SDL2 -L/usr/local/lib -lSDL2


void putPixel(SDL_Renderer *renderer, int x, int y)
{
    SDL_SetRenderDrawColor(renderer, 255,255,255,255);
    SDL_RenderDrawPoint(renderer, x, y);
}

int main(int argc, char* argv[]) {

    int width = 640;
    int height = 480;

    SDL_Window *window = SDL_CreateWindow("Test", 0,0,width,height, 0);
    if (window == NULL)
    {
        return -1;
    }
    SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
    if (renderer == NULL)
    {
        return -2;
    }

    SDL_SetRenderDrawBlendMode(renderer,SDL_BLENDMODE_BLEND);

    SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
    SDL_RenderClear(renderer);

    for(int …
Run Code Online (Sandbox Code Playgroud)

c sdl sdl-2

2
推荐指数
1
解决办法
2789
查看次数

标签 统计

c ×1

sdl ×1

sdl-2 ×1