Skip to content

Commit

Permalink
Improve undersampling settings
Browse files Browse the repository at this point in the history
The setting now accepts values between 1 and 8 in the
Advanced Settings menu.
Values 0 and 1 now behave the same way (setting it to 1 won't
disable MSAA anymore), so there's no need to expose 0 as a value.

This closes #8939.
  • Loading branch information
Calinou authored and SmallJoker committed Sep 17, 2019
1 parent e0a85fa commit 05a7da6
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
7 changes: 4 additions & 3 deletions builtin/settingtypes.txt
Expand Up @@ -508,10 +508,11 @@ texture_min_size (Minimum texture size) int 64
# when set to higher number than 0.
fsaa (FSAA) enum 0 0,1,2,4,8,16

# Undersampling is similar to using lower screen resolution, but it applies
# Undersampling is similar to using a lower screen resolution, but it applies
# to the game world only, keeping the GUI intact.
# It should give significant performance boost at the cost of less detailed image.
undersampling (Undersampling) enum 0 0,2,3,4
# It should give a significant performance boost at the cost of less detailed image.
# Higher values result in a less detailed image.
undersampling (Undersampling) int 1 1 8

[**Shaders]

Expand Down
8 changes: 4 additions & 4 deletions src/client/render/plain.cpp
Expand Up @@ -35,7 +35,7 @@ RenderingCorePlain::RenderingCorePlain(

void RenderingCorePlain::initTextures()
{
if (!scale)
if (scale <= 1)
return;
v2u32 size{scaledown(scale, screensize.X), scaledown(scale, screensize.Y)};
lowres = driver->addRenderTargetTexture(
Expand All @@ -44,21 +44,21 @@ void RenderingCorePlain::initTextures()

void RenderingCorePlain::clearTextures()
{
if (!scale)
if (scale <= 1)
return;
driver->removeTexture(lowres);
}

void RenderingCorePlain::beforeDraw()
{
if (!scale)
if (scale <= 1)
return;
driver->setRenderTarget(lowres, true, true, skycolor);
}

void RenderingCorePlain::upscale()
{
if (!scale)
if (scale <= 1)
return;
driver->setRenderTarget(0, true, true);
v2u32 size{scaledown(scale, screensize.X), scaledown(scale, screensize.Y)};
Expand Down

0 comments on commit 05a7da6

Please sign in to comment.