Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve documentation of texture upscaling #3251

Open
garryo opened this issue Oct 14, 2015 · 7 comments
Open

Improve documentation of texture upscaling #3251

garryo opened this issue Oct 14, 2015 · 7 comments
Labels
@ Client / Audiovisuals Concept approved Approved by a core dev: PRs welcomed! @ Documentation Improvements or additions to documentation

Comments

@garryo
Copy link

garryo commented Oct 14, 2015

I use VanessaE's hdx64 texture set, but the server I visit has custom blocks not supported by hdx64.
However the minetest version I downloaded from github on 8th March 2015 upscales and blurs the server's custom blocks so that all blocks appear to have the same 64 pixel resolution.
The latest version from github (and versions going at least as far back as July) does NOT do this.

I have texture_min_size=64 in my config file, I have tried various values for this parameter and various filter settings to no avail.

this screenshot shows a plank block (supported by hdx) and stone tile and blue marble blocks (not supported). Unfortunately I can't show a "before" image because the strict protocol version policy in force on the server means I can no longer use the earlier client.

@PilzAdam
Copy link
Contributor

EDIT: sorry, I mixed something up here.

@PilzAdam PilzAdam added Not a bug The behaviour is working as intended and won't be changed and removed Not a bug The behaviour is working as intended and won't be changed labels Oct 14, 2015
@garryo
Copy link
Author

garryo commented Oct 15, 2015

PilzAdam, thank you for your response. I see you have edited your post, but in fact your initial response was correct: if I set texture_min_size=16 then all textures 16px and larger have the filters applied, which was the result I wanted.
The comments in the code and minetest.conf.example are ambiguous, and despite looking at them repeatedly, I would not have interpreted then this way without your comment.
Thanks again for your help.

@garryo garryo closed this as completed Oct 15, 2015
@PilzAdam
Copy link
Contributor

@garryo if my original comment was correct, then the doc here https://github.com/minetest/minetest/blob/master/minetest.conf.example#L292-L299 would be wrong. This needs to be reviewed.

@PilzAdam PilzAdam reopened this Oct 15, 2015
@PilzAdam PilzAdam added @ Client / Audiovisuals @ Documentation Improvements or additions to documentation labels Oct 15, 2015
@garryo
Copy link
Author

garryo commented Oct 15, 2015

@PilzAdam, I confirm that your original comment is indeed correct.
the comments in the .example file (and in the source: /src/client/tile.cpp ) should read something like:

When using bilinear/trilinear/anisotropic filters, low-resolution textures
can be blurred to remove pixellation and automatically upscaled using nearest-neighbor
interpolation. This parameter sets the minimum texture size that will be filtered,
that is to say textures this size and larger will be filtered, smaller textures will not.
Powers of 2 are recommended. Setting this will not have a visible effect
unless bilinear/trilinear/anisotropic filtering is enabled.

I would also suggest that the default value should be 16, not 64

@Warr1024
Copy link
Contributor

Your suggested comment is still not really correct. All textures, of any size, are filtered, when filtering is enabled. This option just performs a nearest-neighbor filter on the texture before the hardware linear filters are applied. That means that if your 16x16 texture is upscaled to 64x64, it will only be 1/4 as "blurry" as its 16x16 original would have been, when filtered by the hardware.

This option was added to allow people to enable linear/aniso filtering for some of its other benefits (such as reduced moire effects at long distance on some hardware, and aliasing "jaggies" within textures) without sacrificing the "pixellated" aesthetic that is MT's default. How textures in MT "should" look is highly bikesheddable, hence, customizable.

@paramat paramat added Bug Issues that were confirmed to be a bug and removed Bug Issues that were confirmed to be a bug labels Jan 4, 2018
@paramat
Copy link
Contributor

paramat commented Jan 4, 2018

Related recent change that may affect documentation #6580 #6586
@lhofhansl perhaps you're interested in updating these docs due to your experience?

@paramat paramat added the Request / Suggestion The issue makes a suggestion for something that should be done but isn't a new feature label Jan 4, 2018
@paramat paramat changed the title Texture upscaling and blurring does not work Improve documentation of texture upscaling May 16, 2018
@paramat paramat added the Concept approved Approved by a core dev: PRs welcomed! label Dec 30, 2018
@paramat paramat added Documentation missing / error and removed Request / Suggestion The issue makes a suggestion for something that should be done but isn't a new feature labels May 21, 2020
@siliconsniffer
Copy link
Contributor

@Zughy
Can this be marked as solved? The documentation was changed: #3251 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@ Client / Audiovisuals Concept approved Approved by a core dev: PRs welcomed! @ Documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

6 participants