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:16 |
|
kaeza joined #minetest-dev |
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:19 |
|
chchjesus joined #minetest-dev |
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:30 |
|
diemartin joined #minetest-dev |
00:31 |
est31 |
ok bye gotta read about lock less data structures |
00:41 |
|
est31 joined #minetest-dev |
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 |
|
kaeza joined #minetest-dev |
00:44 |
est31 |
locks are said to require alot of time |
01:24 |
|
RealBadAngel joined #minetest-dev |
01:32 |
|
Wuzzy joined #minetest-dev |
01:48 |
|
kahrl_ joined #minetest-dev |
01:51 |
|
sloantothebone joined #minetest-dev |
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:45 |
|
paramat joined #minetest-dev |
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:53 |
|
est31 joined #minetest-dev |
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:10 |
|
paramat left #minetest-dev |
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 :-) |
03:55 |
|
sloantothebone_ joined #minetest-dev |
04:06 |
|
est31 joined #minetest-dev |
04:52 |
|
est31 joined #minetest-dev |
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 |
?? |
05:33 |
|
RealBadAngel joined #minetest-dev |
05:47 |
|
Hunterz joined #minetest-dev |
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 |
06:18 |
|
nrzkt joined #minetest-dev |
06:34 |
|
jin_xi joined #minetest-dev |
06:53 |
|
OldCoder joined #minetest-dev |
07:05 |
|
julienrat joined #minetest-dev |
07:08 |
|
julienrat left #minetest-dev |
07:10 |
|
Darcidride joined #minetest-dev |
07:13 |
|
Darcidride_ joined #minetest-dev |
07:44 |
|
Krock joined #minetest-dev |
08:00 |
|
Yepoleb_ joined #minetest-dev |
08:17 |
|
RealBadAngel joined #minetest-dev |
08:28 |
|
rubenwardy joined #minetest-dev |
08:44 |
|
Amaz joined #minetest-dev |
08:48 |
|
Calinou joined #minetest-dev |
09:27 |
|
cib0 joined #minetest-dev |
09:35 |
|
jin_xi joined #minetest-dev |
09:55 |
|
hmmmm joined #minetest-dev |
10:00 |
|
VanessaE joined #minetest-dev |
10:34 |
|
cib0 joined #minetest-dev |
10:44 |
|
qwertie joined #minetest-dev |
10:46 |
|
sloantothebone_ joined #minetest-dev |
11:01 |
|
cib0 joined #minetest-dev |
11:03 |
|
qwertie joined #minetest-dev |
11:15 |
|
proller joined #minetest-dev |
11:31 |
|
sloantothebone joined #minetest-dev |
11:32 |
|
sloantothebone joined #minetest-dev |
11:32 |
|
sloantothebone joined #minetest-dev |
11:33 |
|
sloantothebone joined #minetest-dev |
11:34 |
|
sloantothebone joined #minetest-dev |
11:35 |
|
sloantothebone joined #minetest-dev |
11:36 |
|
sloantothebone joined #minetest-dev |
12:22 |
|
qwertie left #minetest-dev |
12:23 |
|
diemartin joined #minetest-dev |
12:27 |
|
RealBadAngel joined #minetest-dev |
13:03 |
|
est31 joined #minetest-dev |
13:41 |
|
qwertie joined #minetest-dev |
14:08 |
|
bb94 joined #minetest-dev |
14:17 |
|
est31 joined #minetest-dev |
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:13 |
|
cib0 joined #minetest-dev |
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 <est31> 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 |
15:54 |
|
rom1504 joined #minetest-dev |
16:12 |
RealBadAngel |
white vans are bad? |
16:12 |
RealBadAngel |
lookin at the temperature outside they should be way better than black ones |
16:15 |
|
jbb_ joined #minetest-dev |
16:24 |
Krock |
RealBadAngel, vans made of carbon night me better than the regular ones. |
16:25 |
|
est31 joined #minetest-dev |
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() |
16:44 |
|
twoelk joined #minetest-dev |
16:53 |
|
Hunterz joined #minetest-dev |
16:54 |
|
Robert_Zenz joined #minetest-dev |
17:16 |
|
twoelk joined #minetest-dev |
17:36 |
|
Anchakor joined #minetest-dev |
17:50 |
|
RealBadAngel joined #minetest-dev |
17:53 |
|
cib0 joined #minetest-dev |
18:03 |
|
diemartin joined #minetest-dev |
18:16 |
|
sloantothebone joined #minetest-dev |
18:26 |
|
Niebieski joined #minetest-dev |
18:33 |
|
MinetestForFun joined #minetest-dev |
18:33 |
RealBadAngel |
kahrl_, here? |
18:45 |
RealBadAngel |
hmmm, Calinou, sfan5, Tesseract https://imgrush.com/FXqdrac34rQ3.png |
18:45 |
|
err404 joined #minetest-dev |
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) |
18:59 |
|
selat joined #minetest-dev |
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:13 |
|
paramat joined #minetest-dev |
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:23 |
|
Amaz joined #minetest-dev |
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 |
|
Hunterz joined #minetest-dev |
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 |
|
rubenwardy joined #minetest-dev |
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 |
|
cib0 joined #minetest-dev |
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:51 |
|
est31 joined #minetest-dev |
19:51 |
|
Robert_Zenz joined #minetest-dev |
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:10 |
|
err404 joined #minetest-dev |
20:16 |
|
H-H-H joined #minetest-dev |
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:37 |
|
sloantothebone joined #minetest-dev |
21:38 |
|
sloantothebone joined #minetest-dev |
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:10 |
|
MinetestForFun joined #minetest-dev |
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:25 |
|
proller joined #minetest-dev |
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:45 |
|
troller joined #minetest-dev |
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 |
<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 |
<insert sfan5's favorite emoji here> |
23:30 |
|
kilbith joined #minetest-dev |
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:41 |
|
asl97 joined #minetest-dev |
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 |
23:59 |
|
Sokomine joined #minetest-dev |