Minetest logo

IRC log for #minetest-dev, 2024-03-20

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

All times shown according to UTC.

Time Nick Message
00:11 Lupercus joined #minetest-dev
00:18 [MTMatrix] <Zughy> speaking about textures, suggestion: please someone fix the bad scaling. It kills pixel art (#10733)
00:18 ShadowBot https://github.com/minetest/minetest/issues/10733 -- GUI images use inconsistent/bad scaling
00:23 MTDiscord <warr1024> enabling gui_scaling_filter would be a workaround for now, but that bug seems to suggest that the entire GUI architecture needs to be rethunk, to enable scaling to be locked to integer multiples and shit.  That sounds a fair bit more involved than "can somebody just fix this right now"
00:47 Desour #14478
00:47 ShadowBot https://github.com/minetest/minetest/issues/14478 -- Different algorithm for imageCleanTransparent by Desour
00:51 Lupercus joined #minetest-dev
01:12 Warr1024 joined #minetest-dev
01:22 y5nw joined #minetest-dev
01:29 ShadowBot joined #minetest-dev
01:51 ShadowBot joined #minetest-dev
02:01 ShadowBot joined #minetest-dev
02:53 proller joined #minetest-dev
03:14 LandarVargan joined #minetest-dev
03:14 LandarVargan left #minetest-dev
03:49 Lupercus joined #minetest-dev
04:00 MTDiscord joined #minetest-dev
04:43 v-rob joined #minetest-dev
04:44 v-rob <shameless plug>Scaling can be precisely controlled with the new UI API</shameless plug>
07:00 MTDiscord <paradust> who do I blame for quaternion multiplication being backwards. irrlicht? the entire game industry?🤦‍♂️
07:00 MTDiscord <paradust> i just noticed this. it means that associativity doesn't hold when vectors are involved. (p * q) * v is not equal to p * (q * v) but instead q * (p * v)
07:01 MTDiscord <paradust> but this seems to match the openxr demo math lib, so I guess it's more than just irrlicht
07:49 jonadab joined #minetest-dev
07:56 appguru joined #minetest-dev
11:20 MTDiscord <herowl> What I miss is scaling like CSS vh and vw, where you can choose to have both aspects of an image not depend on the screen (viewport) aspect ratio, while still scaled relative to the relevant aspect.
11:22 MTDiscord <herowl> I.e. percentage scaling, but both width and height use percentage of either screen width or screen height.
11:45 pgimeno_ joined #minetest-dev
11:46 nrz_ joined #minetest-dev
11:48 [0] joined #minetest-dev
11:49 hifi_ joined #minetest-dev
11:49 Sokomine_ joined #minetest-dev
12:01 izzyb joined #minetest-dev
12:41 proller joined #minetest-dev
12:51 Lupercus joined #minetest-dev
13:16 citrons joined #minetest-dev
13:21 [MTMatrix] <Zughy> imageCleanTransparent: Luatic vs Desour
13:22 luk3yx joined #minetest-dev
14:17 fgaz_ joined #minetest-dev
14:18 MTDiscord <herowl> Imagine clean, transparent... code.
14:25 Desour joined #minetest-dev
14:32 Desour pushing https://github.com/minetest/minetest/commit/751ede516bf006edb9fca2610fc951bcc5eaf1d5 in 15
14:32 Desour !title
14:32 ShadowBot ProfilerGraph: Increase buffer size for min/max formatting · minetest/minetest@751ede5 · GitHub
14:33 Desour (then we can actually see how big a spike is in the F5 profiler graph)
14:59 behalebabo joined #minetest-dev
15:27 sfan5 merging #14438 in 10m
15:27 ShadowBot https://github.com/minetest/minetest/issues/14438 -- [no sq] Server code cleanups / refactors by sfan5
16:05 appguru joined #minetest-dev
16:19 MTDiscord <mistere_123> paradust: It depends on the kind of vector multiplication you are doing, whether its associative. Dot vs cross, iirc.
16:33 MTDiscord <luatic> i find speaking of associativity a bit weird here type-wise. dot product is vector x vector -> scalar (and not associative with scalar multiplication). cross product is vector x vector -> vector at least, but isn't associative either.
16:34 MTDiscord <luatic> anyways what paradust is talking about here is the "associativity" of quaternion - quaternion with quaternion - vector multiplication, which depends on the convention of order of operands in quaternion multiplication (quaternion multiplication is not commutative).
16:51 d0p1 joined #minetest-dev
17:26 sfan5 reviews needed >> https://github.com/minetest/minetest/pulls?q=is%3Aopen+is%3Apr+label%3A%22One+approval+%E2%9C%85+%E2%97%BB%EF%B8%8F%22
17:37 sfan5 especially the docker thing because it's blocking a few MT-using projects that I want to unit / integration test
17:45 sfan5 Desour: do you want to move the irrlichtmt merge forward?
17:48 Desour sure, can do
17:48 Desour is there anything left that you want to change before?
17:48 Desour in the irrlicht repo
17:50 nrz_ oh great great great to see this merge will happen
17:51 sfan5 there are no outstanding PRs and no (relatively) low hanging fruits left on the roadmap either
17:51 sfan5 so nope
17:51 nrz_ (don't hesitate to think about proller custom types at a point too as the faster it's added the best we can think in the future about those map limits with less restrictions
18:05 v-rob joined #minetest-dev
18:23 Desour irr#295
18:23 ShadowBot https://github.com/minetest/irrlicht/issues/295 -- [no sq] Reformat the code (adopted) by Desour
18:45 hlqkj joined #minetest-dev
19:03 Lupercus joined #minetest-dev
20:11 imi joined #minetest-dev
20:24 proller nrz_, how many approvers need to megre? and there is no need to think, just review and press green button...
20:24 proller ... and one week for merge to current master ...
20:35 v-rob joined #minetest-dev
21:01 MTDiscord <paradust> MisterE: p,q are quaternions, and v is a vector. Quaternion multiplication is associative. But whether the associativity also holds for the vector part depends on whether you apply it to the correct side.
21:01 MTDiscord <paradust> In a math context, you always place the object being acted upon on the left or right side as necessary to make associativity work
21:02 MTDiscord <paradust> https://en.wikipedia.org/wiki/Group_action#Left_group_action
21:04 pgimeno @paradust is that something fixable, or are we stuck with it for the rest of the eternity?
21:06 MTDiscord <paradust> In theory, just swap the operands of operator* and all uses. But it seems like it might be a convention in graphics programming. So maybe we don't want to. I'm just looking at it from a math background
21:06 pgimeno I mean as in, is it better to leave it as is (for reasons like compatibility with ???, or like endangering other parts of the library or the engine)?
21:07 pgimeno I have seen a different order in a different context. Second Life has quaternion multiplication reversed too, but it uses v*q instead of q*v to rotate a vector, which makes v*q*p associative
21:08 Noisytoot joined #minetest-dev
21:08 diceLibrarian joined #minetest-dev
21:09 MTDiscord <paradust> Yea that's an option as well. operator* (quaternion, vector3d) could be replaced by operator* (vector3df, quaternion)
21:10 pgimeno wouldn't that also be safer from the point of view of identifying all points where it's used?
21:10 MTDiscord <paradust> yea
21:11 proller joined #minetest-dev
21:18 Lupercus joined #minetest-dev
21:20 pgimeno hm, it hides a trap - imagine there's a code fragment using something like v1*q*v2, that wouldn't raise an error but the meaning would change (if vector*vector is defined, which I don't know)
21:20 pgimeno oh nvm that, sorry
21:40 MTDiscord <paradust> I believe C++ would always interpret v1 * q * v2 as (v1 * q) * v2. So if there's current code like that, it would have to be parenthesized as v1 * (q * v2) and that would generate an error if the order is reversed.
22:28 v-rob joined #minetest-dev
22:39 pgimeno yeah I realized a few seconds after I pressed Enter
22:42 appguru joined #minetest-dev
22:48 v-rob I'd suggest that quaternions use the multiplication conventions from math (whatever that might be).  For instance, to map from matrix A to B, standard math writes that as B*A.  To transform a vector v by A, it's A*v.  Direct3D is notable in that it gets this backwards, doing A*B and v*A.  Maybe Direct3D is more "intuitive" for programmers, but it's contrary to the standard way of doing things, which should be avoided.  I don't know how it should look
22:48 v-rob for quaternions, but I highly suggest that math's conventions are followed, even if they aren't as intuitive as one would like.
22:55 v-rob So, I say that graphics programming conventions should be ignored when they conflict with math.  Especially considering that graphics programming conventions are never consistent, e.g. OpenGL uses the correct notation for matrices, unlike Direct3D.
22:56 MTDiscord1 joined #minetest-dev
22:57 MTDiscord2 joined #minetest-dev
23:06 pgimeno yeah, quaternions are a bit like "compressed matrices" in how you operate with them in the most widespread math notation
23:33 panwolfram joined #minetest-dev
23:46 imi joined #minetest-dev

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