#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2015-03-10

Timestamps are in GMT/BST.

00:42:04Watusimoto_ has joined
01:15:51Watusimoto_taxes? it's only march!
01:15:58raptori'm late!
01:16:59Watusimoto_you mean from last year???
01:17:26raptorno... personal deadline of having it done by Feb. of each year
01:18:17Watusimoto_ah well.. I have a personal deadline o June 15
01:18:27Watusimoto_which I often make
01:19:15BFLogBot Commit: f7cf4e8ee6 | Author: watusimoto | Message: More tests, more passing; small refactor to allow us to have multiple levels passed in by string
01:20:13raptori've been researching GLES 2
01:20:28raptordid you see my monologue above the taxes comment?
01:20:59Nothing_Muchvulkaaaaaaaaaaaaaannnnnnnn
01:21:59BFLogBot Commit: 155e0acb5b | Author: watusimoto | Message: How could I forget this?!?
01:22:32Watusimoto_ah yes, I see it... but I don't fully understand it!
01:23:03raptorok so...
01:23:06Watusimoto_we can be totally gles2 compatible by dropping old macs and xp
01:23:09Watusimoto_is that the gist?
01:23:25raptorwell, yes... and windows vista/7 software rendering
01:23:40Watusimoto_what do you mean software rendering?
01:24:07raptorbasically any system without specific drivers to handle it...
01:24:11raptorso
01:25:01raptoropengl 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:39raptorwhich is what windows, all versions, does - although i think windows may translate opengl to directx in some cases
01:26:50raptorso 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:16raptorthere are some software implementations of the API, like Mesa, but those appear on later Linux systems
01:27:57raptorso 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:26Watusimoto_that will lose us about half of our rapidly dwindling player base :-(
01:28:31raptoryeah...
01:28:42raptorso I think we'll just have to support both
01:28:51raptorwhich means... abstraction!
01:28:52Watusimoto_since they all seem to run ppc macs and windows 3.1 and such
01:29:03Watusimoto_yes, I think I agree
01:29:18Watusimoto_I want to move forward, but I like that we support the old platforms
01:29:29raptorI was completely expecting microsoft to have supported GL 2 by windows vista
01:29:34Watusimoto_will glshim work for us?
01:29:38raptorno
01:29:50Watusimoto_bummer; why not?
01:30:02raptorglshim takes GL 1.x and translates it to GLES 1.x
01:30:12raptorbut I've already done that conversion work to GLES 1.x
01:30:55Watusimoto_ah, ok
01:30:58raptorwhich is a simple subset of GL 1.x
01:31:16Watusimoto_we need a shim to get us to gles 2
01:31:43raptorso... I found a few more possible projects. one was called gles2-bc
01:31:59raptorit did a lot of what we needed, but ultimately had several pieces missing
01:32:02Watusimoto_I actually think we can do this ourselves
01:32:23raptoryes - also kaen has done a lot of preliminary work with shader loading
01:32:31raptorand his code works
01:32:32Watusimoto_pushmatrix/popmatrix/translate/rotate/scale are 99% of our incompatible code
01:32:40raptorglColor, too
01:32:50Watusimoto_that's illegal??
01:32:55Watusimoto_that's a biggie
01:33:03raptoryeah... and that's the part that gles2-bc left out
01:33:15Watusimoto_how do you do colors?
01:33:22raptorfragment shaders
01:33:33Watusimoto_well.. regardless. it is a very small set of features we need to support
01:33:37raptoryes
01:33:48Watusimoto_with the excpeiton of glcolor, I pretty much understand how to do it all
01:33:51raptorit's just a matter of being smart enough to support both APIs
01:34:00raptoroh? you've done that much research already?
01:34:18Watusimoto_well, I think with gles2 you have a single transformation matrix
01:34:44Watusimoto_if that's correct, it is pretty easy to implement our own push/pop/translate/rotate/scale
01:35:09raptorI 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:19Watusimoto_that could basically work with gles2 or opengl
01:35:55Nothing_Muchraptor and Watusimoto_, Vulkan? o.o
01:36:20Watusimoto_hey
01:36:26raptorNothing_Much: that API isn't done yet, and isn't supported on any platform
01:36:42Watusimoto_unfortunately, I need to go
01:36:42Nothing_Muchohh..
01:36:49raptorok
01:36:49Watusimoto_but I'll read through that link tomorrow
01:37:28Watusimoto_I am certain we can do it
01:37:34Watusimoto_mostly without too much trouble
01:37:43raptoryeah, me too, but i've hit a conceptual barrier of sorts
01:37:53raptormaybe I just need to do it and see what happens...
01:37:57Watusimoto_the shaders are the only part I don't really know, and maybe kaen's work will help there
01:38:07Nothing_Muchgles 2.0 support sometime in 021 or 022 or unknown at the moment?
01:38:20Watusimoto_maybe 020, maybe 021
01:38:28Watusimoto_depends on how the research goes
01:38:29Nothing_Muchwhoa!
01:38:36Nothing_Muchgood luck all devs!
01:38:46Watusimoto_good luck with your taxes!
01:38:50raptorthanks!
01:39:01Nothing_Muchwell, since i've gotten a job, yeah i got taxes
01:39:10Watusimoto_ha
01:39:10raptori should sleep, i suppose... so good night!
01:39:14Nothing_Muchl8r
01:39:16Watusimoto_night all!
01:39:22raptor Quit ()
01:44:14Watusimoto_ Quit (Ping timeout: 264 seconds)
04:39:11Darrel has joined
07:11:12LordDVG has joined
07:42:27koda has joined
07:57:22LordDVG Quit (Remote host closed the connection)
10:33:34kaen_mbp has joined
11:52:48Watusimoto_ has joined
12:02:48raptor has joined
12:02:48ChanServ sets mode +o
12:02:57raptorgood day!
12:09:17Nothing_Muchwoo
12:35:04Watusimoto_ Quit (Ping timeout: 255 seconds)
12:39:04Watusimoto_ has joined
12:46:24Watusimoto_ Quit (Ping timeout: 256 seconds)
12:47:52LordDVG has joined
13:30:08watusimotohowdy all
13:30:12raptorhi
13:30:20watusimotoI'm donig python today
13:30:27raptorhooray!
13:30:33watusimotonice break from all the windows windows windows stuff
13:30:49raptorand you were into some really *windows* stuff...
13:30:49watusimotoand I may have convinced my boss to open source this script I'm writing
13:30:57raptorhaha
13:31:04watusimotoso goodness all around
13:31:04kodadid someone say windows?
13:31:16watusimotoyeah... that's my life now
13:32:04raptorkoda: is hedgewars GLES 2 compatible?
13:32:40kodamaybe
13:34:26raptorcrazy pascal code
13:34:46kodai think some branch is since it used to run on javascript
13:34:57kodamaybe even master is there
13:34:59kodain
13:35:23raptorhmmm... maybe you guys only use GL through SDL
13:35:32kodanope
13:35:38kodagl context is all ours
13:38:35raptorah ha! I found glColorPointer in uWorld.pas
13:39:51raptoruh oh... i see glBegin/glEnd everywhere!
13:43:27watusimotothat's not gles compatible!
13:44:20raptoralthough i did find shaders: https://code.google.com/p/hedgewars/source/browse/?name=default#hg%2Fshare%2Fhedgewars%2FData%2FShaders
13:45:06watusimotothose are the first shaders I've ever seen
13:45:27watusimotothey just look like little programs
13:45:30raptoryep
13:45:39watusimotoare they distributed in compiled form, or as sourcecode?
13:45:40raptorand are compiled/uploaded at runtime
13:45:43watusimotook
13:45:53raptornope, there are gl commands that you run to do it
13:45:55watusimotoso players can manipulate them if they want
13:46:08watusimoto(which I see as a positive)
13:46:10raptoryep, or you could put them as static strings int he code
13:46:17watusimotoI see
13:46:59raptorthat default.fs (fragment shader) that hedgewars uses is probable close to what we'd want for coloring things
13:47:08watusimotois that actual c code, or something else?
13:47:14raptorit's called GLSL
13:47:17watusimotook
13:47:20raptorGL Shader Language
13:47:34watusimotomerely c-like
13:47:37raptoryes
13:48:23raptorthat android-gles-2 tutorial that i linked to last night does a half-way decent job at explaining it
13:48:29raptorsort of...
13:48:39raptori still have to wrap my head around teh flow a little better
13:48:42watusimotoyou talked about trying to merge kaen's shader code... did you ever give that a shot?
13:48:53raptoryes, and it works well
13:48:57watusimotoI think seening even a partial implementation in context would help us both
13:49:21watusimotoit's like the testing. when kaen_mbp implemented the testing framework, it suddenly seemed so easy
13:49:27raptorhis code is good, but not that simple
13:49:37watusimotobut before that, I was not really clear on how to proceed
13:49:51raptorafter studying it for a while, i think I wonder why he chose to do somethings as complicated as he did...
13:51:43raptorif you want a patch against our 020 branch, let me know... I have it somewhere..
13:59:06watusimotoIs there a downside to merging the code now? i.e. will it still work with our main builds?
13:59:21raptoruhhh
13:59:35raptorthere is no way to turn it off/on
14:00:21raptoralso it doesn't actually replace any GL 1.x stuff, just adds to it (and brings dependency to GL 2.x)
14:18:28Nothing_Muchis windows open sourcing .NET yet?
14:18:57Nothing_Muchor Microsoft?
14:22:05raptoryes, but i'm not sure of their timeline
14:26:14watusimotoraptor: ok, so we're back to the either/or situation? Merging kaen's code breaks compatibility with xp/old macs/etc.?
14:26:40watusimotothe solution being, of course, to make it switchable based on a compiler switch
14:26:59raptoryes
14:27:09watusimotook, got it
14:27:30raptorkaen's stuff is just an addition to our code, it doesn't modify any existing opengl calls, just adds some features
14:27:44watusimotoI 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:04raptori think it changes the color of the ship based on mouse movement
14:28:04watusimotono real hurry though... I'm _still_ stuck in the /lockteams function
14:28:06watusimotoblech
14:28:10raptorblah
14:28:11watusimotocool
14:29:02watusimotoso 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:25watusimoto2x the development, 2x the testing, ...
14:31:08kaen_mbpI'm not sure I would merge my code as-is. it's a pretty crude shader layer
14:31:28kaen_mbpmost of the things it does would be better to use a true library for (especially the shader loading and compilation)
14:32:27kaen_mbpalso 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:40raptorhi kaen_mbp!
14:32:44kaen_mbpbut like I said, using a true shader layer from somewhere else is probably much wiser
14:32:48kaen_mbphi all :3
14:32:54watusimotohi!
14:32:56raptorI had a question about the function pointer stuff... why did you do it that way?
14:33:33kaen_mbpto be honest, I read it from a shader implementation tutorial somewhere that could very well have been outdated
14:33:34raptorand 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:40raptorah ok
14:33:50kaen_mbphmm I'll need to review real quick
14:33:52raptorso you'd be OK if I simplified some of it?
14:34:47raptorwatusimoto: we'd have to write 2x the render methods at some level
14:35:14raptorbut 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:07kaen_mbpabsolutely
14:37:25kaen_mbpok, the pfn stuff apparently is only needed if gl is loaded at runtime
14:37:36kaen_mbpwith SDL_GL_LoadLibrary
14:37:43kaen_mbpso we should be able to just rip it out
14:38:10raptorI like linking... :)
14:38:57kaen_mbpbut 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:22kaen_mbpso if shaders are unsupported, the shader activation could be altered to a no-op
14:39:56raptordrawarrays works, yes, but there is no glcolor, etc.
14:40:18raptoroh, oops, let me provide context: there is no glColor in GLES 2
14:40:44raptorso your implementation works just fine on desktop, but we want to go full GLES 2
14:41:01kaen_mbpall that needs to happen for GLES 2 support is to add some variable definitions to the shaders I believe and set them
14:41:18raptorand remove all fixed-function pipeline stuff
14:41:31kaen_mbpfor gl_Color you'd just prefix frag shaders with: uniform vec4 gl_Color
14:41:47kaen_mbppretty much you'd just reimplement the fixed pipeline the way it used to be
14:41:52raptorok
14:42:33raptornow i just need to do it... :)
14:42:34Nothing_Much Quit (Remote host closed the connection)
14:42:34kaen_mbpwhich you'd pretty much have to do anyway, e.g. sending in the MVP matrix, color, etc.
14:43:52raptorI'm sorry I haven't actually coded much in bitfighter for a while.... been super busy wrapping up 10 years of work
14:44:23kaen_mbpI forgive you, if you'll do the same :3
14:44:26watusimotodon't be sorry
14:44:29raptorheh
14:44:42raptorat night I think to myself - I want to code in bitf... zzzzz
14:44:49kaen_mbplol
14:46:53koda Quit (Ping timeout: 240 seconds)
16:03:52kaen has joined
16:43:19kaen Quit (Remote host closed the connection)
16:55:17watusimotoOn this morning's news:
16:55:18watusimotohttp://www.npr.org/2015/03/10/392014840/belgian-tourists-trip-to-french-alps-delayed-bus-gps-to-blame
16:55:18watusimotoWe (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:20raptorwho are you going to believe? Siri... or your lying eyes?
18:29:55watusimotoexactly
18:30:12LordDVG Quit (Read error: Connection reset by peer)
18:47:50YoshiSmb has joined
18:47:56YoshiSmbHi everyone
19:03:36raptor Quit ()
19:30:36koda has joined
19:37:16watusimotohi
19:47:20Watusimoto_ has joined
19:58:38koda Quit (Quit: koda)
20:09:46Watusimoto_ Quit (Ping timeout: 264 seconds)
20:46:47watusimoto Quit (Quit: Leaving.)
20:47:55Watusimoto has joined
20:51:15YoshiSmbAny development news?
22:16:30Watusimoto Quit (Ping timeout: 246 seconds)
22:59:01watusimoto has joined
22:59:01ChanServ sets mode +o
23:44:00raptor has joined
23:44:01ChanServ sets mode +o
23:47:42raptorgood evening!
23:58:30YoshiSmbevening and good-nights!
23:59:04raptori have to find that shader patch...

Index Search ←Prev date Next date→

These logs were automatically created by BFLogBot on irc.freenode.net.