Timestamps are in GMT/BST.
| 00:42:04 | | Watusimoto_ has joined |
| 01:15:51 | Watusimoto_ | taxes? it's only march! |
| 01:15:58 | raptor | i'm late! |
| 01:16:59 | Watusimoto_ | you mean from last year??? |
| 01:17:26 | raptor | no... personal deadline of having it done by Feb. of each year |
| 01:18:17 | Watusimoto_ | ah well.. I have a personal deadline o June 15 |
| 01:18:27 | Watusimoto_ | which I often make |
| 01:19:15 | | BFLogBot Commit: f7cf4e8ee6 | Author: watusimoto | Message: More tests, more passing; small refactor to allow us to have multiple levels passed in by string |
| 01:20:13 | raptor | i've been researching GLES 2 |
| 01:20:28 | raptor | did you see my monologue above the taxes comment? |
| 01:20:59 | Nothing_Much | vulkaaaaaaaaaaaaaannnnnnnn |
| 01:21:59 | | BFLogBot Commit: 155e0acb5b | Author: watusimoto | Message: How could I forget this?!? |
| 01:22:32 | Watusimoto_ | ah yes, I see it... but I don't fully understand it! |
| 01:23:03 | raptor | ok so... |
| 01:23:06 | Watusimoto_ | we can be totally gles2 compatible by dropping old macs and xp |
| 01:23:09 | Watusimoto_ | is that the gist? |
| 01:23:25 | raptor | well, yes... and windows vista/7 software rendering |
| 01:23:40 | Watusimoto_ | what do you mean software rendering? |
| 01:24:07 | raptor | basically any system without specific drivers to handle it... |
| 01:24:11 | raptor | so |
| 01:25:01 | raptor | opengl 1.x is everywhere, and it is easy to emulate in software (i.e. do all the math on the CPU, then just upload the result to the graphics card) |
| 01:25:39 | raptor | which is what windows, all versions, does - although i think windows may translate opengl to directx in some cases |
| 01:26:50 | raptor | so if we move to GL 2.x, or the subset of GL ES 2.0, then special drivers are needed to run the code on the graphics chip |
| 01:27:16 | raptor | there are some software implementations of the API, like Mesa, but those appear on later Linux systems |
| 01:27:57 | raptor | so basically, if we move to fully 2.x then bitfighter will only run on systems with proper graphics drivers that support opengl 2 |
| 01:28:26 | Watusimoto_ | that will lose us about half of our rapidly dwindling player base :-( |
| 01:28:31 | raptor | yeah... |
| 01:28:42 | raptor | so I think we'll just have to support both |
| 01:28:51 | raptor | which means... abstraction! |
| 01:28:52 | Watusimoto_ | since they all seem to run ppc macs and windows 3.1 and such |
| 01:29:03 | Watusimoto_ | yes, I think I agree |
| 01:29:18 | Watusimoto_ | I want to move forward, but I like that we support the old platforms |
| 01:29:29 | raptor | I was completely expecting microsoft to have supported GL 2 by windows vista |
| 01:29:34 | Watusimoto_ | will glshim work for us? |
| 01:29:38 | raptor | no |
| 01:29:50 | Watusimoto_ | bummer; why not? |
| 01:30:02 | raptor | glshim takes GL 1.x and translates it to GLES 1.x |
| 01:30:12 | raptor | but I've already done that conversion work to GLES 1.x |
| 01:30:55 | Watusimoto_ | ah, ok |
| 01:30:58 | raptor | which is a simple subset of GL 1.x |
| 01:31:16 | Watusimoto_ | we need a shim to get us to gles 2 |
| 01:31:43 | raptor | so... I found a few more possible projects. one was called gles2-bc |
| 01:31:59 | raptor | it did a lot of what we needed, but ultimately had several pieces missing |
| 01:32:02 | Watusimoto_ | I actually think we can do this ourselves |
| 01:32:23 | raptor | yes - also kaen has done a lot of preliminary work with shader loading |
| 01:32:31 | raptor | and his code works |
| 01:32:32 | Watusimoto_ | pushmatrix/popmatrix/translate/rotate/scale are 99% of our incompatible code |
| 01:32:40 | raptor | glColor, too |
| 01:32:50 | Watusimoto_ | that's illegal?? |
| 01:32:55 | Watusimoto_ | that's a biggie |
| 01:33:03 | raptor | yeah... and that's the part that gles2-bc left out |
| 01:33:15 | Watusimoto_ | how do you do colors? |
| 01:33:22 | raptor | fragment shaders |
| 01:33:33 | Watusimoto_ | well.. regardless. it is a very small set of features we need to support |
| 01:33:37 | raptor | yes |
| 01:33:48 | Watusimoto_ | with the excpeiton of glcolor, I pretty much understand how to do it all |
| 01:33:51 | raptor | it's just a matter of being smart enough to support both APIs |
| 01:34:00 | raptor | oh? you've done that much research already? |
| 01:34:18 | Watusimoto_ | well, I think with gles2 you have a single transformation matrix |
| 01:34:44 | Watusimoto_ | if that's correct, it is pretty easy to implement our own push/pop/translate/rotate/scale |
| 01:35:09 | raptor | I think this is one of the simplest tutorials I've found: http://www.spectrumcoding.com/tutorials/android/2013/08/02/android-gl-2.html |
| 01:35:19 | Watusimoto_ | that could basically work with gles2 or opengl |
| 01:35:55 | Nothing_Much | raptor and Watusimoto_, Vulkan? o.o |
| 01:36:20 | Watusimoto_ | hey |
| 01:36:26 | raptor | Nothing_Much: that API isn't done yet, and isn't supported on any platform |
| 01:36:42 | Watusimoto_ | unfortunately, I need to go |
| 01:36:42 | Nothing_Much | ohh.. |
| 01:36:49 | raptor | ok |
| 01:36:49 | Watusimoto_ | but I'll read through that link tomorrow |
| 01:37:28 | Watusimoto_ | I am certain we can do it |
| 01:37:34 | Watusimoto_ | mostly without too much trouble |
| 01:37:43 | raptor | yeah, me too, but i've hit a conceptual barrier of sorts |
| 01:37:53 | raptor | maybe I just need to do it and see what happens... |
| 01:37:57 | Watusimoto_ | the shaders are the only part I don't really know, and maybe kaen's work will help there |
| 01:38:07 | Nothing_Much | gles 2.0 support sometime in 021 or 022 or unknown at the moment? |
| 01:38:20 | Watusimoto_ | maybe 020, maybe 021 |
| 01:38:28 | Watusimoto_ | depends on how the research goes |
| 01:38:29 | Nothing_Much | whoa! |
| 01:38:36 | Nothing_Much | good luck all devs! |
| 01:38:46 | Watusimoto_ | good luck with your taxes! |
| 01:38:50 | raptor | thanks! |
| 01:39:01 | Nothing_Much | well, since i've gotten a job, yeah i got taxes |
| 01:39:10 | Watusimoto_ | ha |
| 01:39:10 | raptor | i should sleep, i suppose... so good night! |
| 01:39:14 | Nothing_Much | l8r |
| 01:39:16 | Watusimoto_ | night all! |
| 01:39:22 | | raptor Quit () |
| 01:44:14 | | Watusimoto_ Quit (Ping timeout: 264 seconds) |
| 04:39:11 | | Darrel has joined |
| 07:11:12 | | LordDVG has joined |
| 07:42:27 | | koda has joined |
| 07:57:22 | | LordDVG Quit (Remote host closed the connection) |
| 10:33:34 | | kaen_mbp has joined |
| 11:52:48 | | Watusimoto_ has joined |
| 12:02:48 | | raptor has joined |
| 12:02:48 | | ChanServ sets mode +o |
| 12:02:57 | raptor | good day! |
| 12:09:17 | Nothing_Much | woo |
| 12:35:04 | | Watusimoto_ Quit (Ping timeout: 255 seconds) |
| 12:39:04 | | Watusimoto_ has joined |
| 12:46:24 | | Watusimoto_ Quit (Ping timeout: 256 seconds) |
| 12:47:52 | | LordDVG has joined |
| 13:30:08 | watusimoto | howdy all |
| 13:30:12 | raptor | hi |
| 13:30:20 | watusimoto | I'm donig python today |
| 13:30:27 | raptor | hooray! |
| 13:30:33 | watusimoto | nice break from all the windows windows windows stuff |
| 13:30:49 | raptor | and you were into some really *windows* stuff... |
| 13:30:49 | watusimoto | and I may have convinced my boss to open source this script I'm writing |
| 13:30:57 | raptor | haha |
| 13:31:04 | watusimoto | so goodness all around |
| 13:31:04 | koda | did someone say windows? |
| 13:31:16 | watusimoto | yeah... that's my life now |
| 13:32:04 | raptor | koda: is hedgewars GLES 2 compatible? |
| 13:32:40 | koda | maybe |
| 13:34:26 | raptor | crazy pascal code |
| 13:34:46 | koda | i think some branch is since it used to run on javascript |
| 13:34:57 | koda | maybe even master is there |
| 13:34:59 | koda | in |
| 13:35:23 | raptor | hmmm... maybe you guys only use GL through SDL |
| 13:35:32 | koda | nope |
| 13:35:38 | koda | gl context is all ours |
| 13:38:35 | raptor | ah ha! I found glColorPointer in uWorld.pas |
| 13:39:51 | raptor | uh oh... i see glBegin/glEnd everywhere! |
| 13:43:27 | watusimoto | that's not gles compatible! |
| 13:44:20 | raptor | although i did find shaders: https://code.google.com/p/hedgewars/source/browse/?name=default#hg%2Fshare%2Fhedgewars%2FData%2FShaders |
| 13:45:06 | watusimoto | those are the first shaders I've ever seen |
| 13:45:27 | watusimoto | they just look like little programs |
| 13:45:30 | raptor | yep |
| 13:45:39 | watusimoto | are they distributed in compiled form, or as sourcecode? |
| 13:45:40 | raptor | and are compiled/uploaded at runtime |
| 13:45:43 | watusimoto | ok |
| 13:45:53 | raptor | nope, there are gl commands that you run to do it |
| 13:45:55 | watusimoto | so players can manipulate them if they want |
| 13:46:08 | watusimoto | (which I see as a positive) |
| 13:46:10 | raptor | yep, or you could put them as static strings int he code |
| 13:46:17 | watusimoto | I see |
| 13:46:59 | raptor | that default.fs (fragment shader) that hedgewars uses is probable close to what we'd want for coloring things |
| 13:47:08 | watusimoto | is that actual c code, or something else? |
| 13:47:14 | raptor | it's called GLSL |
| 13:47:17 | watusimoto | ok |
| 13:47:20 | raptor | GL Shader Language |
| 13:47:34 | watusimoto | merely c-like |
| 13:47:37 | raptor | yes |
| 13:48:23 | raptor | that android-gles-2 tutorial that i linked to last night does a half-way decent job at explaining it |
| 13:48:29 | raptor | sort of... |
| 13:48:39 | raptor | i still have to wrap my head around teh flow a little better |
| 13:48:42 | watusimoto | you talked about trying to merge kaen's shader code... did you ever give that a shot? |
| 13:48:53 | raptor | yes, and it works well |
| 13:48:57 | watusimoto | I think seening even a partial implementation in context would help us both |
| 13:49:21 | watusimoto | it's like the testing. when kaen_mbp implemented the testing framework, it suddenly seemed so easy |
| 13:49:27 | raptor | his code is good, but not that simple |
| 13:49:37 | watusimoto | but before that, I was not really clear on how to proceed |
| 13:49:51 | raptor | after studying it for a while, i think I wonder why he chose to do somethings as complicated as he did... |
| 13:51:43 | raptor | if you want a patch against our 020 branch, let me know... I have it somewhere.. |
| 13:59:06 | watusimoto | Is there a downside to merging the code now? i.e. will it still work with our main builds? |
| 13:59:21 | raptor | uhhh |
| 13:59:35 | raptor | there is no way to turn it off/on |
| 14:00:21 | raptor | also it doesn't actually replace any GL 1.x stuff, just adds to it (and brings dependency to GL 2.x) |
| 14:18:28 | Nothing_Much | is windows open sourcing .NET yet? |
| 14:18:57 | Nothing_Much | or Microsoft? |
| 14:22:05 | raptor | yes, but i'm not sure of their timeline |
| 14:26:14 | watusimoto | raptor: ok, so we're back to the either/or situation? Merging kaen's code breaks compatibility with xp/old macs/etc.? |
| 14:26:40 | watusimoto | the solution being, of course, to make it switchable based on a compiler switch |
| 14:26:59 | raptor | yes |
| 14:27:09 | watusimoto | ok, got it |
| 14:27:30 | raptor | kaen's stuff is just an addition to our code, it doesn't modify any existing opengl calls, just adds some features |
| 14:27:44 | watusimoto | I guess you should send me the patch, so at least I can look at it to get a better understanding of what it does |
| 14:28:04 | raptor | i think it changes the color of the ship based on mouse movement |
| 14:28:04 | watusimoto | no real hurry though... I'm _still_ stuck in the /lockteams function |
| 14:28:06 | watusimoto | blech |
| 14:28:10 | raptor | blah |
| 14:28:11 | watusimoto | cool |
| 14:29:02 | watusimoto | so actually, we might have a problem with kaen's code... we'll have to write 2x the UI code, right? once using the current method, once with shaders |
| 14:29:25 | watusimoto | 2x the development, 2x the testing, ... |
| 14:31:08 | kaen_mbp | I'm not sure I would merge my code as-is. it's a pretty crude shader layer |
| 14:31:28 | kaen_mbp | most of the things it does would be better to use a true library for (especially the shader loading and compilation) |
| 14:32:27 | kaen_mbp | also the function pointer wrangling is not very smart, but I think it will disable itself if it fails to resolve them (i.e. shaders aren't supported) |
| 14:32:40 | raptor | hi kaen_mbp! |
| 14:32:44 | kaen_mbp | but like I said, using a true shader layer from somewhere else is probably much wiser |
| 14:32:48 | kaen_mbp | hi all :3 |
| 14:32:54 | watusimoto | hi! |
| 14:32:56 | raptor | I had a question about the function pointer stuff... why did you do it that way? |
| 14:33:33 | kaen_mbp | to be honest, I read it from a shader implementation tutorial somewhere that could very well have been outdated |
| 14:33:34 | raptor | and by that I mean, why did you choose to wrap the SDL_GL defines in your own name, isntead of just calling the GL command directly? |
| 14:33:40 | raptor | ah ok |
| 14:33:50 | kaen_mbp | hmm I'll need to review real quick |
| 14:33:52 | raptor | so you'd be OK if I simplified some of it? |
| 14:34:47 | raptor | watusimoto: we'd have to write 2x the render methods at some level |
| 14:35:14 | raptor | but i suspect that we can reduce most of the GL code to a handful of cases that we'd just call from everywhere with different variables |
| 14:37:07 | kaen_mbp | absolutely |
| 14:37:25 | kaen_mbp | ok, the pfn stuff apparently is only needed if gl is loaded at runtime |
| 14:37:36 | kaen_mbp | with SDL_GL_LoadLibrary |
| 14:37:43 | kaen_mbp | so we should be able to just rip it out |
| 14:38:10 | raptor | I like linking... :) |
| 14:38:57 | kaen_mbp | but I don't think it necessitates having twice the render methods. The shader doesn't care how the verts get blitted, it should work the same with begin/end and drawarrays |
| 14:39:22 | kaen_mbp | so if shaders are unsupported, the shader activation could be altered to a no-op |
| 14:39:56 | raptor | drawarrays works, yes, but there is no glcolor, etc. |
| 14:40:18 | raptor | oh, oops, let me provide context: there is no glColor in GLES 2 |
| 14:40:44 | raptor | so your implementation works just fine on desktop, but we want to go full GLES 2 |
| 14:41:01 | kaen_mbp | all that needs to happen for GLES 2 support is to add some variable definitions to the shaders I believe and set them |
| 14:41:18 | raptor | and remove all fixed-function pipeline stuff |
| 14:41:31 | kaen_mbp | for gl_Color you'd just prefix frag shaders with: uniform vec4 gl_Color |
| 14:41:47 | kaen_mbp | pretty much you'd just reimplement the fixed pipeline the way it used to be |
| 14:41:52 | raptor | ok |
| 14:42:33 | raptor | now i just need to do it... :) |
| 14:42:34 | | Nothing_Much Quit (Remote host closed the connection) |
| 14:42:34 | kaen_mbp | which you'd pretty much have to do anyway, e.g. sending in the MVP matrix, color, etc. |
| 14:43:52 | raptor | I'm sorry I haven't actually coded much in bitfighter for a while.... been super busy wrapping up 10 years of work |
| 14:44:23 | kaen_mbp | I forgive you, if you'll do the same :3 |
| 14:44:26 | watusimoto | don't be sorry |
| 14:44:29 | raptor | heh |
| 14:44:42 | raptor | at night I think to myself - I want to code in bitf... zzzzz |
| 14:44:49 | kaen_mbp | lol |
| 14:46:53 | | koda Quit (Ping timeout: 240 seconds) |
| 16:03:52 | | kaen has joined |
| 16:43:19 | | kaen Quit (Remote host closed the connection) |
| 16:55:17 | watusimoto | On this morning's news: |
| 16:55:18 | watusimoto | http://www.npr.org/2015/03/10/392014840/belgian-tourists-trip-to-french-alps-delayed-bus-gps-to-blame |
| 16:55:18 | watusimoto | We (almost) did the same thing: we bought a train ticket to ski at the same resort, and it turned out the ticket was for the same place these skiers went. Luckily, we discovered our error in time to cancel the tickets and rent a car (as the train does not go where we wanted to go, sadly.) |
| 18:15:20 | raptor | who are you going to believe? Siri... or your lying eyes? |
| 18:29:55 | watusimoto | exactly |
| 18:30:12 | | LordDVG Quit (Read error: Connection reset by peer) |
| 18:47:50 | | YoshiSmb has joined |
| 18:47:56 | YoshiSmb | Hi everyone |
| 19:03:36 | | raptor Quit () |
| 19:30:36 | | koda has joined |
| 19:37:16 | watusimoto | hi |
| 19:47:20 | | Watusimoto_ has joined |
| 19:58:38 | | koda Quit (Quit: koda) |
| 20:09:46 | | Watusimoto_ Quit (Ping timeout: 264 seconds) |
| 20:46:47 | | watusimoto Quit (Quit: Leaving.) |
| 20:47:55 | | Watusimoto has joined |
| 20:51:15 | YoshiSmb | Any development news? |
| 22:16:30 | | Watusimoto Quit (Ping timeout: 246 seconds) |
| 22:59:01 | | watusimoto has joined |
| 22:59:01 | | ChanServ sets mode +o |
| 23:44:00 | | raptor has joined |
| 23:44:01 | | ChanServ sets mode +o |
| 23:47:42 | raptor | good evening! |
| 23:58:30 | YoshiSmb | evening and good-nights! |
| 23:59:04 | raptor | i have to find that shader patch... |