Skip to content
Permalink
Browse files

Improve undersampling settings

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 05a7da627959afef2198f2036f4144e3d8abfbda
Showing with 8 additions and 7 deletions.
  1. +4 −3 builtin/settingtypes.txt
  2. +4 −4 src/client/render/plain.cpp
@@ -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]

@@ -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(
@@ -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)};

0 comments on commit 05a7da6

Please sign in to comment.
You can’t perform that action at this time.