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: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 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) 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 thexyz wtf is [1~ ? 11:21 celeron55 wtf 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 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 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: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 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: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: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, 20 fetches from a core::map 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: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) 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: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 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 there are still mods that do use shaders 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 * 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: see #minetest for congestion_settings 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 Taoki Would be awesome if that would allow directional hardware lights to work :D 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 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) 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&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: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