mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-06 06:34:35 +00:00
Added SDL_SCALEMODE_PIXELART
This is based on the algorithm presented by t3ssel8r: https://www.youtube.com/watch?v=d6tp43wZqps
This commit is contained in:
parent
853375da61
commit
3e9e22f17d
63 changed files with 15968 additions and 13125 deletions
|
|
@ -1488,7 +1488,7 @@ static int SDLCALL surface_testScale(void *arg)
|
|||
SDL_PIXELFORMAT_ARGB128_FLOAT, SDL_PIXELFORMAT_RGBA128_FLOAT,
|
||||
};
|
||||
SDL_ScaleMode modes[] = {
|
||||
SDL_SCALEMODE_NEAREST, SDL_SCALEMODE_LINEAR
|
||||
SDL_SCALEMODE_NEAREST, SDL_SCALEMODE_LINEAR, SDL_SCALEMODE_PIXELART
|
||||
};
|
||||
SDL_Surface *surface, *result;
|
||||
SDL_PixelFormat format;
|
||||
|
|
@ -1525,7 +1525,9 @@ static int SDLCALL surface_testScale(void *arg)
|
|||
deltaA <= MAXIMUM_ERROR,
|
||||
"Checking %s %s scaling results, expected %.4f,%.4f,%.4f,%.4f got %.4f,%.4f,%.4f,%.4f",
|
||||
SDL_GetPixelFormatName(format),
|
||||
mode == SDL_SCALEMODE_NEAREST ? "nearest" : "linear",
|
||||
mode == SDL_SCALEMODE_NEAREST ? "nearest" :
|
||||
mode == SDL_SCALEMODE_LINEAR ? "linear" :
|
||||
mode == SDL_SCALEMODE_PIXELART ? "pixelart" : "unknown",
|
||||
srcR, srcG, srcB, srcA, actualR, actualG, actualB, actualA);
|
||||
|
||||
SDL_DestroySurface(surface);
|
||||
|
|
|
|||
|
|
@ -132,6 +132,7 @@ int main(int argc, char *argv[])
|
|||
quit(2);
|
||||
}
|
||||
SDL_GetTextureSize(drawstate->sprite, &drawstate->sprite_rect.w, &drawstate->sprite_rect.h);
|
||||
SDL_SetTextureScaleMode(drawstate->sprite, SDL_SCALEMODE_PIXELART);
|
||||
drawstate->scale_direction = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue