Commit graph

349 commits

Author SHA1 Message Date
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
b2996f426b Add khtplatform.h and use it in case no system-provided one was found 2021-01-18 19:18:06 +03:00
b53dc0a14a Fix compiler-specific diagnostic in painter.cpp 2021-01-18 18:18:52 +03:00
f0611657ac Generate empty source file for libraries with no sources 2021-01-18 18:10:35 +03:00
e7cac4a618 Clang compilation fixes 2021-01-18 18:01:03 +03:00
9995f38ab0 Primitives of dynamic dimension, part 1: make vector, point & matrix dimensions retrievable via non-static functions 2021-01-16 23:26:57 +03:00
e558799702 Fix gfx::light/dark: shouldn't affect color alpha 2021-01-15 17:59:25 +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
7cf2a1d5ca Add 10-10-10-2 pixel type 2020-12-15 09:45:41 +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
c06c1b5155 Deferred renderer: specify that clear color alpha is ignored 2020-12-13 19:02:10 +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
65bab34304 Support retrieving texture target from texture class 2020-12-12 23:44:42 +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
fdef1d6018 Mark query_scope as maybe unused 2020-12-12 16:18:14 +03:00
0c00505d44 Add OpenGL query helper 2020-12-12 16:04:10 +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
91650cb4ac gfx::texture::pixels: support different lods & outputting to existing pixmap 2020-12-10 23:33:25 +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
5cb74583a4 Deferred renderer: accept material by pointer, casts_shadow is a property of material 2020-12-10 21:57:26 +03:00
6690e23037 Support direct access to buffers from gfx::mesh 2020-12-10 21:56:31 +03:00
28b4bad3a7 Support mapping gfx::buffer (write-only) 2020-12-10 21:56:13 +03:00
77a32e444a Fix padding in instanced attribs 2020-12-10 21:55:55 +03:00
bcb04d5286 Fix deferred renderer when bloom is not used 2020-12-10 18:33:08 +03:00
c8c5e874da Implement SSAO in deferred renderer 2020-12-10 10:41:40 +03:00
1620eef29d Implement blooming in deferred renderer 2020-12-09 23:21:15 +03:00
15fcfdd053 Add blur effect 2020-12-09 23:19:27 +03:00
4915b171c7 Implement simple overlay effect that fills a texture over a render target 2020-12-09 23:19:18 +03:00
dd520c4cae Deferred renderer: fix shadows behind transparent objects 2020-12-09 19:43:22 +03:00
e799771a40 Deferred renderer: implement unlit transparent objects 2020-12-09 19:32:57 +03:00