Kovid Goyal
f35bf7f1ba
Move buffer management into its own class
2017-08-21 22:53:13 +05:30
Kovid Goyal
be06669e8f
Ensure we dont exceed GL_MAX_TEXTURE_BUFFER_SIZE
2017-08-21 20:53:02 +05:30
Kovid Goyal
05f5a05c20
Ensure sprite map size tracking is always correct
2017-08-21 17:39:30 +05:30
Kovid Goyal
7e79aac275
Fix incorrect tracking of previous buffer sizes to avoid re-allocs
2017-08-21 17:12:46 +05:30
Kovid Goyal
0a21819e16
DRYer
2017-08-21 16:53:04 +05:30
Kovid Goyal
fe3e51a00d
Move the GLSL shaders into their own files
2017-08-21 16:39:34 +05:30
Kovid Goyal
21874339f1
Remove un-needed binding of the sprite_map buffer
2017-08-21 15:51:55 +05:30
Kovid Goyal
4f22fcdaac
Code to verify buffer uploads are working
2017-08-21 15:30:50 +05:30
Kovid Goyal
0bbea6812e
Avoid unnecessary reallocs for cell data
...
Only re-allocate when the buffer size changes
2017-08-21 14:56:29 +05:30
Kovid Goyal
101a50b0ff
Do not use GL_ARB_texture_buffer_object_rgb32
...
This is not available on macOS using Intel graphics cards
2017-08-21 12:46:09 +05:30
Kovid Goyal
421ae6d289
Ensure texture buffer is bound before uploading to it
2017-02-24 14:35:02 +05:30
Kovid Goyal
063ec7dc02
Fallback implementation for glCopyImageSubData
...
OS X is missing this function so we fallback to a very slow,
GPU->CPU->GPU roundtrip. Fortunately this is needed only rarely so it
should not have a noticeable performance imapct. Le bubbling sigh!
2017-01-11 23:36:43 +05:30
Kovid Goyal
41c63917c8
...
2016-12-10 09:41:25 +05:30
Kovid Goyal
b3c9763519
...
2016-12-10 09:38:18 +05:30
Kovid Goyal
0a13899571
Ensure Sprites.render_cell() always returns a valid cell
2016-12-10 09:30:30 +05:30
Kovid Goyal
5f77e486f0
Split up the fonts module into a package
2016-12-07 11:16:10 +05:30
Kovid Goyal
319f06931a
Fix rendering when multiple windows are visible
2016-12-05 08:28:26 +05:30
Kovid Goyal
b1e39dac02
Start work on rendering window borders
2016-11-28 13:38:13 +05:30
Kovid Goyal
b5000c2ec0
Refactor to support multiple windows/tabs
2016-11-26 17:40:28 +05:30
Kovid Goyal
aca53d4e2b
Rendering of underline/strikethrough
2016-11-23 09:01:07 +05:30
Kovid Goyal
e53c3076ef
Pre-render the sprites for blank/underline/strikethrough
2016-11-22 11:50:28 +05:30
Kovid Goyal
c8a71ef5f8
Move the update_cell_data() inner loop to native code
2016-11-12 10:57:06 +05:30
Kovid Goyal
470d88a950
Speed up the update_cell_data inner loop
2016-11-10 23:20:42 +05:30
Kovid Goyal
8f8e9baedc
Remove the no longer needed data types module
2016-11-10 11:07:39 +05:30
Kovid Goyal
b3cc7ae1d5
...
2016-11-03 21:34:49 +05:30
Kovid Goyal
aa1302b699
Set texture interpolation to nearest to prevent fringing
2016-11-03 21:26:15 +05:30
Kovid Goyal
1e04b8fdca
Explicitly free sprites on normal program termination
2016-11-03 19:43:11 +05:30
Kovid Goyal
58a7331b9f
Get rid of PyOpenGL
2016-11-03 16:52:47 +05:30
Kovid Goyal
436fedccea
Finish OpenGL shader bindings
2016-11-03 16:34:01 +05:30
Kovid Goyal
99f788ead5
More OpenGL bindings
2016-11-03 15:14:59 +05:30
Kovid Goyal
5d77499cb1
OpenGL bindings for programs
2016-11-03 13:15:30 +05:30
Kovid Goyal
06b42a7e1c
More OpenGL bindings
2016-11-03 10:30:35 +05:30
Kovid Goyal
a00e7fbed8
Fix bold fonts not being used
2016-10-30 22:13:24 +05:30
Kovid Goyal
93872f8319
Handle cell size changing in the sprites class
2016-10-30 22:05:25 +05:30
Kovid Goyal
2de8c70bb8
Optimize the hot loop
2016-10-30 17:19:37 +05:30
Kovid Goyal
ade8faa345
Start work on implementing the char grid
2016-10-30 13:06:13 +05:30
Kovid Goyal
176a548b99
...
2016-10-29 20:23:49 +05:30
Kovid Goyal
fabdebfd89
Check for required extensions
2016-10-28 12:32:55 +05:30
Kovid Goyal
88a9d8fb8a
Use instanced rendering for the sprites as well
2016-10-28 12:08:52 +05:30
Kovid Goyal
5791700de7
Go back to using glTexStorage as it is commonly present via extension and higher performance
2016-10-28 07:33:15 +05:30
Kovid Goyal
c9e3d57ed5
A spot of refactoring
2016-10-27 23:08:21 +05:30
Kovid Goyal
6eda70331a
Char grid now works. Also downgrade GL requirement to 3.3
2016-10-27 22:48:03 +05:30
Kovid Goyal
4495859164
Utility methods to implement orthographic transforms
2016-10-27 22:09:20 +05:30
Kovid Goyal
57bfd19c59
Convenience functions for creating matrices
2016-10-27 21:00:42 +05:30
Kovid Goyal
9df413d9be
Nicer error message if the ARB_copy_image extension is absent
2016-10-27 17:14:07 +05:30
Kovid Goyal
cc157f1b3e
Only store rendered sprite data on the GPU
2016-10-27 17:09:56 +05:30
Kovid Goyal
e649cbbd59
Do the transform to UV space in the shader so that the texture can be dynamically resized
2016-10-27 15:36:08 +05:30
Kovid Goyal
736df601dc
Dont use the image_storage functions since they require OpenGL 4.2
2016-10-27 15:10:42 +05:30
Kovid Goyal
f692776e29
Use a sprite sheet for char cells
2016-10-27 13:58:36 +05:30
Kovid Goyal
321373056c
Start work on a class to manage cell textures on the GPU
2016-10-26 15:44:27 +05:30