blast007 | if I can find the power brick for it, I've got an old laptop with an GeForce Go 7200, iirc | 00:03 |
---|---|---|
blast007 | I had previously tried to replicate the issue on a GeForce 7900 GTO, but I think it was working correctly there | 00: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 #bzflag | 00:37 | |
macsforme | I'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 platforms | 01:50 |
macsforme | I 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 |
macsforme | I 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.1 | 02:01 |
macsforme | as far as SDL 2 versus other platform code, I agree 100% with blast007's guidance for the time being | 02:03 |
macsforme | as far as implementing GL 2.0 support, I would call for a PR so there is scrutiny and a feedback period prior to pushing it | 02:05 |
macsforme | I know from reviewing it before, there were several issues I would like to give input on | 02:07 |
macsforme | for 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 over | 02:11 |
macsforme | tupone: 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 #bzflag | 04:20 | |
*** fanta1 <fanta1!~fanta1@p200300F76BC31700F108EB176FE3A86D.dip0.t-ipconnect.de> has quit IRC (Quit: fanta1) | 05:43 | |
tupone | macsforme: I guess about 20 | 05:52 |
*** fanta1 <fanta1!~fanta1@p200300F76BC31700F108EB176FE3A86D.dip0.t-ipconnect.de> has joined #bzflag | 07: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 #bzflag | 07: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 #bzflag | 07: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 #bzflag | 12: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 #bzflag | 14: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 #bzflag | 14:15 | |
blast007 | tupone: 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 |
blast007 | It's something I have my eye on for after 2.6. | 17:51 |
blast007 | Given 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 |
blast007 | I 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 |
tupone | I don't know about it. Lets see if it survives a couple of year | 18:02 |
tupone | What about 3.0 (the old profile)? MacOS is not suporting it ? | 18:03 |
blast007 | sounds like the only support 2.1 in compatibility mode, but their 3.2 is core only | 18:03 |
blast007 | like they* | 18:03 |
*** fanta1 <fanta1!~fanta1@p200300F76BC31700F108EB176FE3A86D.dip0.t-ipconnect.de> has quit IRC (Quit: fanta1) | 18:04 | |
tupone | I need FrameBuffer for shadowing (not yet done). | 18:04 |
tupone | We could select 2.1 and then abort if framebuffer is not supported | 18:04 |
blast007 | are you referring to a specific extension? ARB_framebuffer_object or ARB_framebuffer_sRGB? | 18:05 |
tupone | Frame buffer object to write the zbuffer on it | 18:05 |
tupone | But I have not written any code yet, just remember some tutorial | 18:06 |
blast007 | https://developer.apple.com/opengl/OpenGL-Capabilities-Tables.pdf | 18:06 |
blast007 | that doc covers macOS 10.7, 10.8, and 10.9, in both legacy OpenGL and Core OpenGL | 18:08 |
tupone | thanks. I bookmarked it | 18:08 |
blast007 | I had also compiled a rough list of GPUs based on what version of OpenGL they supported: https://gist.github.com/blast007/917f72b59fac372fb2f09cd2f555b94f | 18:08 |
tupone | One 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 |
tupone | overall quality | 18:12 |
tupone | does someone still use low quality ? A full green floor with some line ? | 18:13 |
blast007 | oh most certainly | 18:13 |
blast007 | I'm quite sure there are people that run in low with the textures turned off :) | 18:14 |
blast007 | some people still run on Windows XP even | 18:14 |
blast007 | (though I'm kinda killing that off sooner than later) | 18:14 |
tupone | If we ask openGL2.0 those people continue to play with that ? | 18:15 |
blast007 | I'm not sure what GPUs they have | 18:15 |
macsforme | what is the problem solved by eliminating those quality modes and requiring lighting always on? | 18:16 |
tupone | macsforme: simplify the code on which I'm working on. | 18:16 |
macsforme | can you be more specific? | 18:17 |
tupone | There are a lot of variant that I have eliminated. | 18:17 |
blast007 | I 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 |
blast007 | A 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 |
tupone | This is what I have done. High -> Low, Extra -> High | 18:19 |
tupone | But we can review. I don't want to put my code on git, just put our code | 18:20 |
tupone | Fot 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 problem | 18:22 |
blast007 | with 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 |
tupone | Now is not selected based on the distance, AFAIK | 18:25 |
blast007 | right | 18:25 |
tupone | based on distance and FOV | 18:26 |
blast007 | https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/MSFT_lod/README.md | 18:27 |
tupone | good, but that does not match the free time I have :) | 18:29 |
macsforme | you converted the tank model by adding degenerate triangles? | 18:29 |
blast007 | yeah, not necessarily saying *you* have to do that - just that it's an option we may consider | 18:30 |
tupone | macsforme: only to add a polygon to an other | 18:30 |
macsforme | I don't understand | 18:31 |
macsforme | I converted the models by a script that parsed the triangle strips, triangle fans, etc. and exported everything as arrays of triangles | 18:37 |
macsforme | if you mean you converted each piece into one triangle strip (or similar) using degenerate triangles, sounds like quite a feat | 18:52 |
tupone | please translate | 19:07 |
tupone | I 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 hour | 19:09 |
blast007 | https://github.com/macsforme/bzflag-embedded/tree/embedded/src/geometry/models/tank | 19:14 |
blast007 | "Converted tank renderer to use triangles only and to use DrawArrays instead of OpenGL display lists." | 19:14 |
tupone | so the primitives is GL_TRIANGLES | 19:16 |
tupone | It is quite expensive as a number of points but maybe is not so different in term of performance | 19:20 |
blast007 | I'm not sure if that's the code that macsforme is referring to. | 19:21 |
tupone | GL_TRIANGLES is using 3 * n point. GL_TRIANGLE_STRIP is using 2 + n points . I'm adding some degenerate triangle so is a bit more | 19:23 |
tupone | at the end is not a big deal | 19:23 |
tupone | what does "sounds like quite a feat" mean ? Not my mother tongue | 19:25 |
tupone | lot of work ? | 19:25 |
macsforme | how 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 |
tupone | I transformed the triangle fan in a strip | 19:26 |
tupone | A lot of work | 19:26 |
tupone | one or mote | 19:27 |
tupone | more | 19:27 |
macsforme | it means a great accomplishment, good/hard work, etc. | 19:27 |
tupone | ok | 19:27 |
macsforme | so you added points also | 19:28 |
tupone | No, I don't. I mean I added some already existing point, no just the last | 19:28 |
tupone | I duplicated them where it needed | 19:29 |
macsforme | right, that's what I meant | 19:30 |
tupone | Really I don't know if the work done was really needed for the performance | 19:30 |
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has quit IRC (Read error: Connection reset by peer) | 19:31 | |
blast007 | well we have two versions of it now, so we could compare, right? | 19:31 |
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has joined #bzflag | 19:31 | |
macsforme | I doubt there is any performance difference, just memory cost | 19:31 |
tupone | I guess that for the low / medium tank part we could go with GL_TRIANGLES | 19:32 |
blast007 | our geometry size is pretty tiny even on the high :) | 19:32 |
blast007 | s/size/count/ | 19:32 |
macsforme | true | 19:35 |
blast007 | hehe... I bet even with a server maxed with 200 players there'd still be less geometry than modern games have in a single vehicle | 19:36 |
macsforme | I think we want straight triangles over wasted geometry trying to fit triangle fans into strips, etc... even for the high quality models | 19:39 |
macsforme | plus they were converted by script rather than by hand, reducing some human error factor | 19:41 |
*** disco- <disco-!~disco@unaffiliated/disco-> has quit IRC (Read error: Connection reset by peer) | 19:41 | |
*** disco- <disco-!~disco@unaffiliated/disco-> has joined #bzflag | 19:42 | |
BZNotify | bzflag: atupone opened pull request #222 "Require openGL context 2.1" (https://git.io/JeuAe) | 21:06 |
*** spldart <spldart!~spldart@bzflag/contributor/spldart> has joined #bzflag | 21:22 | |
*** ChanServ sets mode: +v spldart | 21:22 | |
BZNotify | bzflag: atupone review_requested pull request #222 "Require openGL context 2.1" (https://git.io/JeuAe) | 21:25 |
BZNotify | bzflag: 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 #bzflag | 23:10 | |
*** nitroxis <nitroxis!n@nxs.re> has joined #bzflag | 23:54 |
Generated by irclog2html.py 2.17.3.dev0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!