Time Nick Message 00:07 est31 ok next idea 00:07 est31 what about adding a medium-complicated category? 00:08 est31 where only one (additional) dev has to agree 00:08 est31 larger stuff still needs two (additional) devs 00:08 est31 this is to end the "three devs to merge a pr" debate 00:09 est31 not for the "trivial" vs "non-trivial" debate 00:10 est31 because here I really think it should be relative from the dev. If you know that dev knows alot about a topic, and you trust them, they should be abled to push commits there faster. 00:12 est31 most of my "pushing in 5 minutes" commits had functional content, I still regard them as trivial. 00:14 est31 but yea, lets do pr testing tomorrow 00:15 est31 also I suggest to not discuss too old PRs, they are already over-discussed, lets start with those which haven't been looked at, then look at the medium old ones, like the logging or threading cleanup. 00:18 est31 hmmmm, has anybody "extensively reviewed" the pr already, to your knowledge? -->> https://github.com/minetest/minetest/pull/2613#issuecomment-91109955 00:19 est31 I agree, one shouldn't rush things, but letting changes rot because one is too lazy to review them isn't motivating either. 00:20 est31 like me, i am lazy. 00:21 kaeza I couldn't find the relevant code. What are the valid characters for player names? [A-Za-z0-9_] or are there more? 00:22 est31 its either in server.cpp or serverpackethandler.cpp 00:22 est31 perhaps networkprotocol.h 00:22 kaeza not in netproto.h 00:22 kaeza lemme check the others 00:23 kaeza ah PLAYERNAME_ALLOWED_CHARS 00:23 kaeza so [A-Za-z0-9_-], thank you est31 00:24 est31 I think we should reserve characters for future use 00:24 est31 like @ or # 00:24 est31 kaeza, what has been your usecase? 00:25 kaeza est31, capturing user names in an on_chat callback (to store things like notifications, etc) 00:26 kaeza e.g. when an user pings another one in messages 00:26 est31 ah I see, nice. 00:27 est31 makes sense to pre-filter here 00:31 est31 ok bye gotta read about lock less data structures 00:42 est31 yea if you have compare-and-swap, you don't need locks anymore. 00:43 est31 are they more performant than locks? 00:43 est31 I mean atomic variables 00:44 est31 locks are said to require alot of time 02:00 RealBadAngel hi 02:00 RealBadAngel whats up? 02:18 RealBadAngel looks like i found accidentaly a bug 02:19 RealBadAngel https://github.com/minetest/minetest/blob/master/src/nodedef.cpp#L132 vs https://github.com/minetest/minetest/blob/master/src/nodedef.cpp#L144 02:51 paramat hmmmm, i updated #2890 based on your input, also changed a few 'int's to 's16's 02:51 ShadowBot https://github.com/minetest/minetest/issues/2890 -- Mgv7: Auto-set lowest mountain generation level by paramat 02:54 est31 RealBadAngel, thats no bug 02:54 est31 once it checks protocol_version, the other time it checks version 02:54 est31 version is set to 1 only if protocol_version is >= 17 02:54 est31 look at line 123 02:54 est31 and 138 02:55 RealBadAngel kinda misleading 02:55 est31 yea 02:56 RealBadAngel i need to bump protocol version what im supposed to do in deserialize? 02:56 est31 interesting however how this problem was solved before the days of the client knowing the deployed protocol version. 02:56 est31 what do you want to do? 02:57 RealBadAngel if i will rely on 1 this will not mean im reading 26 only 02:57 RealBadAngel fuck this is not right 02:57 RealBadAngel serialize writes actual protocol version 02:58 RealBadAngel and deserialize read it 02:58 est31 no 02:58 RealBadAngel this check is not right 02:58 RealBadAngel ooops 02:58 est31 it writes "tiledef serialisation version" 02:58 RealBadAngel youre right 02:58 est31 which is 1 for protocol 17 and above 02:58 est31 and 0 otherwise 02:58 est31 I suggest you can do it like there 02:59 est31 add a if(protocol_version >= 26) writeu8(os, 2); 02:59 est31 then make the if to an elseif 02:59 est31 (the other if) 02:59 RealBadAngel i see 02:59 est31 and in deserialize make a similar check if (version >= 2) 03:00 est31 protocol 26 isn't there yet, but will come with the new utf-8 based chat 03:01 RealBadAngel http://pastie.org/10276750 03:01 est31 yup 03:01 RealBadAngel whatever utf or tiledef changes, we will bump it 03:02 est31 yea, but lets bump it once, not twice 03:02 est31 so the first pr that doesnt merge, shouldn't bump 03:02 est31 s/doesnt merge/gets merged/ 03:03 RealBadAngel im pretty done with the PR, at least with c++ changes 03:03 RealBadAngel later today i will just apply new flags to shaders 03:05 RealBadAngel est31, have you saw code i made for sending flags to shaders? 03:06 RealBadAngel http://pastie.org/10276757 03:08 RealBadAngel neat, isnt it? :) 03:12 est31 RealBadAngel, why do we have lines 13 to 17? 03:13 est31 ah I see 03:13 est31 ok 03:13 est31 yea really hacky 03:13 est31 but I guess there is no other way 03:13 RealBadAngel yup, thats the only way 03:13 est31 RealBadAngel, can we pass colors to shaders? 03:14 RealBadAngel what do you mean? 03:14 est31 without a texture 03:14 est31 well, one could encode 3 bits inside an 8 bit color value too 03:15 est31 but this method is ok too 03:15 RealBadAngel that would work but will be an overkill too 03:16 RealBadAngel remember that each bit more makes more textures 03:16 est31 yea but you have a maximum with the number of tiles 03:16 RealBadAngel for sending 8 bits we would need 256 textures 03:16 RealBadAngel theres a better way 03:17 RealBadAngel we can attach next uniform sampler with a color texture 03:17 est31 whats an uniform sampler? 03:17 RealBadAngel texture slot in shader 03:17 RealBadAngel im using now 3 out of 4 03:18 RealBadAngel 4th could be used to colorize the output texture 03:18 est31 well, your descision, both is ok to me 03:18 est31 additional note: document your protocol change in network/networkprotocol.h 03:19 RealBadAngel already did 03:19 est31 ok then 03:19 RealBadAngel i can easily introduce nodes painting but this will work ONLY with shaders 03:19 RealBadAngel no way to do that without them 03:19 est31 ? 03:20 est31 "nodes painting?" 03:20 RealBadAngel grass for example, depending on biome 03:20 RealBadAngel or anythin 03:21 RealBadAngel thats what sending a color to shaders means for me :) 03:21 est31 ah I see 03:22 hmmmm est31: no, not to my knowledge 03:22 hmmmm I looked at it and it seems fine, except WTH is up with the change from .h to .hpp? 03:23 hmmmm seems kind of random 03:23 est31 he changed it back 03:23 est31 read on 03:24 est31 (and made it a separate commit) 03:25 hmmmm I am looking at 2613 03:26 est31 ah 03:26 RealBadAngel est31, and what you had in mind when asked if we can send there a color? 03:26 est31 RealBadAngel, we can encode the bits inside the color 03:27 est31 hmmmm, ah I see, I had the logging pr in mind. there he changed it back and said we can decide later on whether to switch to hpp or not, I guess if you ask him he will change it on 2613 too. 03:28 RealBadAngel est31, if we could send a color this way, texture trick wont be needed 03:28 est31 I like .h more than .hpp. Its shorter, there is no technical reason for .h 03:28 hmmmm yeah i like .h more too 03:28 hmmmm it also seems to be the norm for other C++ projects 03:31 hmmmm anyway I need to take a better look at the actual code 03:31 RealBadAngel sloantothebone> I tried cinematic mode and it didnt work 03:31 RealBadAngel somebody knows what cinematic mode actually does? 03:31 hmmmm it seems like most of it was copied over from jthread 03:33 sloantothebone Its supposed to make the player turn more smoothly 03:33 sloantothebone I guess it could also make him move more smoothly in fly mode 03:33 hmmmm anyway 03:33 hmmmm 2613 has a +1 from me 03:34 hmmmm it looks fine 03:34 sloantothebone Like you move the mouse and it slowly slides 03:34 sloantothebone I think minecraft has a cinematic mode 03:34 hmmmm I wonder if ShadowNinja made any functional changes from the original JThread thread starting synchronization 03:38 RealBadAngel omfg, i coded changes to like 10+ files over a few hours, it has compiled without a single warning and works 03:39 RealBadAngel happened for the very first time for me lol 03:40 Warr1024 I once wrote over 10,000 lines with only a missing semicolon. 03:41 Warr1024 Spemt like 4 hours looking for the bug that didn't exist. 03:42 RealBadAngel :) 03:42 Warr1024 Learned my lesson after that; now I make sure to have at least one bug on each screenful. 03:43 Warr1024 A good De Morgan's law screw-up in a semi-complicated if statement is a good way to get your mandayory bug over with. 03:45 Warr1024 also, it is damn hard to type with an on-screen keyboard, let alone code. 03:45 est31 true 03:45 est31 android: the only place where I dont like the shell 03:46 est31 (note: windows is no exception, it simply has nothing you can call shell) 03:46 Warr1024 I'm just conectbotted into my irssi session 03:46 Warr1024 Windows is supposed to have that powershell, but I've never messed with it. 03:47 est31 yea like me 03:48 Warr1024 I thought about using an IRC bouncer once upon a time, but irssi+sshd made it moot. 03:48 Warr1024 Nice to see you bskc, btw, RealBadAngel. Been back long? 03:49 Warr1024 IIRC someone mentioned FXAA and it made me think it might be something you might be interested in :-) 04:53 est31 so, the next utf related pr is out 04:53 est31 hopefully the last one 04:54 est31 please note, all PRs are about different issues, one proposes network changes, one is a must have bug fix, one is just a big s///g except for one function addition. 04:55 est31 I tend to keep PRs close to the issues they are meant for, not just one "make everything great" PR 04:55 est31 with multiple different commits, you also have more informations when you have bisected an issue 04:56 est31 you wont have to scroll through hundreds of lines of unrelated changes. 04:59 hmmmm what policy do you guys like to use for constructors that could fail 04:59 hmmmm a). don't make constructors that fail, instead, move initialization into a separate function 05:00 hmmmm b). throw a fatal exception in the constructor on initialization failure 05:00 hmmmm c). save the errors from the ctor, but fail in methods that are able to fail 05:00 hmmmm ?? 06:04 blaise hey, does the survival modpack that kaeza made work with the armor_3D mod? 06:04 blaise and HUD ? 06:04 blaise oops, wrong chan 14:18 est31 hmmmm, I think we shouldn't have too rich constructors. 14:18 est31 they are just another form of overloading 14:18 est31 they should put some default values, no "real" work 14:19 est31 also, whats the problem? is it as bad as with destructors, where throwing an exception when you unroll a stack for another exception is fatal? 15:01 nrzkt https://github.com/minetest/minetest/pull/2889 => Ok for me 15:02 nrzkt will pushing it 15:05 rubenwardy You're supposed to give 15 minutes notice of merging :P 15:05 est31 he's network maintainer 15:05 est31 maintainers can push when they want, no? 15:05 est31 as long as they inform. 15:06 rubenwardy Ok 15:06 nrzkt sorry for the identity, forget to fix it, i used my real identity because of a global git config at work :) 15:07 est31 my "pushing in 5 minutes" was always triviality rule 15:07 nrzkt in fact nobody said HEY i push with you 15:07 est31 I hate this pushing bureocracy 15:07 nrzkt then no conflict :p 15:08 nrzkt the push prevention on IRC permit to don't have merge conflict :) 15:08 nrzkt then i should go, have a nice day 15:15 est31 hrmm I wonder if I do lua_toboolean, do I also need to do lua_pop for getting the next argument? 15:23 RealBadAngel hi guys 15:24 RealBadAngel hmmmm, you have said lately that you have found reason for slowdown, can you say anything more? 15:27 RealBadAngel est31, me too. this is DEVELOPMENT of a game, no one should expect such branch being stable 15:28 RealBadAngel our problem is that we work in async mode with mt game 15:28 RealBadAngel so whatever comes into the engine is used in mt_game 15:29 RealBadAngel imho game should be frozen for engine stable 15:29 est31 ? 15:30 RealBadAngel est31, i started with reply to I hate this pushing bureocracy 15:31 est31 aha 15:31 est31 yea 15:31 RealBadAngel code to be perfected has to be a) written b) tested widely 15:31 est31 what do you mean with freezing game for stable engine? only use features of the last stable engine? 15:32 RealBadAngel dev branch of the engine is for testing 15:32 RealBadAngel yes 15:32 est31 so we should only use features of 0.4.12?? 15:32 est31 or of that second, stable branch 15:32 RealBadAngel both should be frozen 15:32 RealBadAngel at the same level 15:32 est31 ah I see 15:33 RealBadAngel that would save us stupid reports, hey this is not working or that fails 15:34 RealBadAngel and on the other hand could push us with more frequent stable releases 15:34 est31 well, we would still get the reports 15:34 est31 but we get them earlier 15:34 RealBadAngel for example, if we will fix some urgent issue 15:35 RealBadAngel we push 0.4.12.1 15:35 est31 and can make a "merge into stable" descision more funded 15:35 est31 eww 15:35 RealBadAngel thats what others do 15:35 est31 you know that usually the third part of a version is used for that? 15:35 Calinou 0.4.12.1 is overversioning, don't do the same mistake Freeminer did 15:35 Calinou we really should use semver 15:36 RealBadAngel just an idea 15:36 RealBadAngel we can rush with numbers as firefox does ;) 15:36 RealBadAngel idea stays the same 15:39 RealBadAngel anyway, its just a sidenote, im not coding such stuff 15:39 RealBadAngel im just a guy who makes candies ;) 15:42 exio4 at least you don't have a white van 16:12 RealBadAngel white vans are bad? 16:12 RealBadAngel lookin at the temperature outside they should be way better than black ones 16:24 Krock RealBadAngel, vans made of carbon night me better than the regular ones. 16:25 Krock a tree can help too 16:32 hmmmm RealBadAngel: I haven't done anything with regards to the slowdown yet 16:33 est31 ok, next lua api question 16:33 est31 I want a method with a variable number of arguments 16:34 hmmmm RealBadAngel: code does not have to be perfected to get into master, far from it. i.e. the minimap uses an incredibly inefficient mapping algorithm 16:34 hmmmm but yet it somehow got in 16:34 est31 can I simply do lua_isboolean(L, ARG_NUM + 1); and assume its an argument 16:34 est31 or do I need special checking? 16:34 hmmmm you can do that 16:35 est31 great 16:35 hmmmm but i recommend making the extra argument into a table and extracting the optional arguments from the table 16:35 est31 why? 16:35 hmmmm otherwise you wind up with incredibly inflexible APIs 16:35 hmmmm look at some voxelmanip functions, or create_schematic 16:35 est31 makes sense 16:35 hmmmm i didn't know at the time how bad it would be to keep adding on optional parameters 16:36 hmmmm and now it has to stay that way for reverse compatibility.. 16:36 est31 even for a function thats called on every on_globalstep, for every player? 16:36 hmmmm just make the function the way you think it should be, and gather feedback from that 16:36 hmmmm take the union of all the best advice 16:37 hmmmm and if it turns out you did screw up, that's okay, the reverse compatibility requirement does not apply to APIs introduced in development versions 16:38 hmmmm but as soon as 0.4.13 is released... now you're stuck with that interface 16:38 est31 I'll make a table and use getboolfield() 18:33 RealBadAngel kahrl_, here? 18:45 RealBadAngel hmmm, Calinou, sfan5, Tesseract https://imgrush.com/FXqdrac34rQ3.png 18:45 RealBadAngel can you see whats different with this screenshot? 18:45 sfan5 the water on the minimap looks very blue 18:46 RealBadAngel its dreambuilder water, but thats not the point ;) 18:46 RealBadAngel i just gained in this very scene double fps 18:46 RealBadAngel with a simple trick 18:47 RealBadAngel just wanted to know if any can say what i did ;) 18:47 Calinou yes the water should be darkened 18:47 Calinou or add transparency support :) 18:48 Calinou you switched leaves to glasslike, RealBadAngel? 18:48 Calinou seems unlikely 18:48 RealBadAngel bingo 18:48 RealBadAngel leaves are glasslike in this screenshot 18:49 RealBadAngel trees seems a bit lighter because of it, but performance gain is massive 18:51 RealBadAngel that could be the middle option between fancy and solid leaves 18:53 hmmmm what's the difference between glasslike and allfaces? 18:53 RealBadAngel less vertices 18:54 hmmmm allfaces calls makeCuboid and then GLASSLIKE seems to construct its own cuboid 18:54 RealBadAngel and less visible faces 18:54 RealBadAngel inside of the cube is visible in allfaces 18:54 hmmmm ahh 18:54 hmmmm actually wtf 18:55 hmmmm unless I'm misunderstanding something it seems like makeCuboid overdraws a cube 18:55 RealBadAngel comment out whole NDT_ALLFACES and put the case for it next to NDT_GLASSLIKE 18:56 RealBadAngel content_mapblock.cpp 18:56 hmmmm in any case makeCuboid looks like incredibly sloppy code 18:57 RealBadAngel all the drawtypes that use cuboid code are like that 18:58 RealBadAngel thats one of the reasons native meshes are faster 18:59 hmmmm unless I'm mistaken, both makeCuboid and NDT_GLASSLIKE append 24 verticies and 36 indicies 18:59 RealBadAngel stairs mesh is 2-3 times faster than nodebox version (measured before i merged conversion on startup) 19:00 RealBadAngel youre right 19:00 RealBadAngel but thats not the problem when rendering 19:00 hmmmm you said the performance gain is due to less verticies 19:00 RealBadAngel yes, engine is culling not visible one 19:01 RealBadAngel ones 19:01 RealBadAngel and inside faces are not drawn 19:02 RealBadAngel just apply those changes, start a world with lotsa leaves (moretrees can be of help) and see the difference 19:03 RealBadAngel this definitely should go in as menu option 19:04 RealBadAngel propably even as default setting 19:08 RealBadAngel also i need to check if using cube object instead of cuboid code could be faster 19:14 paramat i support glasslike leaves, allfaces seems overkill to me and has long caused performance drop 19:16 paramat also, mgv7 biomes will have large thick forests with tall trees, even mgv6 now has big jungles as default 19:20 paramat i've actually never used fancy leaves due to it's excessive drawing of internal faces 19:21 paramat however, glasslike leaves might look a little too transparent for my taste, especially appletrees 19:26 hmmmm cuboids share unnecessary geometry 19:27 hmmmm if only mapblock meshes didn't update every 5 seconds we could perform mesh welding and save on some redundant vertices 19:27 hmmmm :( mesh welding is really slow 19:29 hmmmm in any case I have a feeling we're doing a lot of overdrawing which is also another cause for lame fps 19:29 hmmmm has anybody ever played Terasology? I tried it out and I noticed you can toggle between different visual modes which makes for easy debugging, i think we should have something like that 19:30 hmmmm easy graphics debugging* 19:31 hmmmm less talk more code 19:31 sloantothebone Why doesnt cinematic mode work in minetest? it says its enabled but it doesnt work 19:31 hmmmm probably because it's broken like everything else 19:32 sloantothebone k 19:32 sloantothebone :/ 19:32 diemartin huh? WFM 19:32 sloantothebone I'll update minetest and see what happens 19:32 hmmmm none of us here are familiar with cinematic mode and how it's supposed to work 19:32 hmmmm it'd probably be a better idea to contact the original author 19:32 diemartin assuming you mean the smoother camera rotation or whatever 19:33 diemartin or is there more to it? 19:33 hmmmm which looks like rubenwardy 19:33 hmmmm diemartin: I have absolutely no idea 19:33 sloantothebone Well, I recently tried it in minecraft, and when I moved my mouse the camera would slowly accelerate and then decelerate towards the target 19:34 diemartin sloantothebone, works that way for me 19:35 diemartin but maybe the effect could be a bit slower (or configurable) 19:35 sloantothebone Ok upgrading minetest 19:35 rubenwardy It smooths the camera rotation. It should be enabled using f8 19:36 sloantothebone How do u configure it 19:36 paramat works for me, it's fairly subtle though 19:36 sloantothebone subtle? 19:37 sloantothebone is it noticable? 19:37 paramat yes noticeable 19:37 rubenwardy increase cinematic_camera_smoothing if you want more of an effect 19:37 Calinou it is FPS dependent 19:37 Calinou if you have very high FPS the effect will be weaker 19:37 Calinou we made the effect much weaker than Minecraft's by default 19:38 paramat short sharp mouse movements help to show it's effect 19:38 rubenwardy I tested it on 10 fps and 60 fps and it looked similar in effect 19:38 rubenwardy I can't get 100+ fps 19:38 sloantothebone Well the ammount of acceleration should be adjustable 19:38 rubenwardy anyway, gtg, will read logs 19:39 rubenwardy sloantothebone: cinematic_camera_smoothing 19:39 rubenwardy in minetest.conf 19:39 rubenwardy see minetest.conf.example 19:39 sloantothebone Isnt that a bool setting? 19:39 hmmmm it seems to work for me 19:39 rubenwardy https://github.com/minetest/minetest/blob/master/minetest.conf.example#L137 19:39 rubenwardy sloantothebone: that's cinematic_mode 19:40 rubenwardy see this whole section: https://github.com/minetest/minetest/blob/master/minetest.conf.example#L131-L137 19:40 hmmmm RealBadAngel: why is a new MapBlockMesh allocated every time the pointer goes onto a different node 19:42 RealBadAngel hmmm, thats how its done. selection and crack nodes should become separate scene nodes to avoid that 19:42 hmmmm no, no, not cracking on nodes 19:42 hmmmm I'm asking about the simple act of *moving the pointer* 19:43 RealBadAngel will take a closer look, gimme a few minutes 19:43 sloantothebone So are you gonna add twitch tv integration too? lol 19:43 RealBadAngel paramat, you can make it look more dense with different textures 19:44 paramat yeah 19:45 RealBadAngel hmmmm, also theres another aspect of glasslike, only border faces of the area are drawn 19:45 sloantothebone If you're talking to me say my name 19:45 RealBadAngel node inside buch of leaves is not displayed at all 19:45 sloantothebone and I suggest you add recordmydesktop integration 19:46 RealBadAngel paramat, https://imgrush.com/ojUvQCurqVKH compare willow and the default tree for example 19:48 paramat yes, with the current leaves texture appletree forests possibly look too 'light' 19:48 paramat less gaps in the texture might help 19:51 paramat but then the gaps are there to make visible the effect of fancy leaves internal faces 19:56 sloantothebone Calinou says recordmydesktop is obsolete 19:58 paramat eh? new style leaves are true by default, i think it should be false, especially now we have big jungles in mgv6 19:58 hmmmm might not be necessary if glasslike really works that well 19:59 paramat yeah glasslike as default would also be preferable 20:05 paramat the default was for a time when we only had mgv6 with a few small appletrees and disabled jungles 20:19 Calinou no, we should keep new style leaves on by default 20:19 Calinou Minecraft has fancy trees enabled by default too 20:19 Calinou and opaque leaves are plain ugly 20:21 RealBadAngel Calinou thats because of wrong textures 20:21 RealBadAngel have you seen the ones ive proposed to use? 20:22 Calinou by the way, Carbone used to use glasslike jungle leaves 20:22 Calinou it didn't look that good 20:22 RealBadAngel https://imgrush.com/yhDRWJZHz_hc 20:23 RealBadAngel and when speaking of textures: https://imgrush.com/ezvxyP09xAIp.png vs https://imgrush.com/FoYpSUN9P7sV.png 20:24 RealBadAngel the altered ice texture is made out of old one using "make seamless" in gimp 20:40 Calinou I like it more 20:40 Calinou merge please :D 21:08 paramat i might bisect our mysterious memory leak. i really notice it when working on mapgen and generating map by flying fast: 0.6GB per minute 21:33 hmmmm paramat, did you try turning off mods 21:34 paramat this was with no mods enabled 21:34 hmmmm hmmmm.... 21:34 hmmmm oh my, what if I did cause a memory leak 21:34 hmmmm i don't think i've ever been responsible for a memory leak in minetest before 21:35 paramat i'll open another issue on this with my findings, then bisect 21:35 hmmmm if I were you I'd look carefully at these commits https://github.com/minetest/minetest/commits/master/src/noise.cpp 21:36 hmmmm that's really the only memory management that the mapgen does 21:36 paramat okay 21:47 hmmmm what do you guys think about @#2849 21:47 paramat hmmmm i agree with your suggestions for #2890 and have now updated again. also, mountain noises are now calculated in generateMountainTerrain. will push later 21:47 ShadowBot https://github.com/minetest/minetest/issues/2890 -- Mgv7: Auto-set lowest mountain generation level by paramat 21:48 hmmmm ah okay, cool 21:57 est31 #2849 21:57 ShadowBot https://github.com/minetest/minetest/issues/2849 -- Add antialiasing UI setting by mark7 21:58 paramat i've never used antialias, not sure how useful it is. if it is very useful i have nothing against the PR 21:59 est31 that isnt even indented with tabs 21:59 hmmmm ahh good catch 22:00 hmmmm thanks 22:00 RealBadAngel #2892 22:00 ShadowBot https://github.com/minetest/minetest/issues/2892 -- Add new leaves style - simple (glasslike drawtype) by RealBadAngel 22:00 RealBadAngel can you guys test it? 22:01 hmmmm that's going to conflict with this commit 22:01 hmmmm yea i'll try it out in a bit 22:01 hmmmm hold on 22:01 RealBadAngel ok 22:01 est31 yea it does conflict 22:02 RealBadAngel i can rebase if the other goes in first 22:02 RealBadAngel thats not a problem 22:03 est31 yea 22:08 RealBadAngel hmmmm, build a cube out of leaves 3x3x3 nodes - allfaces will draw 162 faces, glasslike 27 22:08 RealBadAngel now you should get exact picture of the gain 22:10 RealBadAngel to make it even more dramatic: typical oak from moretrees has circa 2k of leaves nodes - thats 324000 versus 54000 faces 22:11 VanessaE confirmed RBA's pull, works fine for me, but I see no appreciable performance difference between "simple" and "fancy". 22:12 RealBadAngel im testing it now too 22:15 VanessaE hmmmm: seriously, about the overdrawing? 22:15 VanessaE (saw in the logs earlier) 22:18 RealBadAngel ok, found a scene with lotsa leaves: 22:19 RealBadAngel 44 fps opaque, 40 simple, 37 fancy 22:20 VanessaE what is it that's pushing my CPU to 100% (of one core) in our test scene?? 22:20 VanessaE I think this is a big part of the FPS difference. 22:20 VanessaE VBOs might help here but won't be the be-all, end-all I think 22:21 RealBadAngel btw, view distance is increasing automatically 22:21 VanessaE For reference: the test scene is Full dreambuilder game, mg v6, seed = 5131391305046360830 , coords +40,+2,-121 looking East (270 degrees yaw) 22:21 VanessaE (for the others here, not RBA :) ) 22:21 RealBadAngel 162m for fancy, 178 for simple, 191 for opaque 22:22 RealBadAngel so not only higher the fps but distance too 22:22 hmmmm VanessaE: Not just due to occlusion culling 22:23 hmmmm did I ever post that article on Minecraft PE caves? 22:23 VanessaE yes 22:23 hmmmm yeah 22:23 hmmmm caves might be drawn when they don't need to be 22:23 VanessaE I've seen it, and I seem to recall someone was gonna try to implement that in minetest 22:23 hmmmm yeah but how do we know we're overdrawing caves :p 22:23 VanessaE idk 22:23 hmmmm investigate first, then implement 22:24 VanessaE I remember someone here said they finally tried that looking-at-a-wall test and found it rather lacking 22:24 VanessaE I mean just recently that is 22:24 VanessaE hardly a case for drawing caves, but surely an occlusion culling issue anyway 22:25 RealBadAngel https://imgrush.com/STb0eyiLqOY- vs https://imgrush.com/kVG2NR1fVhQE 22:25 VanessaE ^^^^^^ that's the plantlife test world, not the one I just gave a seed + coords for 22:26 hmmmm I think I have an idea on how to debug occlusion culling 22:26 VanessaE RealBadAngel: so only a gain of 6 fps for you (for the same view range) 22:26 RealBadAngel range is higher 22:26 VanessaE well 7 meters further 22:26 VanessaE which is a rounding error in the view range tuner. 22:26 hmmmm maybe there can be a "freeze blocks drawn" where you're viewing a screen, hit a button, and then only the blocks that were being rendered in that frame get rendered all the time until you resume 22:26 RealBadAngel could be 22:27 RealBadAngel but 6 frames is 13% 22:27 RealBadAngel and thats a lot 22:28 VanessaE yes 22:28 VanessaE but it ain't "double" like you thought :) 22:43 VanessaE RealBadAngel: you got some idea how to make that VBO idea usable (in practice I mean, i.e. no mem leaks) ? 22:51 RealBadAngel well, even 13% is good 22:51 VanessaE yes indeed 22:51 VanessaE not to downplay it :) 22:52 RealBadAngel need to check something 23:02 paramat personally i find glasslike leaves not dense enough and look worse than opaque. not really opposed though, just neutral, others may like it 23:04 VanessaE paramat: perhaps, but it's a trivial change 23:04 VanessaE seems like RBA could just merge it at this point. 23:10 kahrl_ yay :) https://hosted.weblate.org/projects/minetest/minetest/ 23:12 VanessaE weblate is back? 23:15 RealBadAngel good :) 23:16 RealBadAngel kahrl, whats your opinion on new leaves? 23:16 kahrl like paramat - too sparse 23:16 kahrl but I'm fine with it offered as an option 23:17 RealBadAngel its really useable with moretrees 23:17 RealBadAngel btw, can you check fps gain for you? 23:18 paramat the PR would make it the default, i'm now not sure about that. perhaps fancy should remain the default 23:19 paramat i would prefer opaque the default, but that seems unpopular =) 23:19 kahrl atm I don't have a world with a spot that's consistently below 60 fps :P 23:20 kahrl and my video driver limits fps to that 23:20 RealBadAngel get dreambuilder 23:20 RealBadAngel or moretrees alone 23:21 RealBadAngel about default setting, we have picked simple for the reason it offers middle quality and speed 23:22 RealBadAngel new users will get better fps out of the box 23:22 paramat yes that makes sense, but it looks worse, doesn't make a good first impression 23:23 RealBadAngel when you are comparing two screenshots 23:23 kahrl a new user won't be using moretrees right off the bat, I think 23:23 VanessaE paramat: but if you have no baseline to compare against, what is "worse"? 23:23 kahrl so we can afford fancy trees 23:23 VanessaE kahrl: you'd be surprised! 23:23 RealBadAngel when i linked the first screenshots folks havent even noticed what was changed 23:24 RealBadAngel kahrl, even default jungles are slowing down rendering 23:24 RealBadAngel hmmmm, build a cube out of leaves 3x3x3 nodes - allfaces will draw 162 faces, glasslike 27 23:25 RealBadAngel so whos for simple and whos for fancy as default? 23:26 paramat ideally i would prefer opaque default and think it necessary for some users, but perhaps we should impress players at first with fancy 23:26 RealBadAngel kahrl youre for fancy too? 23:27 RealBadAngel hmmmm, est31, Tesseract ? 23:27 RealBadAngel me and VE are for simple 23:28 kahrl well crap, I discovered an unrelated bug while making the dreambuilder world 23:28 VanessaE uh oh 23:28 * VanessaE hides 23:29 kahrl deleted my minetest.conf, launched the main menu, clicked the dreambuilder button and got https://gist.github.com/kahrl/3fc56e64809ab009ce84 23:29 VanessaE I thought that was already fixed? 23:29 VanessaE hm 23:29 kahrl I just pulled 23:29 * VanessaE shrugs :) 23:29 VanessaE 23:31 paramat will push #2890 when checks finish 23:31 ShadowBot https://github.com/minetest/minetest/issues/2890 -- Mgv7: Auto-set lowest mountain generation level by paramat 23:46 RealBadAngel ha!, i do have an idea how to make simple leaves more dense while even displaying less nodes 23:46 paramat now pushing 2890 23:48 RealBadAngel simply, when all the neighbours are of the same kind, dont add the node to meshcollector 23:48 VanessaE RealBadAngel: so, what I said before but even more extreme :) 23:48 RealBadAngel this way we will get visible faces in the middle 23:49 VanessaE you sure that won't add faces? 23:49 asl97 RealBadAngel: you mean something like rendering all 6 faces of the outer parts of the tree/leaves? 23:49 VanessaE I'd have thought the regular hidden-face culling would delete the nodes in the middle anyway 23:49 RealBadAngel you can test it with glass 23:50 RealBadAngel make the hollow cube 3x3x3 23:50 RealBadAngel with air in center 23:51 RealBadAngel nah, nvm, it looks ugly ;) 23:52 VanessaE lol 23:52 VanessaE FAIl :) 23:52 paramat complete 23:53 RealBadAngel btw, https://github.com/minetest/minetest_game/pull/551 23:53 RealBadAngel why this is not merged yet? 23:54 paramat that should be merged yes, waiting for another mtgame team +1 i guess 23:56 paramat since it's a nodebox thing, not a new feature, perhaps sfan5's +1 is enough though 23:57 asl97 couldn't rendering all 6 faces of nodes with any expose part and none of the non-expose node work? that would make it more dense but still render with lesser face. 23:57 paramat anyway if i see another mtgame team member around i'll try to get 551 merged 23:58 RealBadAngel paramat, its a mesh thing ;) 23:59 paramat heh indeed