Time Nick Message 00:44 MTDiscord there we go, universal binary built with freetype, openal and sqlite 11:28 sfan5 merging #11160, #11161, #11165 in 6m 11:28 ShadowBot https://github.com/minetest/minetest/issues/11160 -- Devtest: Remove testnodes_show_fallback_image by Wuzzy2 11:28 ShadowBot https://github.com/minetest/minetest/issues/11161 -- Reserve vectors before pushing and other code quality changes by sfan5 11:28 ShadowBot https://github.com/minetest/minetest/issues/11165 -- Game: Scale damage flash to max HP by SmallJoker 12:21 x2048 Hey, anyone with good knowledge of the engine here and how the decisions are made around rendering of liquids? 12:22 sfan5 just ask here, maybe someone knows 12:26 x2048 OK, so I'm working on transparency, and how block meshes are generated. There is function face_contents() in mapblock_mesh.cpp that decides what to render on a face, and it uses ContentFeatures.isLiquid() to make decision about liquids. isLiquid() in turn looks at liquid_type ("source" or "flowing") which controls flow, and not drawtype ("liquid") 12:26 x2048 which controls appearance. Is there a reason or is it just overlooked? 12:28 x2048 The result is that anything with drawtype="liquid" and liquid_type="none" would render incorrectly, so my take is that it's a bug. 12:29 sfan5 historically the assumption that liquidtype matches drawtype was probably made, https://github.com/minetest/minetest/commit/7f25823bd intended to change that and missed this 12:33 x2048 Good, looks like I can change to drawtype test then, thanks! 12:55 x2048 What is the best way to prevent z-fighting when I e.g. have transparent water adjacent to leaves? Wuzzy mentioned there was something in Irrlicht for that. 12:57 sfan5 no idea what he could have meant 13:00 x2048 Taken from here: https://github.com/minetest/minetest/pull/11130#issuecomment-813153324 13:23 sfan5 pushing http://sprunge.us/p4E22u?diff in 5 mins 13:27 MTDiscord x2048: pretty sure there's nothing in Irrlicht for that, offsets are and always have been the way to go - no idea what Wuzzy / Wuzzy2 could have meant 13:45 Krock will merge #10323 and #11156 in 10 minutes 13:45 ShadowBot https://github.com/minetest/minetest/issues/10323 -- Add vector.to_string and vector.from_string by Desour 13:45 ShadowBot https://github.com/minetest/minetest/issues/11156 -- Make edit boxes respond to string input (IME) by yw05 13:56 Krock done 14:17 pgimeno the only solution to Z fighting I'm aware of is to not use a depth buffer, https://computergraphics.stackexchange.com/questions/95/avoiding-z-fighting-with-coincident-surfaces 14:29 sfan5 hm the broken android build is kinda bothering me 14:30 sfan5 guess I'll clean up my awful irrlicht building script a bit and finally push it 15:37 x2048 OK, I've avoided Z-fighting for my case by forcing backface culling when water is adjacent to anything with visual_solidness == 1, the same behavior as for solid water. 15:40 appguru Well, that just means you don't draw one of the faces anymore 15:40 x2048 Yeap, and it kind of works in that case (water <-> glass / leaves). 15:41 pgimeno it's a reasonable solution 15:41 x2048 BTW, does anyone know how minetest avoids z-fighting when drawing overlay tiles? 15:42 x2048 I did not see any universal offset for node faces or anything, so there must be some specific solution. 15:45 MTDiscord Maybe it just overlays the textures 15:50 sfan5 rubenwardy: https://github.com/minetest/minetest_android_deps_binaries/blob/master/Android/Build/Irrlicht.sh 15:50 sfan5 if you have some time I wouldn't mind if you tested it (and maybe committed the result) 15:54 x2048 appguru, I found that MeshCollector simply loops over layers: https://github.com/minetest/minetest/blob/07500479191ed927ab661b3758ffcd2fd43158c5/src/client/meshgen/collector.cpp#L28 16:21 Pexin > <+sfan5> hm the broken android build is kinda bothering me 16:21 Pexin thank 16:31 x2048 Moving on with transparency, I have another problem: in order to draw 6-face transparent liquids correctly, I need to create 6 meshes for each node (which is a lot). I made a shortcut so that if a liquid defines just one tile, I merge the node into the relevant mapblock mesh via MeshCollector, but, for example, MCL2 defines all 6 faces for 16:31 x2048 mcl_core:water_source, all identical, which results in 200K+ drawcalls even on a small sea. 16:32 x2048 Is it something to handle in the engine or is it better to document that 6-face transparent liquids are a performance problem and should be avoided (like overlay tiles)? 16:44 sfan5 hold on aren't defined tiles expanded so that there's always 6? 17:05 x2048 This only worsens the problem, and I just found out that it replicates the TileSpec on loading from lua :( 17:05 x2048 Not TileSpec, but TileDef 18:16 MTDiscord possibly an issue with model[] in formspecs: 18:16 MTDiscord UNSUPPORTED (log once): POSSIBLE ISSUE: unit 0 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable 18:16 Krock but minetest generates fallback textures?! 18:17 MTDiscord no fallback either 20:09 Pexin the 5.4.1 backport does not contain the minimap normaltexture fix? 20:11 sfan5 please comment so we don't forget 23:05 luk3yx Is it possible for https://github.com/minetest/minetest/commit/3edb1ddb8127aa7e8de867be50c695271091cb94 to be included in 5.4.1?