Clownacy
679c6d0391
More efficient OpenGL font loading
2019-07-24 22:21:39 +01:00
Clownacy
d6888040a2
Backport some OpenGL 2.1 fixes
2019-07-24 22:08:37 +01:00
Clownacy
9948fa8b07
Move the SDL_Window creation to the rendering backends
...
Whoops, didn't mean to commit the Main.cpp edit way back when I made
the OpenGL 2.1 backend.
2019-07-24 20:20:06 +01:00
Clownacy
7bbc0321cd
Backport OpenGL2 fixes from the enhanced branch
2019-07-24 20:00:50 +01:00
Clownacy
b2244f17fc
Dumb indent
2019-07-23 23:15:44 +01:00
Clownacy
0ce05e1837
Move a function
2019-07-23 23:13:57 +01:00
Clownacy
e170485849
Document a "bug" in the SDL_Texture backend
2019-07-23 23:11:24 +01:00
Clownacy
d3129bc4bc
Font refactor part 5: Sigil (optimised software renderer)
2019-07-23 21:49:40 +01:00
Clownacy
8aad8a6628
Font refactor part 4: Thy Flesh Co- I mean, OpenGL
...
Hard mode. Wound up debugging a weird issue for about half an hour.
Turns out you don't need to reset the matrix when you switch
framebuffer target? I don't really know how that works.
Anyway, yay font rendering is in the OpenGL backend now.
2019-07-23 21:49:40 +01:00
Clownacy
e2054918a6
Font refactor part 3: SDL_Texture
...
Getting kinda messy, having to maintain two different ways of
drawing - colour-key and alpha-blending. In the enhanced branch,
which uses alpha-blending for everything, these can be merged.
I'm noticing a huge delay in shutdown time. There's probably a bug
in here.
2019-07-23 21:49:40 +01:00
Clownacy
6a7fd14833
Font refactor part 2: SDL_Surface
...
No per-component alpha support here
2019-07-23 17:20:56 +01:00
Clownacy
6d385e674f
Font refactor part 1: Software
...
With this, font blitting is handled by the rendering backend, paving
the way for hardware-accelerated font drawing in the accelerated
backends.
2019-07-23 16:38:04 +01:00
Clownacy
05f382961d
Added OpenGL 2.1 renderer
...
Yay 100% hardware-acceleration. Yes, I know 2.1 is outdated and
crappy, but it was the easiest one to write. I'll probably make an
OpenGL 3.0 Core renderer at some point.
Anyway, font rendering isn't here yet, because I plan to overhaul it.
2019-07-23 15:20:14 +01:00
Clownacy
74c9931ebb
Change the renderer backend API for uploading pixels
...
Also fix some blatant build errors. I must be going mad - I swear
I've fixed that typedef thing like twice already.
2019-07-19 08:45:59 +01:00
Clownacy
f1e6103a46
...Actually add the SDL_Surface renderer file
2019-07-17 16:35:33 +01:00
Clownacy
44456e4a25
Add an SDL_Surface-based renderer
...
Ha, my custom software renderer is faster!
2019-07-17 16:09:18 +01:00
Clownacy
f21f17f4c2
Cleanup
2019-07-17 14:13:49 +01:00
Clownacy
7c12e7817c
Use SDL_ALPHA_OPAQUE
2019-07-16 00:37:31 +01:00
Clownacy
81eb438482
Fixes and tweaks
2019-07-16 00:15:20 +01:00
Clownacy
6a4f4e0df3
Added handlers for render target loss/window resize
...
These only really happen when you use exclusive fullscreen and
alt-tab out. Or, at least, it does on Windows with SDL2 in DirectX
mode.
2019-07-15 17:47:22 +01:00
Clownacy
b84661d88a
Move the backend files around a bit
2019-07-15 17:01:42 +01:00
Clownacy
15bfd00d25
Added hardware-accelerated rendering backend
...
Still need to add the code for surviving render target losses
2019-07-15 16:47:10 +01:00
Clownacy
21cf78b86d
Split Draw.cpp into common code and backend code
...
Should be easy to add the new hardware renderer now
2019-07-15 13:42:49 +01:00