Commit Graph
149 Commits
Author SHA1 Message Date
Kovid Goyal de4f93dd95 Fix vertical positioning when rendering characters 2016-10-30 15:16:08 +05:30
Kovid Goyal e5293fba16 Implement keyboard input 2016-10-30 14:56:53 +05:30
Kovid Goyal 48e7226a2a ... 2016-10-30 13:15:41 +05:30
Kovid Goyal ade8faa345 Start work on implementing the char grid 2016-10-30 13:06:13 +05:30
Kovid Goyal 42675c2531 ... 2016-10-29 21:13:45 +05:30
Kovid Goyal 15771fb90c Simplify event loop code by using the asyncio module 2016-10-29 21:08:21 +05:30
Kovid Goyal b921821d0c Implement passing of foreground and background colors to the cell shaders 2016-10-29 20:28:37 +05:30
Kovid Goyal 176a548b99 ... 2016-10-29 20:23:49 +05:30
Kovid Goyal ed74f8e467 Ensure only a single thread tries to render chars at a time 2016-10-28 15:09:39 +05:30
Kovid Goyal fabdebfd89 Check for required extensions 2016-10-28 12:32:55 +05:30
Kovid Goyal d00e03ca03 Micro-optimization 2016-10-28 12:16:49 +05:30
Kovid Goyal 88a9d8fb8a Use instanced rendering for the sprites as well 2016-10-28 12:08:52 +05:30
Kovid Goyal 65e2f6fa09 Start work on using instanced rendering for cells 2016-10-28 09:24:13 +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
Kovid Goyal 8c76596f5c Specify the needed opengl version centrally 2016-10-26 12:24:24 +05:30
Kovid Goyal 7161406ff3 Handle window resizing correctly 2016-10-26 10:46:20 +05:30
Kovid Goyal cc1a277eeb Pre-render the basic ASCII chars 2016-10-26 10:45:33 +05:30
Kovid Goyal 412c5982e8 Only use scalable/outline fonts 2016-10-26 09:45:19 +05:30
Kovid Goyal 2e4d2f9e44 Implement char rendering 2016-10-25 19:44:55 +05:30
Kovid Goyal bf125612c9 ... 2016-10-25 18:12:29 +05:30
Kovid Goyal 135db0d834 Refactor the shaders module to present a nicer interface 2016-10-25 18:08:38 +05:30
Kovid Goyal f7db790061 Code to work on OpenGL 2016-10-25 16:22:53 +05:30
Kovid Goyal ca57eb9d05 Use font metrics for wcwidth() 2016-10-25 09:31:28 +05:30
Kovid Goyal b4730e747a Implement fallback fonts and rendering of wide characters 2016-10-25 09:26:59 +05:30
Kovid Goyal 1f6937973d Implement rendering of characters with FreeType
Still need to handle double width and combining characters
2016-10-24 21:59:34 +05:30
Kovid Goyal 809a833dc5 Code to render character cells 2016-10-24 13:50:24 +05:30
Kovid Goyal 697db21c64 Also get font hinting config from font-config 2016-10-24 11:43:38 +05:30
Kovid Goyal 67964962ae ... 2016-10-24 11:04:00 +05:30
Kovid Goyal 43df44605f Class to manage shaders 2016-10-24 11:01:25 +05:30
Kovid Goyal 6480f9f156 Wire up all the new components 2016-10-24 10:17:02 +05:30
Kovid Goyal 6a23dbe1ec Start work on rendering fonts using FreeType 2016-10-23 23:12:00 +05:30
Kovid Goyal 6f81e12041 Start work on migrating to OpenGL based rendering 2016-10-23 21:07:34 +05:30
Kovid Goyal aa2e11430a ... 2016-10-23 09:29:16 +05:30
Kovid Goyal a04cc3a97b Limit the number of functions displayed by --profile 2016-10-22 11:02:35 +05:30
Kovid Goyal 1244ad0aa1 Micro-optimization 2016-10-22 08:57:22 +05:30
Kovid Goyal 410e6dc259 Micro-optimization 2016-10-21 18:10:15 +05:30
Kovid Goyal 62d2978d1e Further optimize calculate_dirty_region() by pre-calculating the cell rects 2016-10-21 17:59:26 +05:30
Kovid Goyal a0664dbbf0 Optimize calculating dirty region when we know the entire screen is dirty 2016-10-21 17:48:19 +05:30
Kovid Goyal c31421daab Micro-optimization 2016-10-21 17:40:17 +05:30
Kovid Goyal 051ddce63a Add support for bold and italic fonts 2016-10-21 17:38:04 +05:30