Commit graph

123 commits

Author SHA1 Message Date
ebda20ff9c Support drawing multi-color triangles in gfx::painter 2021-06-13 14:14:25 +03:00
ed41bc6583 Explicit circle quality parameter for gfx::painter::circle 2021-06-13 12:30:18 +03:00
99e72c552b Support printing context to gfx::check_error 2021-05-29 18:38:28 +03:00
b8ac384770 Implement 2D convex separation routine & change separation return type 2021-05-07 17:37:45 +03:00
eecc054870 Use io::stream for png input 2021-04-20 15:11:41 +03:00
3e4cea25e7 Make gfx::load_mesh return data instead of loading mesh directly 2021-03-07 19:05:13 +03:00
5255abd66a Implement loading meshes from binary format 2021-03-07 18:31:20 +03:00
697de5c422 Add gfx::mesh::load_raw for loading buffers from raw data 2021-03-07 18:30:00 +03:00
e4f0675a1d Refactor gfx attribs: store vertex & instance size in attrib description 2021-03-07 18:29:25 +03:00
9dc95c797c Make gfx::renderbuffer::storage support template pixel types 2021-03-06 18:30:35 +03:00
f878321628 Convert default font to PNG 2021-02-27 19:45:27 +03:00
6661299573 Support reading grayscale pngs 2021-02-27 19:44:17 +03:00
08d6469311 Support png image loading 2021-02-27 19:09:14 +03:00
de4a661009 Move netpbm routines to netpbm.cpp 2021-02-27 18:13:40 +03:00
f8d127d700 Support blending textures with a color in painter 2021-02-17 14:55:17 +03:00
1b9e769b3f Support quaternion uniforms 2021-02-15 22:38:30 +03:00
e2bcab4f89 Fix shader source line numbering 2021-01-30 19:19:35 +03:00
e8c0d9492b Show source lines when reporting shader compilation errors 2021-01-29 10:34:40 +03:00
5e7aa7601d Pimpl declaration macros now define a make_pimpl(...) static helper function 2021-01-23 10:42:14 +03:00
a8aef622a1 Fix bug in deferred renderer 2021-01-18 20:09:19 +03:00
c37fc1f614 Fix shader version in deferred renderer 2021-01-18 20:03:51 +03:00
b6cb3576a5 Show full shader source on compilation failure 2021-01-18 20:03:24 +03:00
07924aa0d5 Various clang compilation issues 2021-01-18 20:02:35 +03:00
b53dc0a14a Fix compiler-specific diagnostic in painter.cpp 2021-01-18 18:18:52 +03:00
e7cac4a618 Clang compilation fixes 2021-01-18 18:01:03 +03:00
b0b2975efc Use shadow blurring in deferred rendering 2020-12-19 22:39:04 +03:00
bd5622fc3b Use previous frame's transform for depth pre-pass in deferred renderer 2020-12-19 22:39:04 +03:00
42afb1692b Deferred renderer: support retrieving depth buffer 2020-12-14 14:12:43 +03:00
271a3d1b6e Deferred renderer: clear dest buffer before rendering 2020-12-14 14:12:09 +03:00
2b1e772870 Make gfx::painter set up OpenGL state 2020-12-14 13:44:25 +03:00
ffd3c6a6e8 Fix bump mapping 2020-12-13 23:45:17 +03:00
f10f301443 Deferred renderer: support a background generation callback 2020-12-13 23:20:41 +03:00
f3184a0f62 Deferred renderer: don't fill pixels with no geometry unless clear color was set 2020-12-13 19:06:19 +03:00
ac3ab3b0c6 Fix comment typos 2020-12-13 19:02:20 +03:00
eb64c00a02 Add debug shadow cascades highlighter 2020-12-13 18:45:32 +03:00
deba82adee Deferred renderer: ssao tweaks 2020-12-13 18:37:57 +03:00
953544718c Implement bump-mapping in deferred renderer 2020-12-13 16:11:00 +03:00
ed4d75c498 Support setting cascade map splits in light options 2020-12-13 13:24:55 +03:00
4dbfa40d77 Deferred renderer: implement cascaded shadow maps 2020-12-13 00:48:18 +03:00
9606c0feb7 Support texture array as framebuffer depth & stencil 2020-12-12 23:30:40 +03:00
0cf44f532a Deferred renderer: add proper frustum culling 2020-12-12 20:49:50 +03:00
59888bd5eb Deferred renderer: make shadow map size an explicit rendering parameter 2020-12-12 18:30:26 +03:00
68cdd22083 Deferred renderer: sort objects into a grid & use grid-based occlusion queries 2020-12-12 16:19:01 +03:00
cf311b4993 Remove obsolete code 2020-12-11 19:43:30 +03:00
0517609b8b Add util/hash header 2020-12-11 17:58:36 +03:00
f4908f2368 Deferred renderer: sort objects by distance to camera 2020-12-11 17:51:08 +03:00
72e0681521 Deferred renderer: bucket objects by material 2020-12-11 17:40:28 +03:00
82817304e2 Deferred renderer: remove explicit diffuse material property 2020-12-10 23:34:00 +03:00
f4c94e318f Deferred renderer: implement primitive camera clipping 2020-12-10 22:28:48 +03:00
22f1dde2dc Refactor deferred_renderer::render 2020-12-10 22:15:44 +03:00