1
0
Fork 0

Add output type texturepp for pixel-perfect scaling

The new output type `texturepp' was added, which implements
pixel-perfect scaling using SDL's hardware-accelerated texture output.
In pixel-pefect mode, each original pixel is displayed as a rectangle m
by n pixels, so that m:n yields a reasonably good approximation of the
pixel aspect ratio (PAR) of the emulated graphical mode while using as
much screen space as possible. The balance between the precision of
aspect ratio and the utilisation of screen space is specified as the
`parweight' parameter to pp_getscale() and is currently hard-coded in
sdlmain.cpp.

This implementation emulatates pixel-perfect mode as a special case of
nearest-neighbor interpolation when the horisontal and vertical scaling
factors are integers.
This commit is contained in:
Anton Shepelev 2020-01-29 02:41:33 +03:00 committed by Patryk Obara
parent 83f625178a
commit d1be65b105
10 changed files with 398 additions and 39 deletions

View file

@ -252,6 +252,7 @@
<ClCompile Include="..\src\libs\decoders\vorbis.c" />
<ClCompile Include="..\src\libs\decoders\wav.c" />
<ClCompile Include="..\src\libs\nuked\nukedopl.cpp" />
<ClCompile Include="..\src\libs\ppscale\ppscale.c" />
<ClCompile Include="..\src\misc\cross.cpp" />
<ClCompile Include="..\src\misc\messages.cpp" />
<ClCompile Include="..\src\misc\programs.cpp" />
@ -375,6 +376,7 @@
<ClInclude Include="..\src\libs\decoders\xxh3.h" />
<ClInclude Include="..\src\libs\decoders\xxhash.h" />
<ClInclude Include="..\src\libs\nuked\nukedopl.h" />
<ClInclude Include="..\src\libs\ppscale\ppscale.h" />
<ClInclude Include="..\src\platform\visualc\config.h" />
<ClInclude Include="..\src\platform\visualc\unistd.h" />
</ItemGroup>