Commit graph

387 commits

Author SHA1 Message Date
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
b2996f426b Add khtplatform.h and use it in case no system-provided one was found 2021-01-18 19:18:06 +03:00
2adb8db3a6 Add missing header 2021-01-18 18:19:31 +03:00
b53dc0a14a Fix compiler-specific diagnostic in painter.cpp 2021-01-18 18:18:52 +03:00
2205b5e2a7 util/io_fwd was a bad idea 2021-01-18 18:17:57 +03:00
d7469920de Clang compilation fixes: use non-template stream output operators 2021-01-18 18:11:01 +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
5133695c6f Add matrix tests 2021-01-16 22:46:52 +03:00
0944797a3e Add lerp & slerp tests 2021-01-16 22:46:07 +03:00
14c5fda1a7 Implement matrix trace 2021-01-16 22:43:45 +03:00
71bafff64d Implement matrix Frobenius (L2) norm 2021-01-16 22:43:22 +03:00
7698e54b18 Support indexing zero-dimensional matrices 2021-01-16 22:42:55 +03:00
6d22ae95c7 Add geom vector & point tests 2021-01-16 19:06:27 +03:00
5d968accdb Support zero-dimensional points, matrices, and boxes 2021-01-16 19:05:59 +03:00
e0afe8b935 Implement async::executor::wait_all 2021-01-15 17:59:46 +03:00
e558799702 Fix gfx::light/dark: shouldn't affect color alpha 2021-01-15 17:59:25 +03:00
4f0b804656 Add scalar-interval distance function 2021-01-15 17:58:54 +03:00
d891d21ec2 Support 0-dimensional vectors 2021-01-15 17:58:20 +03:00
c525383a42 Add matrix stream output operator 2021-01-15 17:57:58 +03:00
918858aea5 Support different types of interpolated object & interpolation coefficient in geom::lerp 2021-01-15 17:57:37 +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
22f5b85854 Node-based binary heap (wip) 2020-12-16 11:05:29 +03:00
2875cb468d Physics engine 2d: accelerate collision detection be sorting bboxes on x-coordinate 2020-12-16 11:05:29 +03:00
9c54f6e730 Add function profiling macro 2020-12-16 11:05:29 +03:00
50cc785998 Get elapsed time before locking mutex in profiler 2020-12-16 11:05:29 +03:00
76c714b158 Add geom::box::full 2020-12-16 11:05:29 +03:00
c2b0c6e41e Remove obsolete debugging code 2020-12-16 11:05:29 +03:00
2e81763d5a Physics engine 2d: properly apply explosion impulse 2020-12-16 11:05:29 +03:00
b6a68b8e1a Physics engine 2d: refaactor collisions to 3 functions 2020-12-16 11:05:29 +03:00
eff7be5653 Redesign profiler: hierarchical, thread-aware, dump into log::info upon request 2020-12-16 11:05:29 +03:00
ce4e561cac Support merging two util::statistics 2020-12-16 11:05:29 +03:00
7751d6fd36 Add util::statistics::count 2020-12-16 11:05:29 +03:00
9d1ba342fc Physics engine: implement collision resolution in order of importance 2020-12-16 11:05:29 +03:00
a75b8710de Physics engine: always resolve penetration, but apply impulse only on approach velocity 2020-12-16 11:05:29 +03:00
b2b6d18dd0 Add matrix unary minus 2020-12-16 11:05:29 +03:00
dcaff99b75 Physics engine 2d: support retrieving object info 2020-12-16 11:05:29 +03:00
3b141aa84d Physics engine 2d: extract generic convex-convex collision detection, use for boxes 2020-12-16 11:05:29 +03:00
980d3e856b Add explosion effect in 2d physics engine 2020-12-16 11:05:29 +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