Commit graph

368 commits

Author SHA1 Message Date
Robert Beckebans
caa9258289 Optimized shadow mapping using Blue Noise sampling.
This reduces the number of shadow mapping taps from 12 to 6 while
keeping very good results.
2020-04-29 01:19:53 +02:00
Robert Beckebans
c5bfbf5457 Fixed last commit ... 2020-04-26 10:41:09 +02:00
Robert Beckebans
605944924a Renamed r_useIBL to r_usePBR and fixed r_pbrDebug rendering 2020-04-26 10:38:28 +02:00
Robert Beckebans
c87e9e1711 Only modulate down ambient pass with SSAO 2020-04-25 18:30:40 +02:00
Robert Beckebans
4e9e15e65a PBR environment BRDF sampling is more correct now.
The implementation is very close to Blender's Eevee output.
2020-04-25 16:46:03 +02:00
Robert Beckebans
1c828aee6f Added Blue Noise based Filmic Dithering by Timothy Lottes and Chromatic Aberration 2020-04-22 22:49:24 +02:00
Robert Beckebans
9823d989c8 Added some PBR intrinsic images 2020-04-20 20:51:31 +02:00
Robert Beckebans
79b67ac310 Reenabled r_lightScale for HDR 2020-04-20 20:51:09 +02:00
Robert Beckebans
d3644b5a83 Don't flip PNG files vertically for wrong converted .tga files 2020-04-20 20:49:46 +02:00
Robert Beckebans
c8250b184b Added support to load RG16F texture data. Added R_WriteEXR function 2020-04-18 19:16:24 +02:00
Robert Beckebans
9872734f62 Added missing generated Image_brdfLut.h 2020-04-18 17:09:28 +02:00
Robert Beckebans
28ad01ab80 Added command makeBrdfLut for testing 2020-04-18 17:08:32 +02:00
Robert Beckebans
31df292288 PBR GPU Skinning bugfix 2020-04-18 17:07:19 +02:00
Robert Beckebans
f92c3776ff Fixed Crash with ImGui when changing the resolution 2020-04-16 21:48:18 +02:00
Robert Beckebans
93710bd694 Fixed PNG flipped upside down 2020-04-16 18:53:19 +02:00
Robert Beckebans
1972bcdad4 Added second interaction shader path for PBR so old materials don't look glossy 2020-04-16 18:08:50 +02:00
Robert Beckebans
41d8bd9ec2 Fixed proper caching of _rmao PBR files as .bimage 2020-04-16 16:09:44 +02:00
Robert Beckebans
bc7d66a740 Fixed bug when looking for PBR image timestamp 2020-04-13 18:20:45 +02:00
Robert Beckebans
56a2ec0dfc Added HACK to look for PBR maps with the suffix _rmao 2020-04-13 17:31:07 +02:00
Robert Beckebans
9fb3f686a1 Updated README with some documentation about the modding support 2020-03-31 21:01:44 +02:00
Robert Beckebans
62466b41b7 Use ImGui to draw renderer stats for com_showFPS 1 2020-03-29 17:12:11 +02:00
Robert Beckebans
0f8ee906da Experimental changes to test PBR texture set 2020-03-28 17:56:12 +01:00
Robert Beckebans
0ac1c237d9 Fixed OpenGL build 2020-03-22 16:56:04 +01:00
Robert Beckebans
3485c680aa Updated embedded HLSL shaders generated by premake 2020-03-22 15:44:52 +01:00
Robert Beckebans
af701aea33 Vulkan works on Kubuntu 19.10, g++ and open source drivers for the AMD RX 580 2020-03-22 15:29:24 +01:00
Robert Beckebans
6b524f0bcb Turned off HDR and shadow mapping defaults for Vulkan builds 2020-03-22 13:46:58 +01:00
Robert Beckebans
367d5af7a2 Fixed Windows build 2020-03-22 13:22:45 +01:00
Robert Beckebans
bcb61ce306 Applied Astyle 2020-03-22 12:23:52 +01:00
Eric Womer
596fbb18ca RenderBackend.h:
* Renamed vkwindow to sdlWindow in struct vulkanContext_t to matche the rest of the struct naming conventions.

