Commit Graph

152 Commits (88fa1f72ec8d1a2afbd47b40e5b81d45f8c1484d)

Author SHA1 Message Date
q3k 441c1acbe2 assets: add roughness texture 2021-04-03 14:03:15 +00:00
q3k 48b48f2181 third_party/cargo: submit leftover BUILD 2021-03-22 18:17:37 +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 45d271c39b ecs: move to rust 2018 2021-03-21 22:33:31 +00:00
q3k dca2df8635 *: update rules_rust 2021-03-21 22:26:42 +00:00
q3k 1db8479493 ecs: implement Access for tuples via macro 2021-03-21 21:45:14 +00:00
q3k 4d39aee4f5 engine: re-enable moving lights in demo app 2021-03-21 20:35:16 +00:00
q3k 5d318b1875 ecs: add .get() to Read{,Write}Component 2021-03-21 20:34:53 +00:00
q3k dfd84a3af6 engine: rewrite App as Main 2021-03-21 18:43:36 +00:00
q3k d778b6901e ecs: import cleanup 2021-03-21 18:42:46 +00:00
q3k 120712d0a8 engine: port renderer to ecs 2021-03-21 17:19:14 +00:00
q3k bf378bd288 ecs: Resource -> Global 2021-03-21 17:19:00 +00:00
q3k 05e8bb7d1f ecs: Read{,Write}Data -> Read{,Write}Component 2021-03-21 17:19:00 +00:00
q3k d8062733e9 lib/ecs: implement ReadWriteResource 2021-03-21 17:19:00 +00:00
q3k 517db87c62 ecs: remove entities set 2021-03-21 17:19:00 +00:00
q3k 03a846d42d ecs: implement resources 2021-01-13 23:10:48 +00:00
q3k ab417a239d windows: run build.rs on winapi 2021-01-08 01:24:55 +00:00
q3k f0f4cd5b96 third_party/cargo: generate for windows build 2021-01-08 01:04:44 +00:00
q3k c25045bcb2 Fix build against new vulkano and new Rust 2021-01-08 00:07:12 +00:00
q3k 2938a31682 third_party: bump everything 2021-01-07 23:38:16 +00:00
q3k 08f6dc3ac5 Bump to rust 1.49 and new cargo-raze 2021-01-07 22:48:22 +00:00
q3k d94fe9fa86 third_party/cargo: BUILD -> BUILD.bazel 2021-01-07 22:42:29 +00:00
q3k e2c9044a17 engine: remove old ecs test code 2020-12-10 00:22:25 +00:00
q3k 2bd393a536 ecs: implement mutable iterators and joins
Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaargh.
2020-12-10 00:10:47 +00:00
q3k 184a67d6c1 ecs: add entity IDs to iterators 2020-10-16 21:20:08 +00:00
q3k 81ebc1a80d lib/ecs: multiple system data sources support 2020-10-16 18:22:56 +00:00
q3k 7ef85bd570 lib: basic ECS 2020-10-16 17:26:30 +00:00
q3k 179cc63dd1 third_party/shaderc: fix build 2020-08-03 13:29:25 +02: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 569c57a86c glslc: enable optimization 2020-07-26 15:43:39 +02:00
q3k 1ce2889608 engine/shaders: add camera post-processing, split up
We now also use shaderc instead of glslandValidator, which has #include.
2020-07-26 15:26:40 +02:00
q3k f5ae25214a third_party/shaderc: init 2020-07-26 14:59:11 +02:00
q3k c87865d16e engine/{render,physics}: load textures into CIE XYZ
Everything looks funny now.
2020-07-25 23:43:55 +02:00
q3k 24e25651c5 engine/render/vulkan: implement mipmaps 2020-07-25 22:49:37 +02:00
q3k 56132c49a1 *: license under GPLv3 2020-07-24 00:59:00 +02:00
q3k 18b2432c33 engine/shaders: comment flip in vertex shader 2020-07-24 00:35:20 +02:00
q3k 5695db686c engine: fix demo distribution 2020-07-24 00:03:11 +02:00
q3k 4425f9cdf8 engine/shaders: disable ambient lighting
spoooooky
2020-07-23 23:27:40 +02:00
q3k 778e8d74f0 engine/render: enable 8xMSAA 2020-07-23 23:27:27 +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 2eaecfd1dd engine: pass roughness to shader
(this is not used as roughness yet, though)
2020-07-13 23:56:20 +02:00
q3k 37dd8e39b7 engine/render: make pipeline aware of multiple textures 2020-07-13 23:48:39 +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 bf60f262d9 engine/render: further cleanups 2020-07-13 23:11:26 +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 c5e6c75f23 engine/vulkan: split pipeline into forward implementation 2020-05-31 00:56:22 +02:00