Commit Graph

162 Commits (master)

Author SHA1 Message Date
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 b137b16600 third_party/cargo: add flatbuffers, bump 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 dfb3335d64 third_party/cargo: patch image library 2020-04-04 20:20:27 +02:00
q3k 661bc12dbd third_party/cargo: add image 2020-04-04 20:00:11 +02:00
q3k 2ae07a4679 bump winit, vulkano, ... 2020-03-17 00:00:50 +01:00
q3k 14ae060a30 add openvr, update deps 2020-03-16 23:30:09 +01:00
q3k 4525750fe7 bump rules_rust and nightly 2020-03-16 23:19:29 +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
q3k 792409145d unhardcode shader descriptor layout 2020-03-14 17:15:01 +01:00
q3k b1fef79ead configurable descriptor sets 2020-03-14 16:55:03 +01:00
q3k c9a34b6a40 use cpu buffer pool for uniforms 2020-01-26 21:48:09 +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 8b82aeac1c uniforms/perspective works 2020-01-25 20:20:32 +01:00
q3k d629e9d752 uniformly garbage 2020-01-23 00:33:40 +01:00
q3k 10a748e3b3 indexed drawing 2020-01-22 03:33:56 +01:00
q3k 1fc9d9ff1a third_party/cargo: add cgmath 2020-01-22 00:35:27 +01:00
q3k b6071b0a51 slower FPS counter, debug presentation 2020-01-20 21:30:34 +01:00
q3k 90d308143e refactoring 2020-01-20 04:01:36 +01:00
q3k fde3c4f94c split vertex to vulkan::data, use immutable buffers 2020-01-20 03:31:03 +01:00
q3k 154dd2b5dc start forward shader with vertex data 2020-01-20 03:23:41 +01:00