*** FastLizard4 is now away: AWAY from keyboard | 00:09 | |
bz-next | I'm thinking for the map viewer / editor it'd be nice to eventually integrate modeltool into it. As well as have a feature where you can collect assets from other maps (like an asset drawer) | 00:20 |
---|---|---|
bz-next | it is so close to being a really full featured map editor... I just don't know if it's that worth sinking more time into | 00:24 |
bz-next | I am reminded of what I read about bzeditwin32 in the wiki where it was developed, nobody used it, then years later people started using it but development had long since stopped | 00:28 |
*** bz-next <bz-next!~bz-next@user/bz-next> has quit IRC (Quit: Leaving) | 02:32 | |
*** bz-next <bz-next!~bz-next@user/bz-next> has joined #bzflag | 02:47 | |
*** Juest <Juest!~Juest@user/Juest> has quit IRC (Ping timeout: 268 seconds) | 04:03 | |
*** Juest <Juest!~Juest@user/Juest> has joined #bzflag | 04:11 | |
*** FastLizard4 is back | 05:18 | |
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 260 seconds) | 05:22 | |
*** FastLizard4 is now away: AWAY from keyboard | 05:44 | |
Agatha | On Paradise_Valley, the leaves don't alpha-blend correctly over the water. I remember being told that bz solves this by actually sorting the geometry and blending back-to-front, but a quick fix would be to alpha-threshold in the shader instead. | 06:07 |
*** FastLizard4 is back | 06:34 | |
*** FastLizard4 is now away: AWAY from keyboard | 07:07 | |
bz-next | yeah, there is no sorting yet, I just try to cheat and render alpha-enabled stuff in a rough batch after opaque stuff. AFAIK alpha threshold is a binary transparent/not-transparent decision, and is usually enabled manually by map makers using the alphathresh material property | 08:43 |
bz-next | The current setup does do alphathreshold, but only when the material asks it to | 08:44 |
bz-next | I had read that there are ways to try to handle alpha in the shader rather than sorting, and I'd like to give that a shot as well | 08:47 |
bz-next | on paradise valley, the trouble is that both the leaves and the water have alpha, so they're both part of the same batch job and might be drawn in the wrong order for alpha blending to work out right | 08:49 |
bz-next | in the worst case, having to process basically every tri per frame on the CPU, visibility test, and then sort, all just to have crappy 90s CGI alpha be perfect... it seems like such a bad deal, and implies adding a BSP for visibility testing too | 08:53 |
bz-next | it might be ultimately necessary but I really hope not, or that at least there's some way to cheat a bit | 08:55 |
bz-next | actually, re: your idea with alphathreshold, it might be enough in this case to just cheat and, if a material has a texture with an alpha channel, just set alphathreshold to a small nominal value | 08:57 |
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has quit IRC (Read error: Connection reset by peer) | 08:57 | |
bz-next | I've put through your suggestion for now. It helps a little bit to just clamp alpha threshold to minimum 10% for materials with texture alpha. (I'm sure that'll break something else, but I haven't seen it happen yet) | 09:08 |
bz-next | actually, it breaks some of louman's textures, so I'll revert for now... the reason it is so visible on paradise valley is because the leaf textures I think have an incompletely-erased alpha channel. The transparent regions aren't actually transparent, there's a non-zero alpha on most of the pixels, even though it doesn't look like it | 09:16 |
bz-next | sorta like if you went into photoshop and erased around the leaf with a soft brush, rather than selecting the leaf, inverting selection, and hard-deleting the background | 09:17 |
bz-next | https://stackoverflow.com/questions/23280692/opengl-es2-alpha-test-problems A similar discussion | 09:30 |
bz-next | apparently alpha thresholding kinda sucks performance wise and will probably end up emulated once the rendering pipeline gets more interesting | 09:35 |
bz-next | eventually I want to make it kinda generically multi-stage, where everything renders to textures internally and those textures can be wired up to other render passes | 09:36 |
bz-next | the general hope is that: most bzflag maps/scenes are pretty simple geometry wise, even relatively fancy maps, so it should be possible to exploit multiple rendering passes to cheat and make things simpler architecturally, since each pass should be fast given the simplicity of the scene | 09:41 |
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag | 11:33 | |
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag | 12:28 | |
*** FastLizard4 is back | 12:29 | |
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 256 seconds) | 12:31 | |
*** I_Died_Once <I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has joined #bzflag | 12:32 | |
*** _I_Died_Once <_I_Died_Once!~I_Died_On@c-73-184-170-223.hsd1.ga.comcast.net> has quit IRC (Ping timeout: 260 seconds) | 12:32 | |
*** FastLizard4 is now away: AWAY from keyboard | 13:08 | |
*** FastLizard4 is back | 13:36 | |
*** FastLizard4 is now away: AWAY from keyboard | 14:12 | |
*** FastLizard4 is now away: GONE - Screen Detached and Disconnected from IRC (I'm probably asleep, at work, or doing something in real life) | 14:41 | |
*** cods <cods!~fred@tuxee.net> has quit IRC (Ping timeout: 256 seconds) | 14:53 | |
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has joined #bzflag | 14:57 | |
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has quit IRC (Read error: Connection reset by peer) | 15:31 | |
*** Sgeo <Sgeo!~Sgeo@user/sgeo> has joined #bzflag | 15:34 | |
Juest | blast007: sounds good to call for a devtest party on the forums? | 15:50 |
*** cods <cods!~fred@tuxee.net> has joined #bzflag | 16:03 | |
blast007 | yeah | 16:43 |
blast007 | are you on the Discord channel too? that might also be a good way to get people to help test | 16:44 |
bz-next | I'll gladly help break it, I wonder if the bug where it wouldn't run in my windows 10 vm is fixed, it'd just black screen and freeze | 16:45 |
bz-next | actually, I think the UI worked, it just wouldn't render. I could navigate to "quit" by memory and that worked OK | 16:46 |
Juest | bz-next: sounds like your vm display driver sucks :) | 18:57 |
Juest | using vmware? | 18:57 |
Juest | or kvm? | 18:57 |
Juest | unless you passthrough a gpu, dont expect good performance out of 3d acceleration and such | 18:57 |
Juest | yeah im on the discord server blast007 | 18:59 |
*** FastLizard4 is back | 19:24 | |
*** FastLizard4 is now away: AWAY from keyboard | 20:33 | |
bz-next | it's just a quick and dirty virtualbox vm | 21:10 |
Juest | yeah virtualbox sucks at gaming | 21:29 |
Optic_Delusion | I always tried to avoid using any transparency whatsoever that uses BZ's alpha channel math. If i need transparency I use a transparent texture. Much, much better. | 21:54 |
Optic_Delusion | the only place I use alpha channel is on my billboards, where it goes from 100 percent opaque to 100 percent transparent. | 21:55 |
bz-next | afaik texture alpha goes through the same sort of stuff as setting an alpha color does. The geometry still has to be sorted per-frame for the blending to work out right | 21:57 |
bz-next | for most maps, just rendering everything with alpha in a second pass is enough for stuff to work, but on paradise valley in particular, since the tree leaves have some non-zero alpha junk left in their "transparent" areas you get some pretty bad artifacts doing it that way | 21:58 |
bz-next | using alpha threshold for the behavior you describe I think is the ideal way in current bzflag, since then there's no need for blending at all | 21:59 |
bz-next | pixels below the threshold just get discarded completely | 22:00 |
bz-next | I think the general solution to this is to use some sort of order-independent transparency algorithm in the shader and do a multi-pass render | 22:06 |
bz-next | https://casual-effects.blogspot.com/2015/03/implemented-weighted-blended-order.html Something like this maybe | 22:09 |
*** FastLizard4 is back | 22:50 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!