Commit graph

77 commits

Author SHA1 Message Date
da445a869a Fix rectangular matrix uniforms 2020-10-23 17:14:54 +03:00
9cea478859 Add bool uniforms 2020-10-23 17:14:54 +03:00
ec36942f7d Support merging attrib descriptions 2020-10-23 17:14:54 +03:00
e5c869f27b Add color lighting & darkening functions 2020-10-23 17:14:54 +03:00
4d9b8dde29 Add lerp for generic_color 2020-10-23 17:14:54 +03:00
ea13bba49a Add generic_color::as_color_Xf 2020-10-23 17:14:54 +03:00
440fa3777e Refactor attribute specification: move to a separate file + standalone function for use in vertices 2020-10-23 17:14:54 +03:00
08c62d6e3f Add macro-based pimpl & use it everywhere 2020-10-23 17:14:54 +03:00
77125540e6 Implement texture rendering in gfx::painter 2020-10-16 07:44:13 +03:00
fb9dceea5e Support texture depth attachments & depth-stencil attachments 2020-10-16 07:43:52 +03:00
c6caf491ab Null framebuffer is returned by reference 2020-10-16 07:41:46 +03:00
c9ee47a79b Add depth & depth-stencil pixel formats 2020-10-16 07:40:41 +03:00
2898e2a2c3 Fix getting texture pixels into pixmap 2020-10-16 07:38:52 +03:00
d807d5c74b Refactor mesh setup & properly disable old attribs on re-setup 2020-10-04 17:35:21 +03:00
e9af93b747 Refactor meshes: single unified mesh class 2020-10-04 17:22:38 +03:00
726b8486c7 Add explicit bool cast for OpenGL objects 2020-10-04 17:22:16 +03:00
8040d5e1d2 Fix painter text rendering 2020-10-04 17:20:31 +03:00
b0ecc6c056 Add OpenGL array class 2020-10-04 12:23:01 +03:00
6709792abf Move pixel_traits to a separate header 2020-10-04 12:22:45 +03:00
b1afa3dbc1 Uniformize GL objects' interface & add texture extern templates 2020-10-04 11:44:16 +03:00
db0f7915cf Refactor textures: add generic template, remove copypaste 2020-10-04 11:20:53 +03:00
daeba8674a Support vector, point & interval uniforms of unknown floating-point/integral types 2020-10-04 11:18:01 +03:00
d8069308ee Support all texture types for framebuffer color target 2020-10-03 20:42:16 +03:00
5e344c408f Add 2D array textures 2020-10-03 20:41:52 +03:00
2771564b94 Add instanced_indexed_mesh class 2020-10-03 15:36:26 +03:00
23de4a520e Support rendering part of a mesh 2020-10-02 19:18:35 +03:00
3c215d6abb Rename indexed_mesh::count -> indexed_mesh::index_count 2020-10-02 19:13:54 +03:00
d4a7611ee5 Refactor mesh vertex size check 2020-10-02 19:13:17 +03:00
9e79bd1c40 Add color_3f & color_4f type aliases 2020-10-02 19:12:11 +03:00
b7950a0520 Simple renderer supports textures 2020-09-30 16:22:08 +03:00
3a3d93c7db Add signed & two-component pixel traits 2020-09-30 16:21:16 +03:00
5079bcd127 Remove render_to_texture since it's almost useless 2020-09-30 16:17:33 +03:00
f01219c4e7 Add 3D and 1D textures 2020-09-30 07:28:44 +03:00
e42c5dc054 Add a simple colored renderer 2020-09-29 19:20:17 +03:00
4e37e7a54f Add common generic colors 2020-09-29 19:20:02 +03:00
aaf6ce7652 Fix indexed mesh loading from simplices 2020-09-29 19:19:22 +03:00
8eb134908b Introduce gfx::drawable interface 2020-09-29 19:19:20 +03:00
d40ec7c0ca Fix netpbm parsing 2020-09-28 18:51:49 +03:00
631a720e56 Fix 3d line drawing 2020-09-28 14:10:51 +03:00
e73da04a31 Add 3D line painting 2020-09-27 19:40:22 +03:00
dbc429eaa7 Support 3D text in painter 2020-09-27 19:14:50 +03:00
4a583d092c Add Wavefront OBJ file parser 2020-09-25 23:16:20 +03:00
44f293c023 Fix instanced normalized mesh attributes 2020-09-25 17:19:36 +03:00
64751170cb Implement instanced meshes & matrix attributes 2020-09-25 11:36:18 +03:00
aedd41ae7f Fix mesh move constructor & assignment bugs 2020-09-25 11:36:00 +03:00
616b7cfce5 Add OpenGL error reporting 2020-09-25 11:34:27 +03:00
8877f6dedd Redesign gfx::mesh: stores primitive type, supports loading from pointers & simplices (deduces primitive type in the latter case) 2020-09-24 12:45:25 +03:00
e53d5fba13 Add texture_2d wrap options 2020-09-23 21:56:40 +03:00
5f422f1452 Use non-normalized texture coordinates for text & add more space between font glyphs 2020-09-21 21:53:56 +03:00
d2d88ba7c5 Add 'psemek-' prefix to all psemek targets 2020-09-21 09:04:40 +03:00