Minetest logo

IRC log for #minetest-dev, 2021-07-02

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

All times shown according to UTC.

Time Nick Message
00:38 olliy joined #minetest-dev
00:40 v-rob joined #minetest-dev
02:36 v-rob joined #minetest-dev
03:12 freshreplicant[m joined #minetest-dev
03:22 wsor4035 joined #minetest-dev
03:48 v-rob joined #minetest-dev
04:40 YuGiOhJCJ joined #minetest-dev
04:55 hecks joined #minetest-dev
04:56 hecks I've noticed that shadow mapping disables greedy meshing, why?
06:05 MTDiscord <Liso> Yes, because that meshing creates triangles too big with non-connected  vertices. That plus small precision issues between those triangles makes glitches on the render. One edge of the triangle gets a distortion, but the same edge for other face get much more distortion.
06:05 MTDiscord <Liso> So you get gaps between faces
06:08 appguru joined #minetest-dev
06:38 hecks You get gaps between faces because you're using normal offset bias on meshes with hard edges, lol
06:39 hecks the mtg "sam" player model has those gaps too
06:46 hecks oh but there could be t-junction cracks
06:46 hecks which we see even in "normal" rendering so maybe greedy just be disabled in general
06:47 hecks *can just be disabled
06:48 hecks and we ought to look for bandwidth reductions elsewhere like culling unseen nodebox faces
07:25 tekakutli joined #minetest-dev
07:25 freshreplicant[m joined #minetest-dev
07:35 wsor4035 joined #minetest-dev
07:35 tekakutli left #minetest-dev
07:44 MTDiscord <Liso> Not even close. At the time I impl that, I didn't even ear about normal offset bias.
07:48 MTDiscord <Liso> with the force_no_tiling to false:
07:48 MTDiscord <Liso> https://cdn.discordapp.com/attachments/747163566800633906/860426564579754014/unknown.png
07:48 wsor4035 joined #minetest-dev
07:48 MTDiscord <Liso> its because the distortion fn in the shadow render
07:56 MTDiscord <Liso> and in case you are wondering why, this is how the tiling is done:
07:56 MTDiscord <Liso> https://cdn.discordapp.com/attachments/747163566800633906/860428683076042752/unknown.png
07:57 freshreplicant[m joined #minetest-dev
07:57 MTDiscord <Liso> so, the distortion fn creates much more distortion for top layer and it creates the gap.
08:00 freshreplicant[m joined #minetest-dev
08:09 wsor4035 joined #minetest-dev
08:33 freshreplicant[m joined #minetest-dev
09:00 queria joined #minetest-dev
09:06 freshreplicant[m joined #minetest-dev
09:14 wsor4035 joined #minetest-dev
09:20 Fixer joined #minetest-dev
09:25 specing_ joined #minetest-dev
09:36 hecks joined #minetest-dev
09:42 Wuzzy joined #minetest-dev
10:47 tekakutli joined #minetest-dev
10:49 entuland joined #minetest-dev
12:09 VanessaE Liso: but you have to admit: the distorted (force_no_tiling) version has no "fresnel lens" effect either...
12:30 MTDiscord <Liso> Yes, you are right. But it's the only option we have to create shadows for long portions of the world without CSM. If we could reduce the drawcalls under 1k we could be able to use CSM and no distortion at all in less than a weekend
12:32 MTDiscord <Liso> At least it's the only solution i know, I mean
12:39 VanessaE consider hecks' sentiment
12:40 VanessaE go ahead and do it with all the drawcalls you need, but spread them out over as many frames as it takes to keep the added jitter under some limit
12:40 VanessaE if only to get a sense of its performance
12:41 VanessaE maybe it won't be as bad as you imagine?
12:43 MTDiscord <Warr1024> What does #11405 require still to get merged?
12:43 ShadowBot https://github.com/minetest/minetest/issues/11405 -- Add API for mods to hook liquid transformation events by Warr1024
12:44 VanessaE I mean, if it takes let's say 10000 calls to fill-out the shadows and your target is to refresh that every 0.2s... if you're getting say 40 fps, then you'd be doing about 1250 extra drawcalls per frame
12:45 VanessaE (10k is just a hopefully outlandish worst-case example, idk how many calls you're *actually* looking at)
12:46 MTDiscord <Liso> ok, let me try
12:47 VanessaE I'm just guessing here Liso
12:47 VanessaE Warr1024: a sacrifice maybe? :P)
12:47 VanessaE :P
12:49 MTDiscord <Liso> no, it's ok. but you made a good point. I assumed CSM slowness without the lasts changes like better frustum, (or adaptive one that x2048 is working on). I must test it
12:49 MTDiscord <Warr1024> It turned out to be a pretty trivial change, much less complex than I expected.  I've had a handful of other core devs weigh in, and they've asked questions which have been addressed, but nobody has officially commented, and it's stuck in limbo.
12:49 MTDiscord <Warr1024> Is there like some "standard waiting period" for rebuttals before something would get merged?
12:50 MTDiscord <Warr1024> I don't think that process would work anyway because by now people are probably just assuming nothing will get merged anyway and not watching for stuff to raise issues with.
12:55 MTDiscord <Warr1024> Am I supposed to call someone out specifically to do a review or something?
12:56 VanessaE not really
12:56 VanessaE you just have to poke whoever shows up
12:56 VanessaE or more generally just remind the channel
12:57 MTDiscord <appguru> poke until puke
12:58 MTDiscord <appguru> why do you pass a list of positions instead of calling the callback per position?
12:58 MTDiscord <appguru> performance?
12:58 MTDiscord <Warr1024> It seems like before, I was able to get 2 approvals for merges within a couple of hours if I poked the channel in IRC.  Now I only need 1 more approval, but I've spammed this PR here over the course of about 3 days and gotten barely any response.  Has stuff changed that much, or was I just really insanely lucky with my earlier PRs?
13:17 celeron55 well you could literally hilight people and tell them to do what you want, but on the other hand sometimes people are just busy doing other things (which is the case for me at the moment, or actually for the following month probably)
13:19 celeron55 usually linking a PR here and asking for whatever makes sense
13:19 celeron55 like, generally asking
13:19 celeron55 like you already did
13:26 sfan5 I could review the PR but I've not fully made up my mind yet on whether I like the proposed API
13:27 celeron55 to me it's fine, i guess i'll review
13:27 celeron55 it's the most minimal implementation possible
13:34 VanessaE wait..wait...c55 is reviewing a PR? ;)
13:37 MTDiscord <Warr1024> I naively copied and pasted the code in from another branch for a dead pre-PR, but it didn't work, so I copied the guts of pushnode.  If I can find where I can import an existing pushnode from then I'll use that.
13:38 celeron55 well just use grep or something, it's there
13:38 MTDiscord <Warr1024> I assumed people could be busy and hence why I refrained from poking anyone, including the people who had weighed in before, but I guess we might have an "if it's everyone's responsibility then it's nobody's responsibility" issue.
13:38 celeron55 no it's literally nobody's responsibility to begin with
13:39 celeron55 we don't need to go from the everyone route to get to that one 8)
13:39 celeron55 i guess the amount of fame people get as compensation isn't enough
13:40 MTDiscord <Warr1024> As for the proposed API, it's a baseline MVP essentially, and we COULD debate about what it should or should not have, but the debate is only productive if we're going to converge toward an answer.  That sounds like the kind of thing that tends to kill PRs by bikeshedding.
13:40 celeron55 there just isn't that much to give when each release has tens of PRs included
13:40 MTDiscord <Warr1024> If we have a Benevloent Dictator then we have a tiebreaker in all debates, but I don't know how much Benevolent Dictator we'll have available at any time ... :-/
13:41 celeron55 well you don't need to wait forever for API suggestions
13:41 celeron55 a week from the creation of such PR should be enough for someone to suggest a better API
13:43 celeron55 if they don't, then the API is fine, and of course the APi can be changed as long as no release has been made
13:43 MTDiscord <Warr1024> If we have a standard like 1 week for design changes then I think that could work.
13:44 celeron55 lua API changes are one of the most lightweight changes possible, the only thing they break is mods, compared to file or network format changes that break saved worlds or client-server compatibility
13:47 MTDiscord <Warr1024> It seems like there should be some knowable process of keeping things moving forward, whether that's toward a merge, or a rejection, or through a bunch of reviews.  Having the fire-and-forget stuff just stuck in limbo seems fine but I'd like to know that I'm doing the right thing to keep something that has an active champion for it moving forward.  What I'm doing so far seems to be a process but I don't know if it's a preferable
13:47 MTDiscord one.
13:47 celeron55 and if let's say 3 or 4 core devs say it's good then no need to wait at all. but of course you should aim for getting the best result out of the process
13:48 MTDiscord <Warr1024> I mean I sort of assumed that to merge anything I needed to have at least a second formal approval on the thread for the PR itself...
13:52 celeron55 that is true
13:54 MTDiscord <Warr1024> So I guess if I resolve any code review problems raised, and nobody can make a concrete objection to the API as designed, then after it's a week old, I should start poking again?
13:54 celeron55 at one point in time it wasn't so, core devs were assigned subsystems that they could change on their own will
13:54 celeron55 it resulted in quite a lot of questionable quality
13:55 MTDiscord <Warr1024> Yeah, it seems more like we would want to start from the other direction, e.g. have core devs who are assigned "must comment" items or something.
13:56 celeron55 you should note that my review is an approval given the code changes i commented are possible and are made
13:56 MTDiscord <Warr1024> Ah, great, thanks.  I'm looking for where I can find pushnode.
13:56 MTDiscord <Warr1024> I haven't done C++ on the level of "remembering how to navigate the include system" since like 1999 or something, so...
14:07 MTDiscord <josiah_wi> Come on, the include system isn't that complicated.
14:09 sfan5 also a super minor thing, you probably copied std::vector<std::pair<v3s16, MapNode> > from somewhere else but it should be std::vector<std::pair<v3s16, MapNode>>
14:10 sfan5 spacing the >'s is a relict from when C++ compilers would misinterpret consecutive sharp braces
14:13 MTDiscord <Warr1024> I could swear I looked at that, thought "oh, that looks weird, maybe I should fix that", tried to compile, it didn't work, then put the space back and thought "oh, I guess that's why that was there :-/"
14:13 MTDiscord <Warr1024> I can give it another try, maybe it was a different error that crept in and got confounded.
14:20 hlqkj[m] joined #minetest-dev
14:20 MTDiscord <Warr1024> Yeah, removing the space worked fine, dunno why that was messing with me before.
14:30 pgimeno hm, it's a scanner thing, previous to the parsing phase, it's weird that it's accepted
14:31 pgimeno maybe they split the ">>" token (used for right shifts) into two ">" and left up recognition of those to the parser
14:32 pgimeno I'm slightly off-topic though
14:40 MTDiscord <Warr1024> In my case it was probably a case of forgetting the "only the first compile error is valid, ignore all the rest" rule.
14:44 MTDiscord <Warr1024> I made all the requested changes, built and tested, and marked the conversations as resolved.  It still says "changes requested" in GH though ... is that normal, like, to hold off on the full approval until we've been through the design approval waiting period?  Or am I githubbing wrong?
14:47 sfan5 that status only goes away if the reviewing user updates their review
14:49 MTDiscord <Warr1024> Okay.  I have an option to request a re-review.  Am I supposed to do that, or should I wait until the PR has been a week old so that c55 doesn't get bothered about it until it's actually actionable?
14:49 sfan5 <celer​on55> you should note that my review is an approval given the code changes i commented are possible and are made
14:50 MTDiscord <Warr1024> So I guess after the week is over, it can just be merged even if there's red showing up on GH?
14:51 celeron55 we have our own processes, github is just a tool we try to use as well as it happens to fit
14:52 MTDiscord <Warr1024> Okay, I've been sort of assuming that getting all-green to show up across the board was like a first gate that any work has to pass.
14:52 celeron55 github could show a 100% red page and tell you to shut down your computer and stop programming ever again and you could still merge if you have two approvals
14:54 MTDiscord <Warr1024> Haha, okay, I mean, I sort of assumed that 2 approvals was what I needed, nothing more, nothing less, but it's just weird to think that I COULD get 2 approvals without passing the automated check gates :-D
14:54 Fixer joined #minetest-dev
14:58 celeron55 wait what, one can request a review from oneself
15:00 kilbith joined #minetest-dev
15:02 MTDiscord <Warr1024> I suppose that makes some kind of sense.  I do that as an internal process, e.g. when I check over the diffs before making a commit.  I suppose if I were juggling enough crap a the same time and wanted to make a "just so I don't lose my work" commit then I could use something like that to remind myself I hadn't actually reviewed my own changes yet.
15:03 MTDiscord <Warr1024> Seems like a weird process to have formal tools for, but I guess maybe it was easier for GH to allow it than to prevent it.
15:07 sfan5 you *can* enable something to prevent pushing commits unless they are part of an N-times approved PR with all checks green
15:07 sfan5 but we don't have that, fortunately
15:09 MTDiscord <Warr1024> I guess it depends on how much you want to leverage the tools GH provides you to do things.  Relying on them more can streamline processes and make things less ambiguous, but it would also create lock-in, make it harder to move the project elsewhere if needed, and GH would have less incentive to deal honestly with you.
15:22 celeron55 it's also about the past: historically, for most of the existence of MT, github didn't have that review system
15:23 celeron55 but it's true also that most competitors also still don't have it, so requiring it would create lock-in, which given that many don't like github's ownership would be a bad play
15:26 MTDiscord <josiah_wi> I am seeking approvals for #11287. I have acted on all the requested changes.
15:26 ShadowBot https://github.com/minetest/minetest/issues/11287 -- Take advantage of IrrlichtMt target by JosiahWI
15:30 MTDiscord <Warr1024> Oof, that scrolling code block at the top.  I assume the important part about what that PR is supposed to mean is in there, but it's hard to read it that way...
15:35 MTDiscord <josiah_wi> Yes, you've identified the most serious issue with the PR haha. How can I get fix that?
15:41 Extex joined #minetest-dev
15:43 MTDiscord <josiah_wi> I added manual line breaks. I don't know why GitHub thought putting long paragraphs in a scrolling code block was good.
15:45 MTDiscord <josiah_wi> Ohh interesting, it was my indentation. Fixed. Sorry for the inconvenience to those who had to suffer reading the code block.
15:46 sfan5 does anyone want to test that PR with cmake 3.5?
15:46 sfan5 (our minimum supported version)
15:48 MTDiscord <josiah_wi> Why don't we use version 3.5 on one of the CI builds btw? Is it not easy to choose an older version?
15:50 sfan5 github runners come with a very recent cmake version installed and I don't think 3.5 specifically is in the repos
16:00 Lone_Wolf joined #minetest-dev
16:03 sfan5 guess I'll test it locally then
16:04 sfan5 in a container, because I won't be installing a debian 9 system manually
16:05 olliy joined #minetest-dev
16:09 hlqkj joined #minetest-dev
16:12 MTDiscord <Warr1024> Containers are nice ... it'd be nice to have some like docker configs somewhere (maybe even in-tree?) for edge test cases like this so that you can enlist pretty much anybody to run these sorts of things for you.
16:12 MTDiscord <Warr1024> i.e. if you're going to do the work to set it up anyway, if you can script it out without going too much further out of your way, it could become an automated regression test of sorts.
16:21 hlqkj_ joined #minetest-dev
16:45 pgimeno joined #minetest-dev
17:11 sfan5 "You have called ADD_LIBRARY for library IrrlichtMt without any source files. This typically indicates a problem with your CMakeLists.txt file
17:11 sfan5 " does it really?
17:12 Lone_Wolf joined #minetest-dev
17:12 Thomas-S joined #minetest-dev
17:12 Thomas-S joined #minetest-dev
17:14 sfan5 it built fine at least
17:15 sfan5 @josiah_wi did you see the comment on one of the older PR conversations?
17:39 lhofhansl joined #minetest-dev
18:19 MTDiscord <josiah_wi> The one about removing FindIrrlicht.cmake?
18:20 sfan5 yes
18:21 MTDiscord <josiah_wi> Was the add_library warning about the imported target? If it built normally then it's probably CMake being not-optimally-smart.
18:22 MTDiscord <josiah_wi> That would be strange though. CMake should know very well at all versions since imported targets were added that imported targets have no source files.
18:23 sfan5 I wouldn't worry about warnings cmake 3.7 throws
18:29 MTDiscord <josiah_wi> Unless it's a "missing project() call warning" or something, but normally if you get that there is very definitely a problem with your CMakeLists.txt file.
18:43 sfan5 -set(VERSION_MINOR 5)
18:43 sfan5 +set(VERSION_MINOR 3)
18:43 sfan5 uh wat
18:55 MTDiscord <josiah_wi> Oh no. sweats hard
18:55 MTDiscord <josiah_wi> I forgot to undo that change. One sec.
18:56 MTDiscord <josiah_wi> I was trying to connect to a server that thought I was hacking and I tried changing the version and removing the commit tag from it.
18:56 MTDiscord <josiah_wi> Apparently I forgot to switch branches.
18:57 sfan5 and did it work?
18:58 MTDiscord <josiah_wi> No, it must have been a protocol mismatch. I should have changed it back right away anyway, but it was late and I thought I had the habit to check the diff before committing; apparently not.
19:01 Lone_Wolf joined #minetest-dev
19:24 behalebabo joined #minetest-dev
19:45 ShadowNinja I loaded up Minetest in RenderDoc and there are two obvious issues.  The first is draw calls: a single frame is ~2000 draw calls.  Each item in the hotbar alone is about 6 draw calls.  The other issue is occlusion culling: most of the first 300 draw calls are for caves that are occluded by the surface.
19:50 sfan5 each item used to be 400 drawcalls before I fixed that ;)
19:50 ShadowNinja If anyone else wants to try it out here's what I had to do: 1) Enable OGLES2 in Irrlicht by editing include/IrrCompileConfig.h to set _IRR_COMPILE_WITH_OGLES2_ 2) Clean rebuild of Irrlicht (incremental build may not pick up the change because of the way the CMake script checks the flag) 3) Build Minetest with -DENABLE_GLES 4) set video_driver = ogles2 5) symlink client/shaders/Irrlicht to <irrlicht dir>/media/Shaders
19:53 ShadowNinja You have to use OpenGL ES 2 because RenderDoc only supports modern Open GL contexts (3.2+ core) and ES 2.0+.
19:54 sfan5 it is possible to make IrrlichtMt use a core context btw but renderdoc will still choke on all the legacy calls
19:57 longerstaff13 joined #minetest-dev
19:59 VanessaE ShadowNinja: 2000?  now try one of the "acid" tests e.g. spawn area on one of my Dreambuilder servers :)
20:00 VanessaE (one assumes it varies by the amount of visible content)
20:03 MTDiscord <Jordach> sfan5: macOS uses core contexts over "latest" openGL as GL behaviour may have minor changes between versions and is preferred
20:05 sfan5 ohai
20:05 sfan5 when did you last build IrrlichtMt on macOS?
20:09 ShadowNinja VanessaE: About 14000 drawcalls
20:15 VanessaE eeeek :)
20:25 ShadowNinja LOL, even with that many drawcalls a started getting flooded with irrlicht errors for doing too much in a single draw call on your server: "Could not draw triangles, too many primitives(79502), maximum is 65535."
20:25 VanessaE heh
20:26 sfan5 that wouldn't be too much if irrlicht allowed non-indexed rendering
20:26 VanessaE what, did someone build a house out of pool tables? :)
20:26 VanessaE or one of the 3d printers :)
20:26 VanessaE (those are the highest-poly models I can think of)
20:33 MTDiscord <Liso> You are right ShadowNinja, that's the main issue right now
21:11 MTDiscord <appguru> why does irrlicht use shorts for indexing instead of ints?
21:19 sfan5 I can't find out if opengl supported that but for gles it's an optional extension
21:19 sfan5 it also wastes memory bandwidth
21:20 sfan5 s/opengl/opengl 1/
21:20 sfan5 (is mandatory for gl2 upwards)
21:23 MTDiscord <Jordach> sfan5: works fine as of head
21:26 sfan5 alright ty
21:26 specing_ joined #minetest-dev
21:31 MTDiscord <Jordach> apparently getting macOS into OpenGL 4.3 mode is relatively straight forwards
21:32 MTDiscord <Jordach> well, 4.1
21:33 MTDiscord <Jordach> (but that's still lightyears ahead of 2.1)
22:12 olliy joined #minetest-dev
22:15 Extex joined #minetest-dev
22:15 Fixer joined #minetest-dev
22:21 sfan5 rubenwardy: looks like you forgot to update the link on the website after making the android build
22:28 Fixer joined #minetest-dev
23:10 AliasAlreadyTake joined #minetest-dev
23:31 Extex joined #minetest-dev
23:47 Alias2 joined #minetest-dev

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