32 Commits

Author SHA1 Message Date
Mitchell Hashimoto
22ed65a818 really hacked in emoji support, time to clean it up 2022-08-20 10:37:11 -07:00
Mitchell Hashimoto
4ca45936f7 Only reallocate the GPU buffer if our CPU capacity changes
Previously, every single render was re-allocating a fairly large (~1MB)
buffer on the GPU. The recommended best practice is to allocate once and
then use `glBufferSubData` to update the memory in-place on the GPU.

We now track the last size we sent to the GPU, compare it to our copy on
the CPU, and if it _grows_ then we reallocate the GPU buffer. If it
shrinks we leave the GPU as-is for now. After this, we use the sub-data
routines to update the data in place.
2022-08-19 10:26:23 -07:00
Mitchell Hashimoto
e5c583ccf5 get rid of gb_math and create matrices from scratch 2022-08-18 11:33:28 -07:00
Mitchell Hashimoto
bb0b95732e opengl: support extension iteration, list in debug mode 2022-08-04 11:13:56 -07:00
Mitchell Hashimoto
6e86afba17 update the font atlas if there are changes 2022-05-19 20:24:28 -07:00
Mitchell Hashimoto
d250bcda65 fix the baseline for font rendering 2022-04-19 19:30:30 -07:00
Mitchell Hashimoto
e2ed1ed745 shader modes, draw a jank cursor 2022-04-19 13:54:50 -07:00
Mitchell Hashimoto
c43c1d38f1 add background pass 2022-04-19 08:54:39 -07:00
Mitchell Hashimoto
4d9b67fa65 model direct gpu cell 2022-04-15 09:10:32 -07:00
Mitchell Hashimoto
544286509f grid render a few cells 2022-04-14 17:14:49 -07:00
Mitchell Hashimoto
263c9e4aac opengl: unbind programs 2022-04-06 08:42:39 -07:00
Mitchell Hashimoto
14e510fe4f draw text using ebo, some work to be done to clean that up 2022-04-05 08:57:44 -07:00
Mitchell Hashimoto
6ba0a13a9b opengl: simplify vertex attribute setting 2022-04-05 08:25:36 -07:00
Mitchell Hashimoto
684fb64705 use a font atlas! 2022-04-04 22:24:02 -07:00
Mitchell Hashimoto
530fecee4a opengl: glad helpers 2022-04-04 15:11:26 -07:00
Mitchell Hashimoto
c6f1be3343 move from epoxy to glad 2022-04-04 14:35:19 -07:00
Mitchell Hashimoto
d1a24ce89c opengl: for an array, size is just the size of the type 2022-04-04 13:10:46 -07:00
Mitchell Hashimoto
b4fdfcc264 opengl: a lot more enums 2022-04-04 13:09:39 -07:00
Mitchell Hashimoto
8734dac2ad opengl: adding pixelStorei 2022-04-04 12:44:28 -07:00
Mitchell Hashimoto
c8a73d60a9 less dumb 2022-04-04 11:53:09 -07:00
Mitchell Hashimoto
6f2be8e44b awful text rendering 2022-04-04 11:24:21 -07:00
Mitchell Hashimoto
fc28b8c032 busted text rendering 2022-04-04 09:43:46 -07:00
Mitchell Hashimoto
049004e6de opengl: more funcs 2022-04-02 20:35:39 -07:00
Mitchell Hashimoto
63ce7114a4 opengl: draw functions 2022-04-02 20:17:53 -07:00
Mitchell Hashimoto
9f9357d21b textures 2022-04-01 20:05:59 -07:00
Mitchell Hashimoto
80d064ed51 opengl: uniforms 2022-04-01 19:05:16 -07:00
Mitchell Hashimoto
045dd704ec opengl: more bindings 2022-04-01 18:44:18 -07:00
Mitchell Hashimoto
a5a2196d52 opengl: bound buffers 2022-04-01 18:00:15 -07:00
Mitchell Hashimoto
63673287f6 opengl: more generic setData for buffer 2022-04-01 17:52:36 -07:00
Mitchell Hashimoto
f1cffea944 opengl: buffers 2022-04-01 17:44:54 -07:00
Mitchell Hashimoto
10369f5643 opengl: VertexArray 2022-04-01 15:52:40 -07:00
Mitchell Hashimoto
91cb86395b opengl: extract into folder 2022-04-01 15:38:47 -07:00