Minetest logo

IRC log for #minetest-dev, 2012-11-27

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

All times shown according to UTC.

Time Nick Message
00:00 Taoki VanessaE: http://i46.tinypic.com/xdxtmc.png Just a local test override... there are no mods using this animation by default yet, but carts will probably be first
00:08 Taoki Also, I think I'm going to fix the death animation too right now
00:11 VanessaE looks good.  I'll get after Tonyka to get 3dforniture updated accordingly.
00:11 VanessaE you think you can make it stop looping?
00:13 Taoki I'm making the death animation one frame. It's a rare animation, and there's no need to see it in process
00:13 Taoki Therefore I won't make it loop any more, just a still frame
00:14 VanessaE ok
00:14 VanessaE though the animation does look pretty good..
00:47 doserj joined #minetest-dev
00:57 Taoki http://minetest.net/forum/viewtopic.php?pid=53712#p53712
00:57 Taoki I need to go now so please see this branch tomorrow
01:02 VanessaE ciao
01:14 doserj joined #minetest-dev
05:48 programmer joined #minetest-dev
05:49 PsionicProgramme joined #minetest-dev
05:53 PsionicProgramme greetings.  experience programmer here looking into adding a mob to minetest.
06:17 celeron55 merged and pushed those two
06:17 celeron55 i hope they work 8)
07:02 SpeedProg joined #minetest-dev
07:33 jin_xi joined #minetest-dev
08:08 darkrose joined #minetest-dev
09:47 darkrose joined #minetest-dev
09:54 rsiska joined #minetest-dev
10:08 Taoki joined #minetest-dev
10:11 Taoki Back. There was likely a power failure while I was asleep, so if someone contacted me about those changes feel free to do it again\
10:34 PsionicProgramme sorry for the spam, i am going to sleep soon.  i was poking around the code most of today.
11:18 celeron55 hmm, #minetest-delta is quite quiet these days
11:20 Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://minetest.net/wiki/doku.php?id=dev_index [1~
11:20 thexyz wtf is [1~ ?
11:21 celeron55 wtf
11:21 Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://minetest.net/wiki/doku.php?id=dev_index
13:10 Taoki Anyone read what I posted last night before leaving to bed? I did some important fixes for the player model, and have two branches that should be merged upstream very soon if posible
13:11 Taoki Any of the people with access willing to take a look? PilzAdam is not back or I'd ask tim
13:11 Taoki **him
13:14 celeron55 how about if you'd take a look instead? 8)
13:14 celeron55 either on github, or the channel log
13:18 Taoki Ah, I didn't update the GIT yet, my bad. Will check
13:18 Taoki Lots of things to handle for MineTest at once these days :P
14:12 Taoki I assume mapblock_mesh.cpp is a client file, not server (for that matter it would be nice if each code file was marked as client or server)
14:18 celeron55 if in doubt, you can look in src/CMakeLists.txt
14:19 celeron55 it has all files separated into common, client and server (well, practically common=server)
14:23 Taoki Good to know, thanks
14:26 Taoki celeron55: I'm curious to know something about that lighting. In case I get dynamic light to be stable, but without fixing light showing in caves, is there a chance it could still go upstream as long as it's (obviously) disabled by default? This might encourage others to want to finish it, and it's never a shame for projects to have experimental features hidden somewhere
14:27 Taoki I'm adding a test case which already uses a setting in minetest.conf which will be off by default everywhere possible. When disabled the current lighting is not touched and affected in any way.
14:27 Taoki Still a lot to do but that will be the end result
14:30 Taoki Slightly unrelated, but I remember how Second Life had this issue till they added dynamic shadows. You could never have indoors because the same brightness and lighting from outside would be copied. Which for the most part is still the case, but it never bothered me a lot. So as a fully optional setting it could work for a while I imagine
14:35 PilzAdam joined #minetest-dev
15:16 jin_xi joined #minetest-dev
15:22 celeron55 PilzAdam: explain: https://github.com/celeron55/minetest/commit/ffad18e42442fed10c312adc989fc62b74e05896
15:23 celeron55 i cannot see any reason for merging that, anywhere
15:23 celeron55 and i also don't see anyone approving it
15:24 PilzAdam the glass block wasnt rendered as a cube but just the inventory image was taken as a sprite
15:24 PilzAdam every node wich defines a inventory image looked somehow strange as a sprite
15:25 PilzAdam now only items that are not nodes are sprites
15:26 celeron55 ehm
15:26 celeron55 the correct way of doing that is removing the inventory images?
15:26 celeron55 the inventory image is supposed to override everything
15:26 PilzAdam this would make the glassblock be dark in the inventory
15:27 celeron55 then that should be fixed
15:28 PilzAdam why should a dropped item have the inventory image instead of the images that it has in the 3D world?
15:28 celeron55 what you've done is a bit like removing the steering wheel from a car because it has a broken tire
15:29 celeron55 because some items have such a nodebox that you can't even see them properly
15:29 celeron55 yet you want to see them properly when dropped or in inventory
15:30 celeron55 on the other hand, there is no reason to do it the other way other than things being broken
15:30 PilzAdam i didnt know that the inventory image of nodes should be override thinks outside of the inventory
15:31 celeron55 ...i guess you could've figured that out from the code you modified
15:31 PilzAdam it looked illogical to me
15:31 rsiska joined #minetest-dev
15:31 celeron55 okay, so anyway, this is broken, i'll revert it
15:31 PilzAdam i thought the dropped item should be a mini-node
15:32 celeron55 it should be when there is no special item look for it
15:32 PilzAdam its broken?
15:32 celeron55 which is what it did previously
15:32 PilzAdam in wich way is my code broken?
15:33 celeron55 i have explained
15:33 PilzAdam maybe i have a different understanding of "broken"
15:33 celeron55 take that for example: http://minetest.net/forum/viewtopic.php?id=2855
15:33 celeron55 drop it now
15:34 celeron55 you can't even see it
15:34 celeron55 while it has an inventory image that would be seen just fine
15:34 celeron55 which is the purpose of the inventory image
15:35 PilzAdam okay, i didnt know that inventory image should be used for that
15:36 celeron55 now feel free to fix it in the right way
15:38 Taoki Damn... for over an hour I can't find where the sun's light over the world is being updated. So much code for the current lighting :P
15:40 celeron55 hmm... why the hell does it look like that in the inventory
15:40 celeron55 (if the inventory image is removed)
15:40 PilzAdam it is also for nodes using nodebox
15:42 Calinou joined #minetest-dev
15:45 celeron55 hmm
15:45 celeron55 is it for everything that has paramtype = "light"?
15:45 PilzAdam i seems so
15:45 PilzAdam *it
15:46 doserj joined #minetest-dev
15:46 celeron55 it isn't for leaves
15:47 PilzAdam also stairs and slabs look correctly
15:47 Calinou they're darker
15:47 Calinou (they don't let light pass through -- if you add sunlight_propagates = true they look OK but they let light pass through :))
15:47 PilzAdam in inventory image?
15:47 Calinou ah no, in game world
15:47 Calinou in inventory they look fine
15:47 Calinou regardless of sunlight_propagates
15:47 celeron55 ehm
15:48 celeron55 ...why do stairs and slabs look correct
15:48 celeron55 what *else* looks correct?
15:48 celeron55 i can't see any pattern here
15:49 PilzAdam this looks correct too:
15:49 PilzAdam https://github.com/PilzAdam/farming/blob/master/pumpkin.lua#L281
15:50 celeron55 so what does not look correct, then?
15:50 PilzAdam and it has a rather complex nodebox
15:50 PilzAdam plants
15:51 PilzAdam with plantlike drawtypes
15:51 PilzAdam and I think some nodeboxes were incorrect, but i cant remember wich ones
15:51 celeron55 i have something called a "Box" here, and it looks correct-ish too
15:52 celeron55 there's some odd dark stuff in it but overally it's fine
15:53 celeron55 so... i don't think nodeboxes are generally incorrect
15:53 PilzAdam maybe im wrong in this point
15:53 celeron55 we're left with... the glass block
15:53 PilzAdam i cant remember correctly
15:53 celeron55 so it definitely isn't for everything that has paramtype = "light"
15:53 celeron55 so the question is, for *what* else is it? 8)
15:54 Calinou inventory_image, when it uses minetest.inventorycube
15:54 Calinou (if you're talking about dark blocks... i joined 10 minutes ago)
15:55 Calinou nevermind, it's the inverse
15:55 celeron55 i am asking for what node type with what parameters
15:55 celeron55 currently it seems it is solely the glass block
15:55 Calinou if you have a block with transparent texture but you don't use inventory_image = minetest.inventorycube("texture_name.png"), it will be black in inventory, will look normal (3D) when dropped.
15:55 PilzAdam plantlike, signlike, raillike
15:55 PilzAdam these look wrong
15:55 PilzAdam also liquids
15:55 PilzAdam and torchlike
15:55 Calinou if you have a block with transparent texture but you use inventory_image = minetest.inventorycube("texture_name.png"), it will be normal in inventory, will not look normal (2D) when dropped.
15:56 celeron55 okay... but leaves are fine
15:56 PilzAdam and fences
15:56 celeron55 fences are fine or not?
15:56 PilzAdam fine
15:56 Calinou leaves do not use sunlight_propagates, glass does
15:57 celeron55 content_mapblock.cpp, mapblock_mesh_generate_special()
15:57 PilzAdam dry shrub doesnt use it and its broken too
15:57 celeron55 that is where something odd is happening
15:59 PilzAdam liquid source is half dark, liquid flowing is flat and dark
16:00 celeron55 i won't look into animated things, it's out of scope now
16:01 celeron55 for me, liquid sources seem to work just fine
16:02 celeron55 actually, no
16:02 PilzAdam if i remove the animation and inventory_image it is half dark
16:02 PilzAdam it has nothing to do with animation
16:04 celeron55 liquid sources work fine for me regardless of animation
16:06 PilzAdam this is what i got: http://www.zimg.eu/i/815414725
16:06 PilzAdam (source)
16:07 celeron55 oh, that happens if opaque water is set to off
16:20 celeron55 that day no sense was made
16:22 kotolegokot joined #minetest-dev
16:24 doserj anyone want to comment on https://github.com/celeron55/minetest/issues/307 ?
16:27 celeron55 i ask performance measurements
16:28 celeron55 that probably slows it down a lot
16:28 doserj yeah, that was my concern :)
16:28 hmmmm joined #minetest-dev
16:30 celeron55 uncomment the TimeTaker line in there and see log after running the game for a bit
16:31 doserj ok
16:32 celeron55 PilzAdam: i don't see anything even close to obvious in here
16:32 celeron55 Taoki: if you read our last discussion, maybe you could see something
16:38 doserj most are: 17:35:01: INFO[main]: copy neighbor block data took 0ms
16:38 celeron55 that is, if inventory_image is removed, certain items get rendered wrong to the item textures
16:38 doserj some are 17:35:01: INFO[main]: copy neighbor block data took 1ms
16:38 doserj varies between 0 and 1 ms
16:39 celeron55 was that with the full version of the copy
16:40 doserj that was with the g_26dir version
16:41 doserj the g_6dir version has maybe slightly less instances of 1ms
16:41 celeron55 PilzAdam, Taoki: the odd thing in this is that for example glass is just a cube - and it works with the special inventorycube generator, but NOT with the one that basically automatically does the same thing in a more complicated way
16:42 celeron55 doserj: http://i.chzbgr.com/completestore/2010/6/20/69c60dd0-2cb0-444c-b2bb-85dae4441eca.jpg
16:42 celeron55 i guess that could be made so then
16:43 doserj lol
16:44 celeron55 i've known that glitch almost since smooth lighting was added (well, more like since rails were added; they glitch with that too) but haven't bothered seeing what doing that fix actually causes
16:51 celeron55 that adds 20 fetches from a core::map<v3s16, *>, 20 fetches from a core::map<s16, *> and 5120 copies of 64 byte chunks of data... which, i guess, doesn't consume that much time
16:53 celeron55 PilzAdam: i'm afraid this thing will be left untouched for now
16:56 doserj considering we only really need a fraction of them...
16:56 celeron55 well, it could be optimized if somebody wasn't lazy
16:57 celeron55 however, just stupidly fetching individual nodes from the borders will make that take much longer
16:57 celeron55 (i've tried it)
16:57 celeron55 because fetching a MapBlock is a slow operation (that is, if it is done for every node)
17:01 celeron55 doserj: committed it
17:02 doserj great!
17:02 celeron55 congratulations for pointing it out directly enough for me not to ignore it 8)
17:03 doserj heh
17:05 doserj I could have pointed to http://imgur.com/5O5bR if you didn't see the problem :)
17:07 celeron55 PilzAdam: if you feel there is an immediate need for fixing the thing you meant to fix in the original commit, i think a hackish check for the inventorycube texture could be added to item_entity
17:07 PilzAdam its not that important
17:07 celeron55 hmm... or maybe not
17:07 celeron55 it's too hacky
17:08 * PilzAdam doesnt like hacks
17:08 celeron55 i would love to have this fixed but it's not so simple
17:08 PilzAdam the original commit by me was not to fix this issue
17:09 PilzAdam i just missunderstood the inventory_image / item_entity thing
17:09 celeron55 it probably should be called "item_image"
17:10 PilzAdam that would clarify it
17:11 celeron55 oh god, i just opened mapnode.h of 0.3.2 to see how the field looks in it
17:11 celeron55 ContentFeatures has changed surprisingly little since 0.3 8)
17:11 celeron55 the node definition, that is
17:11 celeron55 it's called inventory_texture in it
17:13 VanessaE[L] joined #minetest-dev
17:14 celeron55 hmm, current master has only 57k SLOC C++
17:14 celeron55 0.3.2 has 40k
17:14 celeron55 that is surprisingly little increase
17:15 VanessaE[L] not bad.
17:25 celeron55 Taoki: are you aware of what causes the multiple players having the same color?
17:26 celeron55 or, well, lighting color
17:26 celeron55 it is because they share the same model
17:26 celeron55 you will want to do the same thing that was done to wielditem models
17:26 celeron55 that is, copy them
17:26 celeron55 it's right there in content_cao.cpp
17:27 celeron55 20 lines from where you'll copy-paste it 8)
17:38 hummer_ joined #minetest-dev
17:59 rubenwardy joined #minetest-dev
18:11 Taoki celeron55: No idea at all. I implemented model visuals exactly as I seen down for sprites and the cube. Lighting should be set the same way too
18:11 Taoki I noticed this problem and asked on the server two days ago, but I was told it's a known issue for all entities
18:11 Taoki It likely happens for sprite players too as far as I'm aware
18:12 celeron55 Taoki: no
18:12 celeron55 Taoki: read what i said
18:12 celeron55 Taoki:
18:12 celeron55 // Copy mesh to be able to set unique vertex colors
18:12 celeron55 scene::IMeshManipulator *manip =
18:12 celeron55 irr->getVideoDriver()->getMeshManipulator();
18:12 celeron55 scene::IMesh *mesh = manip->createMeshUniquePrimitives(item_mesh);
18:12 celeron55
18:13 celeron55 m_meshnode = smgr->addMeshSceneNode(mesh, NULL);
18:13 celeron55 mesh->drop();
18:13 celeron55 you don't do that
18:14 Taoki ah
18:14 celeron55 createMeshUniquePrimitives copies the mesh
18:14 Taoki I'll try to see if I can fix that in a minute
18:15 celeron55 i guess "unique primitives" means that it will create new meshbuffers aka vertex arrays for it
18:15 Taoki "cube" doen't have this either... should be changed. I'll try to do it and see if it works
18:16 celeron55 it does
18:16 celeron55 createCubeMesh creates the mesh from scratch
18:16 celeron55 your thing is the only one
18:16 Taoki Looking at the code now, yes it is. I never noticed. Should be easy to fix, I'll do it and post on GIT soon
18:19 Taoki It looks like it's mostly the mesh->drop(); line missing. I remmember I did that at someone's advice, when I was asking about a problem on #irrlicht
18:20 Calinou joined #minetest-dev
18:21 celeron55 ...are you sleeping once again?
18:21 Taoki ?
18:21 Taoki I'm trying to follow the other examples
18:21 celeron55 i can't understand how you could add model support to minetest while you don't even immediately get this one 8D
18:22 Taoki The problem is I need to set m_animated_meshnode to mesh then do mesh->drop(); I was just copying mesh or something like that
18:22 Taoki It's a part I missed... I'm not all knowing opr something :P
18:22 Taoki *or
18:23 celeron55 you have to copy the mesh, then set it to the meshnode and then call drop() so that the newly copied mesh will be deleted when the meshnode is deleted
18:23 celeron55 if you don't copy it, it will delete the single global mesh and screw up everything
18:23 celeron55 basic C++ memory management
18:23 Taoki Yes, that's what I'm trying to do.
18:24 celeron55 if you don't know what drop() does, read up on reference counting
18:24 Taoki It deletes the initial mesh after copying. But it seems I was copying the mesh already, looking at the other examples. Just not dropping the original, so it was probably using that
18:24 Taoki That's what I was trying to explain
18:24 celeron55 it doesn't delete anything immediately
18:25 celeron55 it just decreases the reference count, which is 2 after creating it, and after the meshnode has grabbed it
18:25 celeron55 then when the meshnode destructs, it will drop() the mesh, and as the refcount goes to 0, the system will delete the mesh
18:26 celeron55 the mesh that is a copy of the mesh that stays to be got from smgr->getMesh()
18:27 Taoki Testing my change locally, then putting on git
18:36 Taoki Something wrong is happening. I am properly copying the mesh just like for the cube mesh, but a third client connecting to the server crashes
18:37 celeron55 cube mesh isn't copied
18:38 Taoki Not sure. I'm doing the same thing as there though
18:38 celeron55 you need to do the same as in wielditem
18:38 celeron55 otherwise you're just failing hard
18:39 Taoki Hmmm... I'll check if that works. Probaby the cube uses a different mechanism I don't understand
18:40 celeron55 i've already described everything like three times... i guess you'll figure it out
18:51 PilzAdam joined #minetest-dev
18:51 Taoki Apparently Irrlicht sees me tring to convert something and it doesn't compile :/
18:51 Taoki http://pastebin.com/raw.php?i=fF5kNSHY
18:52 Taoki It thinks I'm trying to convert IMesh to IAnimatedMesh, but there's no IMesh there, and the function should be for anything
18:52 Taoki I hope this is possible for animated meshes at all
18:53 celeron55 ah...
18:53 celeron55 it might not be able to handle animated meshes
18:53 Taoki I'll ask on #irrlicht to be sure
18:55 celeron55 i don't see anything that would be able to copy an animated mesh
18:56 Taoki Damn. Only thing could be typecasting IAnimatedMesh into IMesh there, but that would be silly
18:56 celeron55 not likely to work
18:56 Taoki Indeed
18:56 Taoki I hope this doesn't mean "we're skrewed"
18:57 celeron55 the animated meshes are kind of format-specific
18:58 Taoki #irrlicht is slow as always. I'm trying to google but no one is mentioning any solution to this
19:00 Taoki Can't find anything. Not sure what's to be done then :/
19:00 Taoki This isn't an issue I even imagined, I thought the mesh is just applied and works individually
19:00 Taoki Till now that is
19:01 celeron55 well, it wouldn't be if hardware lighting was used
19:01 Taoki I know. I was thinking about that heh
19:01 celeron55 well, i can think at least one way that could work straight away
19:02 Taoki From what I noticed and know, MineTest IS using a hack for lighting. Which Icclicht probably isn't prepared for
19:02 Taoki Yeah, I can too. Easy to guess :P
19:02 celeron55 irrlicht can create more animated meshes from the data that was transferred over network, and it will store as many of them as to how many names they are loaded to
19:03 celeron55 8D
19:03 celeron55 hack++
19:04 hmmmm i would not call the lighting a hack
19:04 Taoki Might work. That sadly sounds like something outside of my knowledge however
19:05 celeron55 well, it's "different", and definitely different as to how the fixed pipeline is meant to be used
19:05 Taoki hmmmm: It does use vertex colors to brighten / darken entities. Which from what I know aren't their purpose as fas as Irrlicht is concerned. It is something that works, but I don't think vertex colors are optimized for fake light
19:06 celeron55 i wonder how minecraft does that, or if it has changed the way it does it at any point of development
19:06 celeron55 i am guessing it at least originally did the same
19:06 celeron55 these days it might have a shader, but who knows (well, some people do, the source is decompilable)
19:06 Taoki But... damn it. Can't we just make global peace, implement hardware lighting in MineTest and end workd hunger? :P
19:06 celeron55 as long as you buy me a new toughbook with recent hardware
19:07 celeron55 they cost around $4000
19:07 hmmmm there are still mods that do use shaders
19:07 hmmmm for minecraft
19:07 Taoki A $4000 machine is needed for hardware lighting?
19:07 hmmmm no, he just wants to go big if he's going new
19:07 Taoki IIRC basic lighting can be done by video cards from 15 years ago
19:07 Taoki ah :P
19:07 celeron55 Taoki: i only use laptops that are properly made
19:08 celeron55 this centrino duo era cf-51 is one
19:08 Taoki Even old laptops should allow hardware lighting, otherwise nearly no 3D game would work
19:08 celeron55 and doesn't cost much
19:08 celeron55 of course it allows
19:08 celeron55 but you already know the problems of shaderless lighting
19:09 Taoki Yeah. That's the one big problem
19:09 celeron55 this also does run shaders, but it makes drawing polygons 5x slower
19:09 celeron55 which makes minetest unplayable
19:09 hmmmm can't shaders be used only on animated meshes?
19:09 celeron55 yes
19:09 celeron55 it would most likely work
19:09 hmmmm that should be done..
19:10 Taoki Still, it would seem we have at least 3 reasons to want hardware lighting: It's directional which in the long run will be a LOT more beautiful, it's needed to use other effects in minetest (material colors, parallax maps, etc), and now we discover it's needed for meshes to ce lit properly
19:10 hmmmm the world mesh is huge and unwieldy
19:10 Taoki I can't help much, already tried to use such lighting today. Though if I can do anything about it that I can understand I gladly will
19:11 VanessaE what happens if the player's hardware doesn't support the lighting model you describe?  Will it just revert back to the existing model?
19:11 Taoki But it seems the brainstorming goes around how to make hardware sunlight not shine in caves
19:11 hmmmm when someone has a disagreement on how something should be done, it's either made an option or they make a fork
19:11 Calinou if there is a fallback that does not advantage players (*cough* quake 3 *cough*), it would be ok
19:11 * Calinou remembers vertex lighting
19:11 Taoki VanessaE: IIRC the only reason a video card wouldn't support hardare lighting is if it's older than 15 years.
19:11 Taoki At least without shaders that is
19:11 hmmmm not having hardware lighting isn't the problem though
19:11 hmmmm it's having it run well
19:12 VanessaE fair enough.
19:12 Taoki hmmmm: A fork would be bad in this case. An option would be good
19:12 hmmmm indeed
19:12 Taoki hmmmm: The current lighting is a bit problematig for many reasons. Like I said, it keeps other awesome effects from being possible as well
19:12 celeron55 there really are no problems as long as somebody does the stuff... initially in a fork
19:12 celeron55 or, well
19:12 Taoki Another problem: It makes map generation slower, since whenever a new area is created by the mapgen it also sort of bakes its lightmaps
19:13 hmmmm i don't think updating the lighting really takes that much time
19:13 Taoki Not that much, but a little bit
19:13 hmmmm it's just an O(n^3) worst case time
19:13 hmmmm the mapgen already accesses every node in that manner in several other places
19:13 Taoki Like I said, I did look into it for more than 2 hours today. The lighting system is very large and widespread... I was falling asleep befroe I understood a bit of it.
19:14 celeron55 it's not too bad in a background thread, AND baking some kind of lighting in is probably necessary for slow systems anyway
19:14 Taoki A lot of code files use it in a lot of confusing ways.
19:14 Taoki true
19:15 Calinou <hmmmm> there are still mods that do use shaders <hmmmm> for minecraft < my computer doesn't even run them @ 60FPS sometimes :P
19:15 Calinou java + shaders...
19:15 hmmmm lol
19:15 hmmmm shaders are written in GLSL, not java
19:15 Taoki celeron55: One of my ideas was: Use the current light baking as a mask for hardware lights instead. Right now, the areas lit by MT's light system are basically bright. But instead, I'd say turn them into a mask for a light source. But I wonder if Irrlicht supports that without shaders... probably not
19:15 Taoki That would fix lights shining in caves
19:15 hmmmm java is slow because of the memory and slight cpu overhead, shaders are slow because your graphics card sucks
19:15 celeron55 shaders are just as fast "in" java as whatever other language, because they are a language of their own :P
19:16 celeron55 Taoki: something similar but not exactly like that would of course be possible with fixed pipeline trickery
19:16 Taoki Other than that, there was a second option: Implement cut lighting, which would also give off dynamic shadows. But imagine that on older hardware... it's not even funny :P So no, not a reliable way, just a stupid thought
19:16 celeron55 but i don't know if irrlicht is capable of doing such trickery
19:17 celeron55 maybe would need to go for bare opengl
19:17 Taoki Nooo, Irrlicht is good. Just might have some small issues on this side
19:17 celeron55 but that isn't really an option
19:17 Taoki yeah. I'm happy with Irrlicht personally, if it wasn't for that models would have probably been harder to do
19:18 celeron55 that is the most considerable benefit
19:18 hmmmm speaking of irrlicht
19:18 hmmmm please don't update to 1.8 yet
19:18 celeron55 also it provides vector math and so
19:18 hmmmm or use any 1.8 features
19:18 hmmmm lots of operating systems don't have 1.8 in their repositories yet
19:19 Taoki fair enough
19:19 celeron55 i wonder how we should decide that
19:19 celeron55 for the whole existence of minetest thus far, a new enough irrlicht has been found even in debian stable
19:20 celeron55 debian stable isn't going to go for 1.8 in a LONG time
19:20 Calinou hmmmm: 570gtx doesn't suck
19:21 Taoki If we don't need 12.8 features, just not use them then. Should be compatible with .17 I imagine
19:21 hmmmm lol, you were NOT having shader problems with that
19:21 Calinou using glsl shaders in a java game is bad.. the programming language of the game matters
19:22 hmmmm it's likely that the shaders were just poorly coded
19:22 hmmmm or maybe tries to do too much
19:22 celeron55 it's funny how everybody blames java for every problem in minecraft
19:22 hmmmm or maybe you have unrealistic framerate expectations
19:22 Calinou java does make things slower: usually about 20%
19:22 hmmmm after Jeb took over, supposedly things got faster
19:22 Calinou not really :P
19:22 Calinou server takes more and more bandwidth/CPU
19:23 hmmmm yeah but look at how much it does
19:23 Calinou yey, smoke factory!
19:23 celeron55 i haven't really even touched minecraft after jeb took over
19:23 Calinou i can mine and build shit in a game that eats 100% of my cpu!
19:24 hmmmm i should stop talking and start coding more
19:25 hmmmm my hands are so cold though
19:25 celeron55 we all should
19:25 * Calinou tried to code player yaw smoothing, and miserably failed
19:25 Calinou i broke everything 8D
19:26 celeron55 you could just make a wrapping version of SmoothTranslator (content_cao.cpp) and use it
19:28 celeron55 ...a wrapping scalar version
19:28 rsiska joined #minetest-dev
19:28 * Calinou never really learned c++ anyway
19:28 Taoki Well I spoke on #irrlicht about the ahrdware lighting. Shaders are needed to use a mask on surfaces for lights, no other builtin function
19:28 Calinou no idea what you're talking about :P
19:28 Taoki So the question is: How slower would a very simple shader be, just enough to mask light sources?
19:28 celeron55 nothing i said was related to C++ in any way 8) generic programming terms
19:29 VanessaE celeron55: <offtopic> see #minetest for congestion_settings </offtopic>
19:29 Calinou Taoki:  simple shaders are also much slower on old hardware
19:29 Taoki They did however suggest another variant: Stencil shadows. But how hard would those be to calculate I wonder :P
19:29 Calinou even if they do nothing visible.
19:29 Calinou stencil shadows, rofl
19:29 celeron55 stencil shadows is a fixed pipeline shadow trick
19:29 celeron55 i don't even understand it, but some people do 8D
19:30 Taoki I'd like dynamic shadows in MineTest too, but later on. That's really too much to expect in at least 1-2 years :P
19:30 Calinou john carmack does, he did awesome stencil shadows for q3a, they just go through walls and move randomly in all directions, other than that they're awesome
19:30 celeron55 also, it is probably impossible to integrate with the voxel lighting, but dunno
19:31 Taoki Well the voxel lighting is surely parallel to the hardware lighting, so nothing in one would work in the other it seems
19:33 celeron55 i can think of many ways to integrate them
19:34 Taoki Seems I got someone from #irrlicht interested in MineTest a bit... explained them the lighting situation
19:35 celeron55 they'll say "forget the old hardware and voxel lighting" 8)
19:36 Calinou #irrlicht must be full of bzip2 devs then, bz2 is african word for "everyone has an i7" :D
19:36 Taoki I'm sorta tempted to say the same. But I wouldn't want people with old hardware to be disappointed. Though still, those with very very VERY old hardware... well we can't fully support them forever
19:36 celeron55 anyway, what i'm saying is that apply a shader to the object meshes and we're good to go for a good while
19:37 Sudi_ joined #minetest-dev
19:37 Taoki Would be awesome if that would allow directional hardware lights to work :D
19:37 Orix joined #minetest-dev
19:37 Orix left #minetest-dev
19:44 hmmmm erm
19:44 hmmmm what is this 14:41:55: ERROR[main]: Test (hand_server.count == 1) failed: UASSERT about
19:45 hmmmm when i compile using the CMAKE_BUILD_TYPE=Debug
19:46 hmmmm i disabled unit testing but that stuff still ought to be fixed, unfortunately i don't know where to start with that piece of code
19:58 celeron55 hmmmm: the debug build runs unit tests by default at startup; that is a network test that can fail if the port it happens to use is not available
20:00 hmmmm so it's not a mistake that it's failing
20:00 hmmmm hmmm
20:06 hmmmm erm
20:06 hmmmm that's not the case apparently
20:07 hmmmm it seems to fail on line 1455
20:08 doserj joined #minetest-dev
20:08 hmmmm http://pastebin.com/ecqdVfmn
20:09 hmmmm Handler(server)::peerAdded() with id=2 seems to run after hand_server.last_id == 2 is assrted
20:11 celeron55 uhm
20:11 celeron55 dunno
20:11 celeron55 just --disable-unittests and don't care for now
20:11 celeron55 (unless you want to diagnose it)
20:50 serengeor joined #minetest-dev
21:01 Taoki celeron55: Have you thought what can / should be done about support for real lighting? Curious cuz I'm very interested in this as well for the reasons I listed, and if there's some way I can help make it happen sooner I gladly would (sadly there's still little I can do in the code and after looking today lighting is a very large and complex matter).
21:02 Taoki My understanding at the current moment is: The only way to keep light from shining indoors / in caves is by using shaders (or stencil shadows which is out of the discussion). That would work, but might be quite slower on older hardware. So I wonder how slow, and on how old hardware? Would it be a compromise that can be made?
21:54 celeron55 on my hardware, unplayably slow
21:54 Taoki How old is it, and what are the specs?
21:55 celeron55 intel gm950
21:56 VanessaE I wonder how my old Dell Insipron 9200 would handle this proposal.
21:58 celeron55 https://github.com/celeron55/minetest/tree/shaders_v4
21:58 celeron55 rebased on current master
21:58 Taoki I think you meant GMA950. But I googles, and it doesn't look that old at all. Problem is it's an Intel video card... and those have problems with everything 3D. I know cuz my first laptop had an Intel video card, and barely any game would run on it well
21:58 Taoki **googled
21:59 celeron55 actually
21:59 celeron55 it's 950gm
21:59 celeron55 wrong order
21:59 Taoki My second and current laptop has an ATI Mobility Radeon, and it's very nice. So given that many other games have problems with Intel video cards, I'd say it's not MineTest's fault if something works bad for these. The specifications are good, but IIRC it's just Intel video boards in general
21:59 * Taoki googles again
22:00 celeron55 i guess it's the same thing though
22:00 celeron55 950GM is the actual name of the chop, GMA950 is some marketing term
22:00 Taoki yeah, shows the same page
22:00 celeron55 chip*
22:01 PsionicProgramme Greetings everyone.  I would like to help out with a task.
22:01 Taoki The specs look good for a laptop. But like I said, Intel video cards do not work for games. At least that's what I know, don't wanna misinform if I'm right. I sure was happy when I got rid of my laptop and got one with ATI :P
22:01 Taoki PsionicProgramme: Hello. Help is always appreciated... what with?
22:02 PsionicProgramme I am an industry veteran, so the task doesn't really matter.  just something to cut my teeth on the codebase.  i am very interested in adding AI/mobs at some point, but i would like to start on something small.
22:03 Taoki PsionicProgramme: There already is a mob framework written in lua, you should check it out on the forums. I heard it's still a bit slow so improvements on making it less CPU intensive might be welcome
22:04 celeron55 PsionicProgramme: it's really up to what you personally want
22:04 Taoki celeron55: And nice to hear Kahrl's shader code works with latest master! Maybe that can help with this task. Really hope something in this area will be done... kinda excited now, maybe it will :D
22:04 Taoki Let me know if I can at least help with testing this some
22:04 celeron55 i could point you to some boring task but i've done that before to people asking stuff like you and it has turned out people just don't get interested to doing anything that way
22:05 celeron55 if you insist, i can; but i'd rather not
22:05 PsionicProgramme waht is the boring task? :D
22:06 Taoki I can confirm that effect exists on me too. It's hard to work on something I'm not excited on getting done in a code. If I force myself I just feel drained and tired, and don't get much done either. BUT, if that task is something I happen to like too, I can help even if it was started by somoene else
22:08 celeron55 PsionicProgramme: well, there are roughly a million things here, some of which are approved by some sane person and some not: https://github.com/celeron55/minetest/issues?sort=created&amp;state=open
22:09 PsionicProgramme I will take a look there just to get an idea of what is out there.  I will ping you before I start on anything and at least discuss it with you.
22:10 celeron55 for example this would be useful, altough usually not visible to anyone: https://github.com/celeron55/minetest/issues/187
22:11 celeron55 PsionicProgramme: the other people who are quite authoritative here are thexyz, darkrose, PilzAdam, maybe hmmmm, and to some extent anyone who seems sane
22:12 celeron55 but what i've seen, the best results come when one plays the game and gets motivation to do something based on that experience
22:13 celeron55 or hangs around in the community to see what others have in mind
22:13 Taoki I recommend talking to OldCoder on #minetest too, he seems like a very experienced interested and calculated programmer
22:13 * Taoki hopes OldCoder will be the 5th to get upstream access
22:13 celeron55 #minetest is a good place to see what is generally going on 8)
22:16 Taoki http://i49.tinypic.com/2evyuzq.png Some failure from my experimenting with lighting today. Took a screenshot cuz that sun with a dark atmosphere looks nice... almost like you're on another planet :)
22:25 Taoki Anyway, this is a very n00b question. But I wonder what shaders take care of exactly, and what they do. Post-processing, or are they hooks to hack into the renderer? I imagine that for instance, light sources are defined in the code, since the function to spawn a light must take place.
22:26 celeron55 on modern rendering, everything is made by shaders, except the bare polygon smashing
22:27 celeron55 from fine-tuning vertices to texturing to lighting to post-processing
22:27 Taoki interesting
22:27 Taoki Hard to tell how they differ from actual code other than that
22:27 celeron55 http://tomdalling.com/blog/modern-opengl/01-getting-started-in-xcode-and-visual-cpp/#introducing_glew_glfw_glm
22:28 celeron55 (that series just started, so there is only that part)
22:32 celeron55 this is kind of useful http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html
22:32 Taoki Thanks, that offers more info on them. Funny thing... that says nothing will run on modern openGL without shaders, yet MineTest doesn't have them. Either it uses an old version of openGL or Irrlicht does some magic
22:33 Taoki I still hope that things like textures, voxels, light sources (added by Irrlicht) stay in the code by default, and shaders only modify them. Since that would be kind of confusing and might make things like lua scripting harder
22:34 celeron55 i don't know if irrlicht supplies it's own fixed pipeline mimicking shaders for newer opengl or if it always uses the legacy APIs
22:35 celeron55 i am guessing the latter
22:35 Taoki http://irrlicht.sourceforge.net/docu/example010.html This might be helpful
22:38 Taoki Seems there that you specify shader files via Irrlicht functions... looks good
22:39 Taoki http://www.irrlicht3d.org/wiki/index.php?n=Main.Shaders might also help (still bad at understanding them myself but eh :P )
22:41 Taoki Ahhh yes. We need to see if this http://irrlicht.sourceforge.net/forum//viewtopic.php?t=21057 will work on Kahrl's shader implementation. If so, awesome!
22:41 celeron55 eh
22:42 celeron55 those are useless
22:43 Taoki Except bloom and motion blur
22:45 Taoki Also blur and reflection / refraction for water... how awesome will those be :)
22:45 Taoki Obviously for those with hardware good enough to handle them. I assume each shader will be made into a setting, so the fancy stuff is fully optional
22:47 celeron55 when i talk about shaders, i talk about tweaking lighting, tuning contrast and saturation to fit style; shadows, ambient occlusion
22:48 Taoki That too... those are the most important and prioritary things
22:49 Taoki The fancy effects can come later. I am interested a lot in them a lot too, but it would be silly to worry about them at this stage. Still thinking about it otherwise though :)
22:51 Taoki http://www.youtube.com/watch?v=QJ3R0yJMO6U Just to dream about something :P
22:51 celeron55 also, as for lighting, that means yellowish sunlight and blueish ambient light
22:51 Taoki Totally
22:52 celeron55 i don't care about water trickery
22:52 celeron55 not tasteful at all
22:53 celeron55 also i don't understand modern games that don't use colors
22:53 celeron55 they're like black and white these days
22:53 jin_xi have you seen this: http://www.sea-of-memes.com/LetsCode72/LetsCode72.html
22:53 celeron55 it's nonsense
22:53 Taoki I think this will be one of the features that will make MineTest one of the most powerful voxel engines. Many exist at this day (MineCraft, Terasology and all) but none support advanced graphics. MineTest is C++ and Irrlicht wich will allow very modern visuals. There will prolly be no other similar engine to have this in the same way soon
22:53 celeron55 jin_xi: yes, and?
22:53 Taoki Especially those written in Java... they have no chance. I saw some shaders for MineCraft, but IIRC java is still too slow (not to say it's bad)
22:54 celeron55 eh
22:54 celeron55 shaders are their own language
22:54 Taoki celeron55: The desaturated atmosphere is usually to give a darkar and more grim / realistic feel. For some games (like GTA4) that fits, but for others no. Depends on theme a lot
22:54 celeron55 it doesn't fit even gta4
22:55 Taoki jin_xi: That screenshot does look pretty impressive. Unless you wonder what FPS so many voxels must be running at :3
22:55 celeron55 he says it's running at >100 or something
22:55 celeron55 but that is completely unimportant, you get FPS by throwing expensive hardware at it
22:56 Taoki wow, that's pretty crazy if so
22:56 Taoki True. But the aim in a good code is to give as much FPS with any hardware as technically possible :)
22:56 celeron55 i'd rather have seen some tasteful rendering for voxels rather than 1 billion plainly rendered ones
22:57 jin_xi i just think far viewing distance is a nice problem
22:57 Taoki The tasteful part depends on the textures used and the builds created in-world
22:58 Taoki jin_xi: True. MineTest has issues with that. It's a sad feeling when I go on a server like RedCrab's (which has some nice buildings) and must choose between barely any drawing distance and view FPS, or seeing all those far cubes but at big performance cost.
22:58 Taoki Maybe sometime this will get solved too, I hope and think so
23:00 Taoki http://www.youtube.com/watch?v=QzVELl-ugf8 Title: If MineTest had marching cubes ;)
23:01 VanessaE nice
23:10 Taoki Really really eager to see what shaders will do in MineTest. I'm really sure that whatever that is, it's going to look amazing :D Especially with some nice draw distance later on
23:11 Taoki I think Terasology is the first voxel engine to use post-processing and shaders, but here it should be even more flexible I believe
23:27 rsiska joined #minetest-dev
23:50 rsiska joined #minetest-dev
23:50 VanessaE celeron55: we have consensus:  the congestion_setting branch IS an improvement.  2x to 10x faster for some people.  No change for others.  No regression that I or anyone else can see.  Merge that sucker :D

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