Time Nick Message 07:36 erle anyone has opinions on my idea ”render a single frame with an increasing number of shader instructions until you reach the size of the largest shader or it takes 500ms to render the frame to figure out of shaders should be enabled or not?” 07:36 erle like, if it should even be possible to enable shaders 07:37 erle or maybe 100ms even, given that this would constitute an unplayable game 07:38 sfan5 question: how do you truncate a shader at a given length? 07:38 sfan5 question 2: will you do the work? 07:46 erle sfan5 you don't have to truncate the shader, you can just use a loop inside it 07:47 erle int limit = 32; float useless = 0.5; for(int i=0; i erle sfan5: isn't it simpler to target specific fps and incrementally increase pipeline features on first launch until it's hit? 10:54 erle x2048 well, it's not like there is any noticeable effect once you exceed the instruction limit 10:54 erle it's a hard boundary 10:54 erle on one side you get fast shaders, on the other side you get garbage tier performance that is better with mesa software rendering 10:54 sfan5 appears to be some old r23 version 10:55 erle x2048 i think if it was gradual you'd be right 10:56 erle you can try it yourself btw, using that useless multiplication trick i posted above. though i am still not sure if it is always 1 instruction. 10:57 erle x2048 i'd be grateful if you could give me the simplest possible standalone implementation of shadows using shaders you have lying around so i can see if it works using the *ARB functions on my GPU. 10:58 erle fabien sanglard made a tiny one, but i can't get it to compile 11:24 sfan5 pushing https://github.com/minetest/minetest/commit/2183b35ba4cda762e3176a7b442dd786e749b35d if/once the build succeeds 13:18 erle i deeply apologize for 3d cloud rendering being shit, i vaguely remember that it was my fault many years ago 13:53 erle how do i make settings have defaults? i am asking for the cloud thing: https://github.com/minetest/minetest/issues/11685#issuecomment-1192596593 16:24 erle i don't think the shader loop performance testing thing i suggested is going to work in general. the reason is that it obviously relies on loop unrolling. 16:29 erle i.e. basically, any GPU that is old enough can totally do shaders and GLSL, but is unable to do dynamic branching in hardware, so everything is unrolled LMAO 16:29 erle here are some entirely unsourced limits: https://stackoverflow.com/questions/2617957/glsl-maximum-number-of-instructions 16:50 vampirefrog hey guys is there a way to connect to a minetest server to listen for chat events? 16:50 vampirefrog do I need a mod that listens on a http port and has a websocket or something? 16:50 vampirefrog does that mod exist already? 16:51 vampirefrog I basically want to connect to the minetest server like I would connect to an IRC server, so as a client 16:51 vampirefrog and just listen to chat 16:52 sfan5 that's a question for #minetest 16:52 vampirefrog thanks 16:52 sfan5 I believe someone wrote a client that implements the Minetest protocol only for chatting 16:53 sfan5 (third-party implementation) 16:53 erle yeah and it revealed some issues 16:53 vampirefrog well yes but would I connect as a player or as some invisible entity 16:53 erle wait, i have a screenshot of the answer 16:53 vampirefrog okay 16:56 sfan5 a player, there's no direct support for joining the game without appearing in the world 16:56 erle vampirefrog games vary in handling this, but this is one thing that happened lol https://mister-muffin.de/p/GVwX.png 16:56 vampirefrog lmao 16:56 vampirefrog he flat 16:56 erle yes, but that is not a fault of the engine 16:56 erle but the game (mineclone) 16:56 vampirefrog that's alright 16:56 erle the engine will place you as an unmoving player on some spawn point 16:57 vampirefrog I probably just need a mod that listens on a websocket or just a regular socket 16:57 erle what 16:57 vampirefrog so a mod that is installed on the server, that waits for chat events, and also has an open websocket 16:57 erle sfan5, do you remember the headless minetest client that used to crash the login? 16:58 vampirefrog and then it just relays the chat messages to the websocket clients 16:59 vampirefrog i can probably take code from one of the bridge plugins 17:00 sfan5 erle: its probably linked in the issue 17:05 Krock will push https://krock-works.uk.to/u/patches/0001-Mainmenu-Escape-server_favorite_delete-path.patch fix for #12583 in 20 minutes 17:05 ShadowBot https://github.com/minetest/minetest/issues/12583 -- Delete favorite button texture missing 17:08 sfan5 given how often the core.formspec_escape(defaulttexturedir .. "foo.png") is repeated there should really be a wrapper function 17:08 sfan5 (eventually, not now) 17:10 Krock thought of the same 17:11 Krock but well I don't care too much about that 17:24 MTDiscord erle: I don't have any, but can try to fix Fabien's impl if you point me to. The problem of shadows is not in shaders, its the double drawcalls. Shadow shaders are trivial-dumb. 17:24 Krock pushing 17:39 erle x2048 if you can tell me how to compile this on gnu/linux (x86, debian), i'd be happier https://fabiensanglard.net/shadowmapping/index.php 17:51 Krock sfan5: https://github.com/minetest/minetest/commit/7e9666d71 to fix #12567. It's pretty trivial; gave it a quick test. If you think it's okay, I'll push it to master 17:51 ShadowBot https://github.com/minetest/minetest/issues/12567 -- util/stress_mapgen.sh can execute “rm -rf /” if current directory name contains a space 17:56 sfan5 Krock: looks okay 17:58 Krock thanks. Will push that commit in 15 minutes then 17:59 Krock whereas the described issue cannot happen, it's still good to have paths with spaces supported. 18:03 vampirefrog is this the right place to ask about mod dev? 18:04 Krock it's more about C++ and Minetest API development here. #minetest should fit better for that 18:11 vampirefrog thanks 18:12 Krock pushing 18:37 erle what's the deal with #11933? 18:37 ShadowBot https://github.com/minetest/minetest/issues/11933 -- A light_source should not override sunlight. by lhofhansl 19:23 erle sfan5, why did you close #11749? i understand very well that you do not like my proposed solution, but the issue is not titled “stop using cmake” or “use redo”, it points out 3 bugs in the current build system. 19:23 ShadowBot https://github.com/minetest/minetest/issues/11749 -- CMake does not capture all dependencies, causing erroneous incremental builds & build failures 19:24 erle and at least the fact that cmake does not actually capture all dependencies is totally fixable 19:25 erle because it is not an issue with cmake, but with how it is set up 19:26 erle if you don't care about dependency bugs at all, then just say it 19:53 sfan5 if it's fixable then open a PR 19:53 sfan5 or state how at the very least 19:55 sfan5 the entire discussion revolved about how it wasn't fixable with cmake and you'd need a different build system and now suddenly it can be fixed 19:55 sfan5 if you don't provide acceptable solutions I'm not keeping that issue open 19:56 sfan5 feel free to convince another coredev that this is worth spending time on otherwise 22:06 erle sfan5 i will not make such a PR for the simple reason that I am not an expert on cmake. the thing have suggested to start with identifying which dependencies are not being tracked, so they can be added to the build rules and to determine which commits are problematic in terms of incremental builds. 22:08 erle I have suggested multiple strategies to do this months ago. i will list them again now: 1. do incremental and full builds in the CI. when the incremental build fails, figure out what is wrong with the commits. 2. use my provided hook that prevents one of the bugs to mask another one of them in the CI. 3. strace the compiler to figure out which files are actually used. 22:09 erle in a twist of irony, the by far simplest strategy for anyone without a deep knowledge of cmake would be to write a correct build rule for any build system that can figure this out on its own and then translate the results to cmake. 22:10 sfan5 well we don't have any people deeply familiar with cmake either 22:10 erle so you are arguing from a point “there is no one who could fix it”, am i right? 22:10 erle at least fix it in any way acceptable to you 22:12 erle if that is the case, then you already are deep in tech debt. good luck with that, but denying it's an issue will not help. also i remember that josiah_wi did know cmake better than others. 22:13 sfan5 josiah_wi declared that "[...] there is currently no good way to do an incremental build with CMake" 22:14 erle then in my opinion the very least that should be done is putting that information and the information on how to rebuild in a separate directory prominently into the docs or try to make it the default somehow. 22:32 erle i find this extremely frustrating btw – but not because you don't want my particular solutions to the problem, but because of the “this issue should be closed because i can not imagine an acceptable solution exists, so it is as good as unfixable” type of logic paired with rejecting every single approach that could even improve the situation slightly.