Commit graph

373 commits

Author SHA1 Message Date
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