IRC logs of Freenode #BZFlag for Tuesday, 2019-10-29

blast007if I can find the power brick for it, I've got an old laptop with an GeForce Go 7200, iirc00:03
blast007I had previously tried to replicate the issue on a GeForce 7900 GTO, but I think it was working correctly there00:04
*** I_Died_Once <I_Died_Once!~I_Died_On@unaffiliated/idiedonce/x-1828535> has quit IRC (Read error: Connection reset by peer)00:37
*** _I_Died_Once <_I_Died_Once!~I_Died_On@unaffiliated/idiedonce/x-1828535> has joined #bzflag00:37
macsformeI'm not sure how specific you can get when you request a specific version of OpenGL support when creating a context... I think it might be limited to just "core" versus "compatibility" on some platforms01:50
macsformeI know SDL 2 exposes the function to request something specific, but I'm not sure you will actually get back what you requested (and not something newer)01:52
macsformeI think he said in the past he wants an OpenGL 3.0 context without giving up deprecated functions... I'm not sure you can get that... for example, on macOS Mojave, the compatibility profile is only OpenGL 2.102:01
macsformeas far as SDL 2 versus other platform code, I agree 100% with blast007's guidance for the time being02:03
macsformeas far as implementing GL 2.0 support, I would call for a PR so there is scrutiny and a feedback period prior to pushing it02:05
macsformeI know from reviewing it before, there were several issues I would like to give input on02:07
macsformefor example (off the top of my head), where to store shader files (I think he just threw them in data/), and I think he ripped out the low and medium detail tank models, whereas we already have all the converted models in the GLES port that we could bring over02:11
macsformetupone: how many distinct commits do you think you will break it down into?02:15
*** fanta1 <fanta1!~fanta1@p200300F76BC31700F108EB176FE3A86D.dip0.t-ipconnect.de> has joined #bzflag04:20
*** fanta1 <fanta1!~fanta1@p200300F76BC31700F108EB176FE3A86D.dip0.t-ipconnect.de> has quit IRC (Quit: fanta1)05:43
tuponemacsforme: I guess about 2005:52
*** fanta1 <fanta1!~fanta1@p200300F76BC31700F108EB176FE3A86D.dip0.t-ipconnect.de> has joined #bzflag07:05
*** dngor <dngor!abuse@p3m/dngor> has quit IRC (Ping timeout: 240 seconds)07:20
*** dngor <dngor!abuse@c-73-244-0-31.hsd1.fl.comcast.net> has joined #bzflag07:35
*** dngor <dngor!abuse@c-73-244-0-31.hsd1.fl.comcast.net> has quit IRC (Changing host)07:35
*** dngor <dngor!abuse@p3m/dngor> has joined #bzflag07:35
*** dcat <dcat!~dcat@c-98-244-106-246.hsd1.va.comcast.net> has quit IRC (Ping timeout: 246 seconds)12:31
*** dcat <dcat!~dcat@c-98-244-106-246.hsd1.va.comcast.net> has joined #bzflag12:38
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has quit IRC (Read error: Connection reset by peer)14:06
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has joined #bzflag14:06
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has quit IRC (Read error: Connection reset by peer)14:15
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has joined #bzflag14:15
blast007tupone: do you know about bgfx?  https://github.com/bkaradzic/bgfx   It allows using a GLSL-like shading language to target Direct3D, OpenGL, OpenGL ES, Metal, Vulkan, and WebGL.17:49
blast007It's something I have my eye on for after 2.6.17:51
blast007Given that Apple has indicated that they plan to ditch OpenGL, this would let us target Metal without specifically having to maintain two distict rendering targets.17:52
blast007I believe the general idea for now would be to get to OpenGL 2.1, shift to using shaders, and then be able to migrate to OpenGL 3.2 Core Profile.18:02
tuponeI don't know about it. Lets see if it survives a couple of year18:02
tuponeWhat about 3.0 (the old profile)? MacOS is not suporting it ?18:03
blast007sounds like the only support 2.1 in compatibility mode, but their 3.2 is core only18:03
blast007like they*18:03
*** fanta1 <fanta1!~fanta1@p200300F76BC31700F108EB176FE3A86D.dip0.t-ipconnect.de> has quit IRC (Quit: fanta1)18:04
tuponeI need FrameBuffer for shadowing (not yet done).18:04
tuponeWe could select 2.1 and then abort if framebuffer is not supported18:04
blast007are you referring to a specific extension?  ARB_framebuffer_object or ARB_framebuffer_sRGB?18:05
tuponeFrame buffer object to write the zbuffer on it18:05
tuponeBut I have not written any code yet, just remember some tutorial18:06
blast007https://developer.apple.com/opengl/OpenGL-Capabilities-Tables.pdf18:06
blast007that doc covers macOS 10.7, 10.8, and 10.9, in both legacy OpenGL and Core OpenGL18:08
tuponethanks. I bookmarked it18:08
blast007I had also compiled a rough list of GPUs based on what version of OpenGL they supported: https://gist.github.com/blast007/917f72b59fac372fb2f09cd2f555b94f18:08
tuponeOne step I will do (if you agree, but if not I need to rework heavily my code) is to remove low quality/Medium quality, to always enable lighting etc etc (I will do a PR)18:11
blast007'low/medium quality' referring to the tank models or the overall quality modes?18:12
tuponeoverall quality18:12
tuponedoes someone still use low quality ? A full green floor with some line ?18:13
blast007oh most certainly18:13
blast007I'm quite sure there are people that run in low with the textures turned off :)18:14
blast007some people still run on Windows XP even18:14
blast007(though I'm kinda killing that off sooner than later)18:14
tuponeIf we ask openGL2.0 those people continue to play with that ?18:15
blast007I'm not sure what GPUs they have18:15
macsformewhat is the problem solved by eliminating those quality modes and requiring lighting always on?18:16
tuponemacsforme: simplify the code on which I'm working on.18:16
macsformecan you be more specific?18:17
tuponeThere are a lot of variant that I have eliminated.18:17
blast007I don't think we should eliminate the quality setting, but we can surely move the goal posts a bit or tweak what it actually does.18:18
blast007A lot of games, for instance, have Low, Medium, High, (Ultra), and Custom.  These quality settings just have preset values for the other graphics settings.  If you tweak an option manually, it changes it to Custom quality.18:19
tuponeThis is what I have done. High -> Low, Extra -> High18:19
tuponeBut we can review. I don't want to put my code on git, just put our code18:20
tuponeFot the Tank Model I had to change the High Quality Tank to draw any part with a single glDrawArray. I did not for the other lower res model because is a work (adding degenerate triangles to draw all with a single call). If some do this work or it is already done, I have no problem18:22
blast007with regards to the tank model, is this something we could revamp as part of this?  I don't know much about model formats, but is there a format that can have LODs built-in?  Then we could have multiple LODs for our tank and select them based on distance.  And we could have a quality control that limits the maximum quality LOD that would get picked.18:24
tuponeNow is not selected based on the distance, AFAIK18:25
blast007right18:25
tuponebased on distance and FOV18:26
blast007https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/MSFT_lod/README.md18:27
tuponegood, but that does not match the free time I have :)18:29
macsformeyou converted the tank model by adding degenerate triangles?18:29
blast007yeah, not necessarily saying *you* have to do that - just that it's an option we may consider18:30
tuponemacsforme: only to add a polygon to an other18:30
macsformeI don't understand18:31
macsformeI converted the models by a script that parsed the triangle strips, triangle fans, etc. and exported everything as arrays of triangles18:37
macsformeif you mean you converted each piece into one triangle strip (or similar) using degenerate triangles, sounds like quite a feat18:52
tuponeplease translate19:07
tuponeI added some point between the last point before glEnd and the first after glBegin. If you found a script doing that I'm OK with that. Maybe I lost some hour19:09
blast007https://github.com/macsforme/bzflag-embedded/tree/embedded/src/geometry/models/tank19:14
blast007"Converted tank renderer to use triangles only and to use DrawArrays instead of OpenGL display lists."19:14
tuponeso the primitives is GL_TRIANGLES19:16
tuponeIt is quite expensive as a number of points but maybe is not so different in term of performance19:20
blast007I'm not sure if that's the code that macsforme is referring to.19:21
tuponeGL_TRIANGLES is using 3 * n point. GL_TRIANGLE_STRIP is using 2 + n points . I'm adding some degenerate triangle so is a bit more19:23
tuponeat the end is not a big deal19:23
tuponewhat does "sounds like quite a feat" mean ? Not my mother tongue19:25
tuponelot of work ?19:25
macsformehow else would you do it? for example, the high barrel is a triangle fan plus a triangle strip... you can't combine those two with just a degenerate triangle in between...19:26
tuponeI transformed the triangle fan in a strip19:26
tuponeA lot of work19:26
tuponeone or mote19:27
tuponemore19:27
macsformeit means a great accomplishment, good/hard work, etc.19:27
tuponeok19:27
macsformeso you added points also19:28
tuponeNo, I don't. I mean I added some already existing point, no just the last19:28
tuponeI duplicated them where it needed19:29
macsformeright, that's what I meant19:30
tuponeReally I don't know if the work done was really needed for the performance19:30
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has quit IRC (Read error: Connection reset by peer)19:31
blast007well we have two versions of it now, so we could compare, right?19:31
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has joined #bzflag19:31
macsformeI doubt there is any performance difference, just memory cost19:31
tuponeI guess that for the low / medium tank part we could go with GL_TRIANGLES19:32
blast007our geometry size is pretty tiny even on the high :)19:32
blast007s/size/count/19:32
macsformetrue19:35
blast007hehe... I bet even with a server maxed with 200 players there'd still be less geometry than modern games have in a single vehicle19:36
macsformeI think we want straight triangles over wasted geometry trying to fit triangle fans into strips, etc... even for the high quality models19:39
macsformeplus they were converted by script rather than by hand, reducing some human error factor19:41
*** disco- <disco-!~disco@unaffiliated/disco-> has quit IRC (Read error: Connection reset by peer)19:41
*** disco- <disco-!~disco@unaffiliated/disco-> has joined #bzflag19:42
BZNotifybzflag: atupone opened pull request #222 "Require openGL context 2.1" (https://git.io/JeuAe)21:06
*** spldart <spldart!~spldart@bzflag/contributor/spldart> has joined #bzflag21:22
*** ChanServ sets mode: +v spldart21:22
BZNotifybzflag: atupone review_requested pull request #222 "Require openGL context 2.1" (https://git.io/JeuAe)21:25
BZNotifybzflag: atupone review_requested pull request #222 21:25
*** nitroxis <nitroxis!n@nxs.re> has quit IRC (Quit: nitroxis)22:58
*** _I_Died_Once <_I_Died_Once!~I_Died_On@unaffiliated/idiedonce/x-1828535> has quit IRC (Read error: Connection reset by peer)23:10
*** _I_Died_Once <_I_Died_Once!~I_Died_On@unaffiliated/idiedonce/x-1828535> has joined #bzflag23:10
*** nitroxis <nitroxis!n@nxs.re> has joined #bzflag23:54

Generated by irclog2html.py 2.17.3.dev0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!