Image_VK.cpp:
  * disabled printing "Vulkan Image alloc " to the terminal, flooding it
  with data

RenderBackend_VK.cpp:
  * Re-enabled r_vkEnableValidationLayers enabling/disabling Vulkan
  validation checking, I had it hard-coded to true for testing reasons.
  * static void DestroySwapChain():
    * I don't know if the changes I introduced here are helping or not,
    or even doing anything, so this part can be ignored or changed back.
  * GL_StartFrame() and GL_BlockingSwapBuffers():
    * VkResult for these two functions, vkAcquireNextImageKHR and
    vkQueuePresentKHR, don't need to return VK_SUCCESS for the
    application to be valid, so handle them differently here. There may
    be others like this, but I don't know.

qvk.h:
  * Since VK_USE_PLATFORM_* is defined in the CMakeLists.txt file, for
  now anyways, use them to wrap the correct platform headers instead of
  defining them here.

sdl_vkimp.cpp:
  * Some debug printing changes, from GL to Vulkan, since this is for
  the Vulkan API.
2020-01-01 14:31:28 -05:00
Eric Womer
ae07018a3c Removed an inclusion guard as it is needed for Physical Device
extensions and not Instance extensions.
2019-12-30 15:39:41 -05:00
Eric Womer
e9ef21ce5c SDL2/Vulkan on Linux, still broken for Doom3BFG 2019-12-30 15:20:15 -05:00
Eric Womer
7145d9b3f1 Compiling/Linking/Running, but no rendering, there is audio. glConfig as
a temp fix for the surfaces having a width and height of 0 since
renderSystem->getHeight()/getWidth() access
glConfig.nativeResolutionHeight/Width directly.
2019-12-29 17:05:33 -05:00
Eric Womer
528da79001 Merge branch 'kung' into vulkan-merge-2 2019-12-29 12:14:29 -05:00
Eric Womer
f1e650e2c4 Applying KungFuJesus's patch from
https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/398#issuecomment-569442019
2019-12-29 11:12:34 -05:00
Robert Beckebans
fa3df4e2d2 Fixed OpenGL backend, Added r_usePBR to toggle Image Based Lighting 2019-11-22 18:25:33 +01:00
Robert Beckebans
527b1fbfd5 Applied new AStyle settings 2019-11-19 21:33:59 +01:00
Robert Beckebans
08cb9730e3 Merge branch 'master' into vulkan 2019-11-19 21:29:16 +01:00
Robert Beckebans
f6701427dd Added stencil zfail optimization aka Carmack's Reverse 2019-11-19 21:02:47 +01:00
Robert Beckebans
3632d200f9 Added anisotropic filtering to Vulkan backend 2019-11-19 20:16:58 +01:00
Robert Beckebans
e0a397e544 Added Git submodule glslang 7.10.2984 -> stable release Nov 15, 2018 2019-11-19 19:26:35 +01:00
Robert Beckebans
4a6af2d609 Applied new Astyle settings 2019-11-11 20:27:44 +01:00
Robert Beckebans
ab5b233e8e Fixed dynamic shadows on Vulkan. Enabled PBR GGX for interaction shaders 2019-11-11 20:07:33 +01:00
Jeffrey N. Johnson
07aa70f27e These changes allow the use of C++11. 2019-11-10 12:33:53 -08:00
Robert Beckebans
e6960cb876 Fixed rendering of stencil shadows with Vulkan 2019-11-08 20:09:57 +01:00
Robert Beckebans
57f502d167 Merged newest custom Vulkan allocator from vkDOOM3 2019-11-08 20:09:33 +01:00
Robert Beckebans
23414ee58d Merge vkDOOM3 stencil PSO creation 2019-11-08 18:12:37 +01:00
Robert Beckebans
5e68272eac Basic IBL works with Vulkan 2019-10-31 21:17:31 +01:00
Robert Beckebans
d4576f7cc5 Merge branch 'IBL-environment-probes2' into vulkan 2019-10-31 21:05:11 +01:00
Robert Beckebans
c676a864c6 idImage::CopyFrameBuffer 2019-10-31 21:05:00 +01:00
Robert Beckebans
e281cceb94 Fixed some depth bias pipeline problems 2019-10-31 17:33:19 +01:00