q3k
dca2df8635
*: update rules_rust
2021-03-21 22:26:42 +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
c25045bcb2
Fix build against new vulkano and new Rust
2021-01-08 00:07:12 +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
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
q3k
ebf55d518a
engine/vulkan: use multi-keyed resourcemaps for sorting resources
2020-05-31 00:41:28 +02:00
q3k
a0e045cbbb
engine: use shitty resourcemap for object sorting
2020-05-30 23:47:56 +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
dc8f162361
*: add q3d
2020-05-29 03:43:49 +02:00
q3k
b9aeafd921
engine: cleanups
...
- remove unused image submodules
- fix validation error with subpass commands
- render with vsync
2020-05-09 01:02:26 +02:00
q3k
1636b9efcc
engine: textures
2020-05-09 00:40:47 +02:00
q3k
cb1e800279
engine: image loading
2020-04-04 22:18:37 +02:00
q3k
fab5855aaa
engine: abstract resource loading
2020-04-04 22:18:26 +02:00
q3k
2ae07a4679
bump winit, vulkano, ...
2020-03-17 00:00:50 +01:00
q3k
e4e0200364
fix layer selection
2020-03-16 23:19:21 +01: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
9e38c48452
codify {surface,swapchain}_binding
2020-03-15 17:02:49 +01:00
q3k
b281836261
cleanup crimes
2020-03-15 16:58:03 +01:00
q3k
5a18a63928
multithreaded buffer building
2020-03-15 16:43:15 +01:00
q3k
c2f5f31bf0
build secondary buffers before waiting for new frame
2020-03-14 20:53:33 +01:00
q3k
51263272b0
be smarter about loading validation layers
2020-03-14 19:11:28 +01:00
q3k
9c217bd83c
move projection matrix to push constants
2020-03-14 17:32:05 +01:00