Commit graph

9 commits

Author SHA1 Message Date
Clownacy
2d73fd8bb9 Use GLEW to check if OpenGL 2.1 is supported 2019-07-27 03:42:51 +00:00
Clownacy
145864cf2d Added sanity checks to the backends
This fixes the Texture backend bug that made the program take forever
to shut down:

The problem was that the font system would try to load a glyph that's
0 pixels wide/tall (likely the space character), which SDL2 didn't
like, so it would fail to allocate the texture, causing
Backend_CreateSurface, and by extension Backend_CreateGlyph, to
return a NULL. Later, upon shutdown, the font system would pass this
NULL to Backend_FreeGlyph, causing NULL pointer dereferences that
make the program take forever to shut down.

Personally, I think passing NULLs to the backend is valid behaviour,
so I've added a bunch of sanity checks to make sure they're never
dereferenced.
2019-07-24 23:34:16 +01:00
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
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
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