Minetest logo

IRC log for #minetest-dev, 2023-11-13

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:26 turtleman joined #minetest-dev
04:06 v-rob joined #minetest-dev
05:00 MTDiscord joined #minetest-dev
07:15 nrz joined #minetest-dev
07:43 v-rob joined #minetest-dev
11:08 erle joined #minetest-dev
11:17 appguru joined #minetest-dev
12:55 Thomas-S_ joined #minetest-dev
14:59 imi joined #minetest-dev
16:22 fluxionary joined #minetest-dev
17:01 v-rob joined #minetest-dev
17:16 appguru joined #minetest-dev
18:02 appguru joined #minetest-dev
18:13 ROllerozxa is it a known issue that bi/trilinear filtering options are broken in 5.8.0-dev?
18:13 sfan5 for upscaling or downscaling?
18:16 erle ROllerozxa yes it is and i am going to figure it out right now and see if i can unbreak it. also, do you have an intel GPU?
18:16 erle ROllerozxa maybe relevant https://github.com/KhronosGroup/Vulkan-Docs/issues/1361
18:19 erle ROllerozxa TL;DR in the course of a settings refactoring, the “scale all textures up before applying filters” was replaced by “don't filter lowres textures”, which leads to three things: 1. no filtering at all for lowres textures (you can see the difference with 7px texture pack) 2. inconsistent filtering look if not all textures have the same size 3. extreme blurryness with anisotropic filtering on intel GPUs
18:19 erle i have several hours right now and am on it
18:19 ROllerozxa ok erle
18:20 ROllerozxa sfan5: unsure what you mean, basically what I would like the filtering to do is slightly blur the textures, like it used to do
18:20 MTDiscord <rollerozxa> https://cdn.discordapp.com/attachments/747163566800633906/1173688940000198756/image.png?ex=6564de01&amp;is=65526901&amp;hm=65ba9f6e6aaa234a17291ad280501448eab700d8549bc5a6c5f5dd3e4baa6f1d&amp;
18:20 ROllerozxa left is 5.7, right is 5.8-dev
18:21 erle ROllerozxa you can see the difference with my checkerboard test textures too.
18:22 erle ROllerozxa filtering was only ever done for downscaling IIRC, it was only that the textures were upscaled to min_texture_size or how it is called before, to a) get a uniform look with differently-sized textures b) work around the driver detail that using NEAREST with aniso is probably not going to give consistent behavior across implementations, ever
18:24 sfan5 so in formspec use
18:24 sfan5 for what seems to be upscaling
18:24 sfan5 wait no, that's nodes
18:24 erle i was exclusively referring to nodes actually, no idea what the case with formspecs is
18:25 erle same regression maybe? i'll find out.
18:25 sfan5 anyway https://github.com/minetest/minetest/pull/13683 will have changed this
18:26 erle ok then it's the same thing ig
18:27 erle oh wow https://github.com/minetest/irrlicht/pull/227
18:35 MTDiscord <warr1024> I like the fact that the new look is now available as an option. I'm don't feel very strongly about the fact that the old look was removed as an option; it might be nice in principle to have options, but whether it's worth the complexity of supporting it I guess depends on how strongly others' need for it is.  I would actually like to have the new look (being able to force nearest upscaling) as an option for skyboxes too.
18:35 erle Warr1024 the new look was always available as an option?
18:35 erle also, the ”new look” includes “intel GPU + anisotropic filtering is a mess”
18:35 erle (and the fix for that is the old look)
18:37 erle warr1024 there does not seem any big complexity in “supporting” the old look as far as i can tell. maybe i have not understood it correctly, what exactly do you mean?
18:38 MTDiscord <warr1024> The new look was NEVER an option.  If you wanted nearest-up you were forced to live with nearest-down.
18:39 MTDiscord <warr1024> Really, if irrlicht/GL/whatever offers separate up/down scaling filter options, we should just let users configure their clients with the same options, instead of having some "translation layer" that constrains it to only bad compromises.
18:42 erle i am pretty sure it is not too difficult to add a setting to makes the “new look” possible (would a toggle for upscaling textures before filtering do it alone? unsure, maybe you can work that out). but first order of business is fixing the regressions ig.
18:43 erle the lesson here is probably “not all deleted code is debugged code” ;)
18:45 MTDiscord <warr1024> No, I'm thinking that offering users one combined "filtering" option, and then translating it into separate up/down options on the backend, is just needlessly indirect.  We should just offer separate upscaling (linear vs nearest) and downscaling (nearest, bilinear, trilinear) options.
18:46 erle the issue with that is that this mental model does not actually work with the hardware, to quote from that vulkan issue:
18:46 erle > This is a legacy of the early days of aniso filtering in GL, when filters and modes were abused (in different ways by different vendors) to serve as quality hints.
18:47 MTDiscord <warr1024> Whether the hardware is capable or not of actually complying with the requested filtering options is irrelevant if we can't even allow the user to request the filtering options they actually want to try.
18:48 erle i agree with you that stuff should be an option. i just don't want it to break existing setups needlessly.
18:48 erle i'll be looking at the vulkan 1.3.249 spec update now
18:49 MTDiscord <warr1024> The backwards-compatible way to not break existing setups would be just to deprecate but not remove the old settings, use new settings for these, and then generate the new setting values by translating the old ones if the new ones are absent; we should be able to offer a migration path.
18:50 erle sorry i don't get what you mean. what are “old settings” and “new settings” in your example?
18:50 sfan5 spacebar heating etc.
18:51 MTDiscord <warr1024> All in all though I find it hard to imagine a workflow where a user notices that their graphic shit changed but can't just go back into the settings to fix them to their liking (and maybe experiment with the new options and find something even better).  It might be different if it were a server-side setting and it had a subtle effect on gameplay, but this is really a visual setting, which users are generally very good at noticing
18:51 MTDiscord and not at all shy about messing with.
18:51 erle it's less spacebar heating and more “the existing way works everywhere and looks like a horrible hack, but you can either not filter at all (thus breaking setups) or just keep it”
18:51 ROllerozxa what are you two talking about
18:51 ROllerozxa currently the bi/trilinear filtering settings do not do anything anymore. this is compared to in 5.7 where it would do something, namely filtering textures giving them a smooth/blurry look. whether that works well depends on the textures and artstyle, obviously wouldn't work well with 16x textures but for photorealistic textures it would
18:52 erle yes that is true
18:52 erle but they were broken on purpose
18:52 ROllerozxa I mean I don't want to automatically attribute malice
18:52 MTDiscord <warr1024> Wait, bi/tri now don't do anything anymore?  That's news to me, and I'm pretty sure I would have noticed if linear filtering were completely gone...
18:53 erle they do something, but not what you usually want
18:53 erle (or so i think)
18:53 erle as i said ROllerozxa try with my checkerboard test nodes.
18:54 ROllerozxa hm?
18:54 erle ROllerozxa those: https://github.com/minetest/minetest/pull/13955
18:55 MTDiscord <warr1024> okay, yeah, apparently filtering IS broken, and I just didn't notice it because mipmapping was doing a good enough job on the real-world textures I was using.
18:56 erle btw, you don't need to attribute malice. to me it looks like just regular “simplify code” refucktoring that literally all projects that don't have strict regression testing have. you can solve this by either requiring strict regression testing (infeasible) or requiring a “chesterton's fence” explanation.
18:56 MTDiscord <warr1024> there are still the checkboxes in the config UI but only the mipmapping one does anything, and it's nearest-mip-nearest, not even nearest-mip-linear.
18:56 erle (by “infeasible” i mean “infeasible in minetest in particular due to the people making those changes not being in favor of it, or they would do it”)
18:58 erle Warr1024 but how big are your ”real-world” textures?
18:58 MTDiscord <warr1024> 16px
18:58 grorp joined #minetest-dev
18:59 sfan5 did you all read the PR I linked?
18:59 MTDiscord <warr1024> I gave it a simple checkerboard to test, and with mipmapping turned off, the moire effects are evident (which should be no surprised at least)
18:59 MTDiscord <warr1024> https://cdn.discordapp.com/attachments/747163566800633906/1173698588593881158/screenshot_20231113_135729.png?ex=6564e6fd&amp;is=655271fd&amp;hm=d510568a8edb6880368cef8286ba34a552e49af9bfc390d95591d0045edce95b&amp;
18:59 grorp I'm quite sure they still do something, they just affect downscaling only now
18:59 erle grorp good that you here. is there anything in #13683 that needs to be salvaged or is the best course of action to revert it?
18:59 ShadowBot https://github.com/minetest/minetest/issues/13683 -- Clean up texture filtering settings by grorp
18:59 grorp Anway, just revert my PR, I really don't care
18:59 erle okie dokie
19:00 MTDiscord <warr1024> However, turning on mipmaps doesn't fix it, because there's now just this abrupt transition from the base texture to the first mip level, rather than the smooth blending that trilinear does.  Aniso is also missing, which sucks ... but I guess I could live with that most of the time.
19:00 MTDiscord <warr1024> https://cdn.discordapp.com/attachments/747163566800633906/1173698808736141383/screenshot_20231113_135758.png?ex=6564e732&amp;is=65527232&amp;hm=d9d8244aac1501de921f9766e66b50040db1a4c877d0072124165fb3deb2136b&amp;
19:00 erle Warr1024 if you have an intel GPU, turn on just anisotropic filtering and enjoy the blurrrrrr
19:00 grorp I think the option suggested by warr (give users low-level control over texture filtering) would be the best for the future
19:00 MTDiscord <warr1024> I never turned aniso off.
19:01 erle i agree
19:01 erle grorp Warr1024 i don't think giving fine-grained control is bad at all. i just think the state right now is borked.
19:01 MTDiscord <warr1024> I don't know what my GPU would be willing to actually do given various options, but at least I'd like to try and find out, and then I can go blame Intel if things don't work out instead of blaming Minetest.
19:02 erle no you can't blame intel, since the standards (e.g. opengl, vulkan) give the vendor a lot of leeway here and intel and AMD and nvidia seem to disagree for ilke 20+ years on what is the best to do in those kind of cases lol
19:03 erle that does not mean it is a bad thing to give that kind of control
19:03 erle i just think the default should be something that works everywhere (more or less)
19:03 MTDiscord <warr1024> It seems like I don't notice this stuff much during normal gameplay because I'm getting a lot of frames and I can just sort of "temporally average" while I'm moving ... but if I stand still, it becomes really noticeable, and that will have a big impact on screenshots and such.
19:04 erle same reason as why vp8 can get with 4:2:0 chroma subsampling and webp can't, motion! :P
19:04 MTDiscord <warr1024> I absolutely can blame Intel if they fail to give me the quality settings I want, regardless of how loose the spec is.
19:05 erle okay, you can, but it's not particularly likely to change anything in this case
19:05 MTDiscord <warr1024> Indeed.  Haha, even if I had fancy GPUs, I'd probably rather be playing with LLMs than GLSL with them 😄
19:06 erle i'll be compiling and testing if the revert works …
19:09 grorp a straight git revert won't compile with the newest IrrlichtMt, you have to move setFiltersMinetest into Minetest because it was removed from Irrlicht
19:09 erle i know
19:09 erle but i am doing a writeup on this rn so it does not happen again
19:09 grorp That function should never have been in Irrlicht at all
19:10 MTDiscord <warr1024> I don't see much of a problem in moving a function with "minetest" in the name into minetest ... IIRC the entire existence of irrlichtMT as a separate thing was supposed to be sort of temporary, right?
19:10 erle agreed
19:10 erle Warr1024 nothing lasts as long as a temporary solution
19:10 erle i am certainly not doing a refactoring of a botched refactoring and i ask everyone else to also not do that. there is enough time after the release to fix all of these things.
19:10 MTDiscord <warr1024> After proton decay, nothing will be left of the universe except non-interacting photons, and the scraps of duct tape used to hold together all the temporary solutions.
19:19 ROllerozxa erle: okay so I looked at your checkerboard texture nodes, um, what did it have to do with filtering
19:20 erle ROllerozxa the checkerbox test nodes have the same checkerboard in different texture sizes, so you can see how filtering applies to each.
19:21 erle IIRC all 2x2 checkerboards should look the same, but with the filtering refucktoring they don't
19:21 erle you can see it in the screenshots
19:21 grorp1 joined #minetest-dev
19:21 erle anyway, as i said. i am on it. just wait a bit.
19:22 erle i don't want to fuck up anything more (which just simply “git revert” without testing might do)
19:22 ROllerozxa they all look the same... because there is no filtering
19:22 ROllerozxa (like, every node with the same grid tiling looks the same)
19:22 erle okay activate anisotropic filtering. still the same look?
19:23 ROllerozxa (anisotropic filtering is already on)
19:23 ROllerozxa do I need to disable it?
19:23 erle i bet you don't have an intel GPU then :D
19:24 erle disable aniso and enable bilinear ig
19:24 ROllerozxa ...yeah I have an AMD GPU (dedicated one, in particular)
19:24 erle … and maybe look at non-powers-of-two checkerboards
19:24 erle i think it should be more notable there
19:28 ROllerozxa well if it doesn't occur on AMD then it would make sense that the NPOT sized textures look the same too, right?
19:28 ROllerozxa (they still look the same)
19:29 erle ROllerozxa please place all the checkerboard testnodes in a wall or so and enable bilinear filtering and make a screenshot of the wall. also disable mipmapping maybe? not sure.
19:32 MTDiscord <warr1024> I have an Intel iGPU and the only option that makes any difference is mipmapping with the new "no filtering" thing; bilin, trilin and aniso are completely no-ops.
19:33 erle Warr1024 i bet if you use a giant texture pack, they are not
19:33 erle because then you are downscaling
19:33 erle try it
19:34 MTDiscord <rollerozxa> https://cdn.discordapp.com/attachments/747163566800633906/1173707452366200842/image.png?ex=6564ef3f&amp;is=65527a3f&amp;hm=5724db1238f6bb1b25a7ba3c4b2efe0e1a38de2bda06f682334deabafdd497ec&amp;
19:34 ROllerozxa they look like this no matter if I enable or disable anisotropic filtering, or enable or disable mipmaps
19:35 erle ROllerozxa and if you enable bilinear/trilinear?
19:35 erle are they no-ops?
19:35 ROllerozxa bilinear and trilinear is already enabled
19:35 erle oh lol
19:35 erle okay i guess it is worse than i thought then
19:41 MTDiscord <warr1024> When I want to test downscaling, I just look at some distant geometry.  It's pretty easy to tell where that is because mipmapping DOES work, and it's definitely downscaling in the areas where mipmapping is happening.
19:41 v-rob joined #minetest-dev
19:41 erle Warr1024 btw did you check out hybrid dogs mipmap improvements? they seem pretty nice
19:42 MTDiscord <warr1024> Right now, we just have nearest up and either nearest-mip-nearest or just nearest down.  Basically all the "linear" and "anisotropic" options don't do shit on my hardware.
19:42 MTDiscord <warr1024> I didn't look too closely at the mipmap improvements; mostly that stuff is too subtle for me, and I'd really rather have mipmapping in the context of also having trilinear.
19:43 MTDiscord <warr1024> It seems weird that we wouldn't be able to achieve a level of graphical quality comparable to what I had in like 2002.
19:43 erle it's not really subtle because it seems to be gamma-correct downscaling (i.e. mipmaps no longer make the textures darker than they should be)
19:43 erle and the sharpness is very notable
19:47 MTDiscord <warr1024> I play Minetest.  I'm already thoroughly desensitized to gamma-incorrectness, including even scenarios where the same color used in different contexts ends up with a different final appearance.  It's subtle to me.
19:48 erle ig i thought because i have really bad contrast vision that it is even more jarring to others
19:50 MTDiscord <warr1024> You might have like "perfect pitch" for colors or something too though.  Like, even if your eyeballs have trouble processing the stimulus, you could still have heightened processing in the brain.  I'm pretty sure my eyeballs send a ton of data to my brain but then the brain just throws almost all of it out, in my case.
19:51 erle might be. i mean i immediately noticed the blurry CDB screenshots and apparently others did not?
19:51 erle (did you?)
20:02 MTDiscord <warr1024> I noticed that some thumbnails that were very blurry before (and even had JPEG ringing artifacts) are now a lot cleaner.
20:05 erle now i wonder what was broken before lol (i was not able to make jpeg look worse at the same filesize than webp, despite trying). anyway, i would appreciate if people at least tested their rendering changes … regardless of in minetest or cdb.
20:49 erle this whole irrlichtmt setup sucks. i can't even easily git revert, because someone converted all the line endings lol. seriously.
20:50 erle anyone has a one-liner to coax git into magically not caring about line endings?
20:59 pgimeno define "not care"
21:03 erle i googled and thought a bit and figured out it is just easier to press backspace a bit and copy the code to the correct place
21:04 erle now the remaining questions are: a) did i correctly unfuck it? b) can someone please explain how the original change was supposed to work at all? however i wrap my mind around it, i can find no way that the intended goal can *not* cause regressions.
21:05 erle (and using GL_NEAREST in this case in particular is explicitly advised against by khronos group)
21:06 erle i mean it does not materially change much, i just would like to have it all neatly wrapped up like in that case where the user forgot that numlock exists in their bug report.
21:14 erle compiling …
21:33 v-rob joined #minetest-dev
22:11 MTDiscord <jordan4ibanez> If something being against what khronos recommends offends you, please, do not look at any opengl or vulkan drivers
22:14 erle jordan4ibanez in this case in particular the recommendation is for API users, not vendors. and it is sound, no amount of testing is going to give you consistent results.
22:41 loggingbot_ joined #minetest-dev
22:41 Topic for #minetest-dev is now FEATURE FREEZE IN EFFECT | Minetest core development and maintenance. Chit-chat goes to #minetest. https://dev.minetest.net/ https://irc.minetest.net/ https://github.com/minetest
22:46 erle hmm, is this a known regression/upgrade/change in formspec rendering or was it always undefined? https://codeberg.org/mineclonia/mineclonia/pulls/708
22:47 erle (the formspec rendering different in 5.6 and 5.8-dev)
22:48 erle reportedly the difference is in the main formspec of mcl_grindstone
22:53 luk3yx erle: It looks like Dragonfire's GUIFormSpecMenu::parseImage function is from MT 5.5 and doesn't have support for 9-sliced images
22:53 rubenwardy If there's been a formspec regression, the thing to do is to make a Minimum Reproducible Example and post it as an issue. It's a waste of our time to post random links here, from games with lots of custom code being used with people with custom clients
22:54 luk3yx Since cora mentioned Dragonfire I assume they haven't tested it in an unmodified 5.6
23:33 panwolfram joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext