Commit graph

449 commits

Author SHA1 Message Date
0a0398807f Remove confusing random::generator constructor 2020-12-10 10:37:15 +03:00
1e8df117cf Move random generation to a separate library 2020-12-09 23:53:36 +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
167f979285 Deferred renderer: support choosing between 16-bit and 32-bit floats for position representation 2020-12-09 18:18:32 +03:00
28b676b002 Fix friction collision 2020-11-29 14:33:35 +03:00
66d89a4fa6 Add 2d physics library (wip) 2020-11-29 12:32:41 +03:00
148dc60d40 Support pumping non-delayed events in async::event_loop 2020-11-29 12:30:40 +03:00
abd40bfa4d Make util::profiler use the logging system 2020-11-29 12:30:02 +03:00
8ea508ee20 Fix flat_list: destructor hack should only compile for types with nontrivial destructor 2020-11-29 12:27:41 +03:00
76c465903b Support constructing orthographic_camera from 2d box 2020-11-29 12:26:43 +03:00
5ab15e263a Add geom::solve for solving simple linear equations 2020-11-29 12:26:22 +03:00
c7b44a6925 Add box::corner - N-d lerp inside a box 2020-11-29 12:25:46 +03:00
a7f067bedb Add shrink & expand functions for intervals & boxes 2020-11-29 12:25:25 +03:00
d5495a52ce Add geom::sign function 2020-11-29 12:24:52 +03:00
d470fe7346 Add a heterogeneous container (with type list specified at compile-time) & tests 2020-11-26 22:01:57 +03:00
ccef8f91ea Optimize flat_list::clear for the case of trivially-destructible types 2020-11-26 14:43:30 +03:00
e3c42627c4 Add util::flat_list and tests 2020-11-25 13:23:27 +03:00
eda0701887 Add util tests 2020-11-24 23:13:34 +03:00
26d06b74d3 Fix util::array::release 2020-11-24 23:11:11 +03:00
bfff9b2c4d Add util::blob::operator bool() and util::blob::swap 2020-11-24 23:10:52 +03:00
1e1679ffe0 Add <functional> include in util::function for std::invoke 2020-11-24 23:10:15 +03:00
75b847ec23 Add geom::lerpn - n-ary baricentric interpolation 2020-11-23 18:14:06 +03:00
c6fe38989c util::function bugfixes & strong exception guarantee 2020-11-23 17:56:35 +03:00
cb468aa675 Remove polymorphic_storage helper 2020-11-22 12:40:31 +03:00
a1cf646633 Rename movable_function -> function & better SSO 2020-11-22 12:40:26 +03:00
8e3a012fd6 Add small object optimization to movable_function 2020-11-22 11:19:49 +03:00
0f1479abbd Implement event_loop using synchronyzed_queue 2020-11-21 23:29:39 +03:00
e41e2492ca Improve synchronyzed_queue interface: support timed variants of all operations 2020-11-21 23:29:17 +03:00
0d64e86ffe Add async library & move stuff from util to async 2020-11-21 16:27:38 +03:00
a6b931e8e2 Support auto-canceled tasks 2020-11-21 15:43:42 +03:00
5f91587a39 Add future::ready 2020-11-21 15:32:24 +03:00
ff5d778118 Fix executor::dispatch_at time_point_cast bug 2020-11-21 15:32:14 +03:00
8ecf10de30 Mark future::wait as const 2020-11-21 15:31:55 +03:00
fb9f1d8f30 Fix threadpool name use-after-free bug 2020-11-21 15:31:25 +03:00
240d26663b Add deferred event support to executors 2020-11-21 15:16:47 +03:00
a8a1f44a89 Support deferred events in synchronyzed_queue & remove timeout methods 2020-11-21 15:14:06 +03:00
4fa7e1f824 Logging should start with a capital letter 2020-11-19 23:51:20 +03:00
9fa32c2dd1 Add util::event_loop executor 2020-11-19 23:50:28 +03:00
daf1a3c5f4 Make threadpool implement executor interface 2020-11-19 23:50:23 +03:00
8bfc6cfd72 Add an executor interface that supports cancelable tasks 2020-11-19 23:48:33 +03:00
67c6e18ef0 Add framebuffer::read_pixels 2020-11-10 13:23:17 +03:00
71f6fc9baf Add LRU cache implementation 2020-11-08 16:19:37 +03:00
c89deef9cf Change free camera: any possible orientation now 2020-11-08 16:18:34 +03:00
957493e2e2 Add template deduction guides for transformation classes 2020-11-08 16:15:30 +03:00
42501ec7c2 Add threadpool::queue_size() and synchronyzed_queue::size() 2020-11-08 16:12:42 +03:00
1771f56508 Fix all stream output operators: operator<< might return a different stream type 2020-11-06 17:34:57 +03:00