| Time |
Nick |
Message |
| 01:02 |
LandarVargan |
Same issue on 5.9-dev. I don't see the walls of peer addition/deletion though, or anything that looks out of place in a way that suggests an obvious problem |
| 01:06 |
LandarVargan |
Lots of `con(4/1)RE-SENDING timed-out RELIABLE to ###.###.###.###(t/o=0.352): count=<1-8>, channel=0, seqnum=65506` and `con(4/1)WARNING: ACKed packet not in outgoing queue seqnum=65500` |
| 01:07 |
LandarVargan |
The log file is 326MB, on second thought maybe Minetest is just fumbling that |
| 01:08 |
|
ShadowBot joined #minetest-dev |
| 01:10 |
LandarVargan |
debug_log_size_max is set to 10 IIRC, but that only applies on restart from what I can tell |
| 01:12 |
|
proller joined #minetest-dev |
| 03:09 |
|
SFENCE joined #minetest-dev |
| 03:18 |
LandarVargan |
Nope, just went down again in less than 30 minutes after I set the log level to action |
| 03:53 |
|
SFENCE joined #minetest-dev |
| 04:06 |
|
Lupercus joined #minetest-dev |
| 05:00 |
|
MTDiscord joined #minetest-dev |
| 06:43 |
MTDiscord |
<paradust> how we would we feel about |
| 06:44 |
MTDiscord |
<paradust> purging euler angles from irrlicht and everything else |
| 07:27 |
MTDiscord |
<jordan4ibanez> Why would you want to do that? |
| 07:27 |
|
SFENCE joined #minetest-dev |
| 07:28 |
Mantar |
yeah, for what purpose? euler angles are generally useful for 3d stuff, and I can't imagine it's a huge hairy block of spaghetti code that touches everything |
| 07:38 |
MTDiscord |
<paradust> To replace them with quaternions. Less distortion at certain angles, less gimbal lock. And it reduces the number of representations of rotations from 3 to 1 (currently euler angles are used in both radians and degree form, in addition to quaternions) |
| 07:39 |
MTDiscord |
<paradust> And it is computationally easier to compose quaternions |
| 07:55 |
MTDiscord |
<jordan4ibanez> Yeah but how is it for the average Joe mod dev? Maybe instead of degrees that should be totally scrapped and it should be locked into euler |
| 07:57 |
MTDiscord |
<jordan4ibanez> Degrees and radians mixed into the same api can be heckin confusing, what I meant was radians only |
| 07:58 |
Mantar |
personally I find radians annoying to deal with, but conversion is super easy so it's not a big deal |
| 07:58 |
MTDiscord |
<paradust> quaternions are just so much better. you can multiply, rotate, and convert to a matrix without needing to call a trig function |
| 08:00 |
Mantar |
quaternions are nice, yeah |
| 08:00 |
Mantar |
but is that a reason to remove euler angles? |
| 08:00 |
MTDiscord |
<jordan4ibanez> Yeah but you need the starting point, something that the average moe can understand, perhaps if it used SIMD under the hood this would be less of an issue? |
| 08:00 |
MTDiscord |
<paradust> it's a reason to keep the internal representation quaternions, and only convert euler angles for the api maybe |
| 08:01 |
MTDiscord |
<paradust> right now the internal representation of rotation for all scene nodes is euler angles in degrees |
| 08:01 |
MTDiscord |
<jordan4ibanez> Alright paradust, you're scaring me |
| 08:01 |
MTDiscord |
<jordan4ibanez> Nah I'm just kidding, yeah it's pretty bad |
| 08:02 |
MTDiscord |
<jordan4ibanez> That because of b3d I'm guessing? |
| 08:02 |
MTDiscord |
<jordan4ibanez> Or maybe it was rooted deeper than that |
| 08:03 |
MTDiscord |
<paradust> i dunno. irrlicht shrug |
| 08:08 |
|
calcul0n joined #minetest-dev |
| 08:13 |
|
SFENCE joined #minetest-dev |
| 10:07 |
pgimeno |
I'd love to abolish Euler angles from the internal representation and only offer them for mod APIs |
| 10:08 |
pgimeno |
it might solve one or two problems with animations too |
| 10:10 |
|
YuGiOhJCJ joined #minetest-dev |
| 10:11 |
pgimeno |
I believe one of the problems with animations had to do with gimbal lock |
| 10:13 |
pgimeno |
in doing so, care must be taken due to Minetest's left-handed coordinate system, though |
| 10:17 |
pgimeno |
https://irrlicht.sourceforge.io/forum/viewtopic.php?p=272097#p272097 |
| 11:44 |
|
Desour joined #minetest-dev |
| 12:18 |
rubenwardy |
Yeah I agree, we should use transformation matrices |
| 12:24 |
|
proller joined #minetest-dev |
| 12:25 |
Desour |
we could encode 90° directions and rotations in integers, and so make them easier to handle and probably cheaper: https://github.com/Desour/minetest/tree/rotnums_cpp |
| 12:27 |
Desour |
(^ RotNums are incomplete as of now) |
| 12:32 |
rubenwardy |
*matrices or quaternions. Matrices seem a bit more common in game engines |
| 12:45 |
|
Lupercus joined #minetest-dev |
| 13:17 |
pgimeno |
quaternions are like an abbreviated form of a rotation + scaling matrix, but the scaling is not very comfortable to work with so in practice they are used only for rotation, with normalized quaternions |
| 13:17 |
pgimeno |
irrlicht has separate scaling and rotation though, so that's OK |
| 13:18 |
pgimeno |
the only drawback is that it's one more FP number to store per scene node |
| 13:35 |
Desour |
why is there a `project(minetest)` call in src/CMakeLists.txt and CMakeLists.txt? |
| 13:43 |
nrz |
Desour sounds to be an historical mistake 🙂 |
| 13:44 |
MTDiscord |
<warr1024> That sounds pretty harsh; I don't think Desour was a mistake at all. |
| 13:47 |
Desour |
unlike war |
| 13:47 |
MTDiscord |
<warr1024> War was a mistake, but r1024 was on purpose. |
| 14:06 |
MTDiscord |
<luatic> yes yes yes quaternions everywhere |
| 14:25 |
MTDiscord |
<warr1024> *yes yes yes 1, quaternions everywhere |
| 14:26 |
MTDiscord |
<luatic> For transforms, I think TRS (translation vector, rotation quaternion, scale vector) is more modder-friendly than translation matrices (and would also map better to what we currently have). |
| 14:48 |
|
proller joined #minetest-dev |
| 14:49 |
MTDiscord |
<luatic> transformation matrices* |
| 14:56 |
rubenwardy |
We want to use something consistent in the engine and can provide whatever API we want on top of that |
| 14:57 |
rubenwardy |
transformation matrices make it much easier to apply all the operations when working in a scene node hierarchy |
| 15:02 |
MTDiscord |
<paradust> pgimeno: when you rotate a vector q by a quaternion p, you're actually computing the conjugate p q p^(-1), so the scale goes away anyway |
| 15:37 |
|
LandarVargan joined #minetest-dev |
| 15:52 |
|
LandarVargan2 joined #minetest-dev |
| 15:55 |
pgimeno |
paradust: no it doesn't, it is squared |
| 15:55 |
pgimeno |
@paradust ^ |
| 15:56 |
MTDiscord |
<paradust> ? |
| 15:56 |
pgimeno |
hold on, let me check to be sure |
| 15:58 |
pgimeno |
yes, what I mean is that the vector's length gets multiplied by the square of the norm of the quaternion |
| 15:59 |
pgimeno |
hence why it's not comfortable to work with for scaling |
| 16:00 |
MTDiscord |
<paradust> any scaling is the result of the equation's denominator being omitted because it is assuming to be a unit quaternion |
| 16:01 |
MTDiscord |
<paradust> it's not part of the quaternion structure itself |
| 16:02 |
pgimeno |
when multiplying a quaternion by its conjugate, you don't get a normalized quaternion, you get one with the squared norm - the conjugate does not cancel the norm |
| 16:02 |
MTDiscord |
<paradust> yes it does, because if the quaternion p has length d, then p^(-1) has length 1/d |
| 16:02 |
pgimeno |
noooo |
| 16:03 |
pgimeno |
the conjugate has the same norm as the original quaternion |
| 16:03 |
MTDiscord |
<paradust> inverse not conjugate |
| 16:03 |
MTDiscord |
<paradust> ok we're using different notation, I always meant inverse |
| 16:04 |
pgimeno |
ok but to rotate a vector you need to multiply by the conjugate, not the inverse |
| 16:04 |
MTDiscord |
<paradust> conjugation in group theory uses the inverse |
| 16:04 |
MTDiscord |
<paradust> if you have unit quaternions, they are the same thing |
| 16:04 |
pgimeno |
the conjugate of a+bi+cj+dk is a-bi-cj-dk and both have the same norm |
| 16:05 |
MTDiscord |
<paradust> you know the trick where you compute 1/(a+bi) by multipling numerator and denomator by (a-bi) to get (a-bi)/(a^2 + b^2) |
| 16:05 |
MTDiscord |
<paradust> the same thing works for quaternions |
| 16:05 |
MTDiscord |
<paradust> the inverse (a - bi - cj - dk)/(a^2 + b^2 + c^2 + d^2) |
| 16:05 |
pgimeno |
yes, if you have unit quaternions - that's why I said that they're usually used for rotation only and in normalized form, because using them for scaling is uncomfortable |
| 16:06 |
pgimeno |
to rotate a vector you do q times v times q's conjugate, that's not the inverse |
| 16:07 |
pgimeno |
so if q's norm is not 1, you're multiplying the vector's length by the quaternion's norm squared |
| 16:07 |
MTDiscord |
<paradust> this is how it is implemented for convenience, but what i'm saying is, the mathematics behind quaternions always uses the inverse |
| 16:08 |
MTDiscord |
<paradust> despite the unfortunate conflict in terminology, "conjugation" as a math operation always uses the inverse, not the conjugate |
| 16:08 |
pgimeno |
ok |
| 16:08 |
MTDiscord |
<paradust> https://en.wikipedia.org/wiki/Conjugacy_class |
| 16:09 |
pgimeno |
anyway we're in agreement, even if possible, it's not very practical to use quaternions for scaling too |
| 16:10 |
MTDiscord |
<paradust> yea there's really no reason to |
| 16:35 |
|
LandarVargan2 joined #minetest-dev |
| 17:25 |
|
proller joined #minetest-dev |
| 17:28 |
|
Desour joined #minetest-dev |
| 18:57 |
|
grorp joined #minetest-dev |
| 18:58 |
grorp |
merging #14071 in 10 min |
| 18:58 |
ShadowBot |
https://github.com/minetest/minetest/issues/14071 -- Move hard coded minimap to builtin by cx384 |
| 19:07 |
ROllerozxa |
has anyone tested translation support on real windows? (mingw codepaths) |
| 19:07 |
ROllerozxa |
I'm very confused, I tested translations in my own build from master (built with MSYS2 CLANG64) and they don't work, neither detecting from system or setting manually. I also tried the official 5.8.0 build and it doesn't work there either (in fact I went as far back as 5.5.0 and it doesn't work) |
| 19:07 |
ROllerozxa |
to make things weirder the official builds have functional translation support on wine! so did I mess something up with my windows install (wouldn't be surprised if so) or can anyone else reproduce? |
| 19:11 |
ROllerozxa |
um |
| 19:11 |
MTDiscord |
<landarvargan> Spanish works for me with the official builds, you do need to restart the game though |
| 19:11 |
ROllerozxa |
it just started working again, no idea what happened to my windows |
| 19:13 |
grorp |
merging done. |
| 19:13 |
ROllerozxa |
yeah I'm aware you need to restart, it just wasn't working no matter what I tried but obviously it magically went away when I asked in IRC. please disregard me 8) |
| 19:53 |
|
SFENCE joined #minetest-dev |
| 20:13 |
|
LandarVargan2 joined #minetest-dev |
| 20:17 |
|
SFENCE joined #minetest-dev |
| 20:24 |
|
[MTMatrix] joined #minetest-dev |
| 20:26 |
LandarVargan |
In case people missed my last message, these are still my best guesses as to culprit logs: `con(4/1)RE-SENDING timed-out RELIABLE to ###.###.###.###(t/o=0.352): count=<1-8>, channel=0, seqnum=65506` and `con(4/1)WARNING: ACKed packet not in outgoing queue seqnum=65500` |
| 21:24 |
|
SFENCE joined #minetest-dev |
| 22:04 |
LandarVargan |
Sometimes if I grep the IP for the above log entries I won't see anything but those entries. As if no player with that IP ever joined the game. This is the case across every crash log I have, and the logs go back to when the server started |
| 22:21 |
LandarVargan |
The server profiler still works after the server hangs, here's the output: https://pastebin.com/ZnvejYxk |
| 22:28 |
|
proller__ joined #minetest-dev |
| 23:34 |
|
panwolfram joined #minetest-dev |