Fredrick Brennan
65a7b19f40
Make each OS window have its own framebuffer
...
This commit fixes graphics rendering when more than one OS window is
open, all OS windows are semi-transparent, and multiple windows contain
graphics.
This commit closes #2310 .
2020-01-24 16:06:57 +08:00
Kovid Goyal
714bee7f45
Only use an extra draw call for the background when drawing interleaved cells if it is actually required
2020-01-12 09:37:16 +05:30
Kovid Goyal
40b9049deb
Move the kitty OpenGL API into its own compilation unit
2019-07-12 15:29:48 +05:30
David Herberth
f872f955b0
Replace glad with glad2
2019-07-07 21:10:15 +02:00
Kovid Goyal
4fff84b4b9
Add void to all function declarations for functions that take no arguments
...
Micro-optimization for some architectures. Enforced via
-Wstrict-prototypes
2019-05-13 11:04:21 +05:30
Luflosi
8920d64f7d
Fix typo
2019-03-12 19:38:06 +01:00
Luflosi
4711e10df2
Let all fatal messages begin with an upper case character
2019-02-17 22:43:10 +01:00
Kovid Goyal
ac7596b7c5
...
2018-05-05 07:30:59 +05:30
Kovid Goyal
f69ed984a4
Output GL version when running with --debug-gl
...
See #521
2018-05-05 07:26:30 +05:30
Kovid Goyal
c7506496da
Unify error logging between python and C
2018-03-04 11:55:47 +05:30
Kovid Goyal
0c4804db79
DRYer
2017-12-31 09:04:22 +05:30
Kovid Goyal
f7e84df332
Add an explicit OpenGL version test
...
Apparently there are some pre 3.3 drivers that include the
texture_storage extension. Fixes #258
2017-12-31 08:36:50 +05:30
Kovid Goyal
0fcce6ec58
Remove trailing whitespace from native code files
2017-12-20 08:44:47 +05:30
Kovid Goyal
86e33f739c
Ensure OS windows have both buffers cleared after a resize/on first render
2017-12-01 12:16:16 +05:30
Kovid Goyal
5e2587920a
Call glViewport in the render loop
...
Ensure FBOs have correct viewport
2017-12-01 12:16:15 +05:30
Kovid Goyal
ffff343e3d
Work on rendering to FBO
2017-12-01 12:16:15 +05:30
Kovid Goyal
bbc140e020
Only enable GL_BLEND when actually needed
2017-12-01 12:16:14 +05:30
Kovid Goyal
dfd8a69cf2
Build kitty against bundled glfw
2017-12-01 12:15:36 +05:30
Kovid Goyal
5a5d27077c
Shortcut to open new OSWindow
...
Note that rendering is still pretty buggy with multiple windows.
2017-12-01 12:15:34 +05:30
Kovid Goyal
c5649df971
Fix various bugs introduced by the refactoring to support OSWindow
2017-12-01 12:15:33 +05:30
Kovid Goyal
2ac8ad39c9
Implement destruction of OS windows
2017-12-01 12:15:32 +05:30
Kovid Goyal
e11a50ae83
Work on migrating the code needed for application startup
2017-12-01 12:15:32 +05:30
Kovid Goyal
ace91f04af
More appropriate location for function definition
2017-11-09 17:04:31 +05:30
Kovid Goyal
f25d2ea540
Rip out the old sprite update code
2017-11-09 16:45:45 +05:30
Kovid Goyal
8431eef970
Get rid of no longer needed GPU function indirection
2017-11-09 16:45:02 +05:30
Kovid Goyal
7ed272e971
Use the glad provided facility for debugging OpenGL
2017-11-08 15:40:07 +05:30
Kovid Goyal
6362499fc2
Switch to using glad instead of glew
2017-11-08 15:15:25 +05:30
Kovid Goyal
05363ba501
...
2017-10-25 14:48:28 +05:30
Kovid Goyal
e43a26d64c
Better error message when GLEW initialization fails
2017-10-25 14:32:44 +05:30
Kovid Goyal
e908484491
Also output error number when glewInit() fails
...
glewGetErrorString() is incomplete/not maintained
2017-10-17 16:47:38 +05:30
Kovid Goyal
02dc637ed0
Use the correct blend function for text
2017-10-17 09:51:21 +05:30
Kovid Goyal
c726a15ed4
...
2017-10-04 21:08:28 +05:30
Kovid Goyal
138a37ccac
Start work on the graphics program
2017-10-04 17:22:00 +05:30
Kovid Goyal
ead73c8209
Prepare for two stage rendering of cells
2017-10-04 14:15:51 +05:30
Kovid Goyal
6d960e4130
...
2017-10-01 09:12:14 +05:30
Kovid Goyal
3cbc20005b
Implement sending of image data to GPU
2017-10-01 09:04:46 +05:30
Kovid Goyal
710d00674a
Export the free texture function
2017-09-30 13:51:52 +05:30
Kovid Goyal
2909fddaa2
Split out GL API wrapping code into its own header
2017-09-30 11:48:52 +05:30
Kovid Goyal
457bf8c289
Move gl binding code into its own module
2017-09-15 10:45:17 +05:30
Kovid Goyal
dd8be35922
...
2017-09-15 10:45:17 +05:30
Kovid Goyal
b8acb9b133
Pass cell data to GPU directly
...
Converts update_cell_range() to a simple memcpy(). The GPU has to do
roughly the same amount of work (there is one extra attribute, and one
extra calculation for reverse video).
2017-09-15 10:45:16 +05:30
Kovid Goyal
f324d8ec4f
Fix a couple of bugs in the buffer map API
2017-09-15 10:45:15 +05:30
Kovid Goyal
281cb50780
API to map OpenGL buffers
2017-09-15 10:45:15 +05:30
Kovid Goyal
e8b5a72c96
Remove GIL management code since it is no longer needed
2017-09-15 10:45:11 +05:30
Kovid Goyal
8624dbac2c
Sigh, stupid OpenGL
...
Apparently glGetUniformIndices has different declarations on different
systems.
2017-09-15 10:45:10 +05:30
Kovid Goyal
d7b433f6b7
API for Uniform Block Objects
2017-09-15 10:45:09 +05:30
Kovid Goyal
34f946fd98
Move rendering of selection to GPU
2017-09-15 10:45:09 +05:30
Kovid Goyal
db40445572
Do color mapping on the GPU
2017-09-15 10:45:08 +05:30
Kovid Goyal
00e3ea8c08
Remove unused code
2017-08-22 17:32:40 +05:30
Kovid Goyal
03e0b9de04
Use vertex buffers instead of texture buffers
...
Apparently, integer samplers for textFetch() are broken on some macOS
Intel drivers. Fixes #101
2017-08-22 12:08:35 +05:30