Commit Graph

40 Commits (8b49f8324e08cd850382e5a3789eced9cd9c056e)

Author SHA1 Message Date
q3k 8b49f8324e engine, ecs: dynamically create components for entities 2021-04-07 13:55:15 +00:00
q3k a338a43195 lib/ecs: HRTB magic 2021-04-05 22:56:17 +00:00
q3k 10e513dff4 engine: load lua from code, driveby stuff 2021-04-05 22:09:31 +00:00
q3k 05dd81fa4f engine/util: rework file::resource api 2021-04-05 18:35:17 +00:00
q3k 193ead1eb7 engine: scripted entity basics 2021-04-05 16:34:12 +00:00
q3k 8d4bac00cf engine: add scripting worldcontext 2021-04-04 20:22:33 +00:00
q3k 630073f916 engine/input: add mouse deltas
Movement is janky, though.
2021-04-04 17:48:15 +00:00
q3k e0dc8444ca engine/renderer: implement cursor locking 2021-04-04 16:51:26 +00:00
q3k 814d01533f engine/renderer: expose resolution, return correct cursor coords 2021-04-04 16:10:14 +00:00
q3k 6d4088a173 engine: add input module 2021-04-04 15:46:29 +00:00
q3k 17adbf28f4 engine/demo: load roughness texture for cube 2021-04-03 14:05:18 +00:00
q3k 591e3146cd lib/ecs_macros: implement
A small little proc_macro to generate ecs::Access for any struct. This
can be used instead of tuples in SystemData.
2021-03-22 00:20:37 +00:00
q3k 4d39aee4f5 engine: re-enable moving lights in demo app 2021-03-21 20:35:16 +00:00
q3k dfd84a3af6 engine: rewrite App as Main 2021-03-21 18:43:36 +00:00
q3k 120712d0a8 engine: port renderer to ecs 2021-03-21 17:19:14 +00:00
q3k e2c9044a17 engine: remove old ecs test code 2020-12-10 00:22:25 +00:00
q3k 7ef85bd570 lib: basic ECS 2020-10-16 17:26:30 +00:00
q3k 47e977cdd1 engine/main: daylight scene
This implements a daylight scene using a realistic sun, and adds a bit
of fakery by restoring 500 nits of ambient lighting.

However, now we have some weird specular-like glitches? Is it because of
the large float values? Doesn't matter much, this is temporary until we
implement image-based lighting, where floating point errors should get
corrected.
2020-07-26 16:57:17 +02:00
q3k 56132c49a1 *: license under GPLv3 2020-07-24 00:59:00 +02:00
q3k 2d1cbe539e engine/render: move lights to UBO
There's now data available both in a push constant (view matrix) and in
an UBO (light data, camera position). Not sure if we should maintain the
split, or move everything to UBOs.
2020-07-23 22:54:57 +02:00
q3k 29ff5f6eb4 engine/render/vulkan: analytic lighting and PBR basics
We implement a simple PBR shader that uses off-the-shelf maths from
[Kar13]. I attempt to trace and cite as much as possible, but the amount
of different approaches from both industry and academia makes it quite
difficult to find exact papers to cite - especially as my mathematical
skills are not high enough to derive, or check the derivation for any of
these myself.

[Kar13]
Brian Karis. 2013. "Real Shading in Unreal Engine 4"
URL: https://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf
2020-07-23 18:29:11 +02:00
q3k 1a52782882 engine/render: refactor mesh and materials into separate modules 2020-07-20 21:16:29 +02:00
q3k cf9ebfbae7 engine/render: PBRTextureSet 2020-07-13 23:33:18 +02:00
q3k c541260a93 engine/render: ImageOrRef -> Texture 2020-07-13 23:14:12 +02:00
q3k 1169d7796e engine/render: remove Resource enum 2020-07-13 23:06:39 +02:00
q3k 0aefcdd347 engine/render: start implement multi-texture materials 2020-07-13 22:58:24 +02:00
q3k 0be37ee3f7 engine: use ResourceID for RM-managed resources 2020-05-30 02:14:10 +02:00
q3k ea8aa09791 engine: create ResourceManager and Profiler, use
The ResourceManager now owns all thicc resources (meshes and textures),
letting us a) use identifiers for them b) stop using Arc as much.
2020-05-30 00:56:20 +02:00
q3k 1636b9efcc engine: textures 2020-05-09 00:40:47 +02:00
q3k 021303cc7c shitty tarball rule 2020-03-16 01:30:36 +01:00
q3k a792b18eb8 finally, zbufferium 2020-03-16 01:03:59 +01:00
q3k 63d276f664 hypercuber 2020-03-16 00:40:04 +01:00
q3k 3bcbbe6c71 h y p e r c u b e s 2020-03-16 00:24:28 +01:00
q3k 91018922cb instanced rendering, nuke multithreaded rendering 2020-03-15 23:48:07 +01:00
q3k 5a18a63928 multithreaded buffer building 2020-03-15 16:43:15 +01:00
q3k b1fef79ead configurable descriptor sets 2020-03-14 16:55:03 +01:00
q3k 08d7443763 do not recreate vertex/index buffers 2020-01-26 20:59:55 +01:00
q3k 86e5d03a91 refactor: renderable 2020-01-26 01:57:15 +01:00
q3k 8fc9fd6c9d engine: add fps counter, fix flipping 2020-01-20 02:00:14 +01:00
q3k 5565a77ac4 cargo -> bazel 2020-01-19 00:27:11 +01:00