Commit graph

847 commits

Author SHA1 Message Date
Robert Beckebans
74d1fc5213 Defaulted r_ignoreGLErrors to 1 2020-07-14 18:37:41 +02:00
Robert Beckebans
74bfdfef73 Extended OpenGL Debug Callback 2020-07-14 18:35:00 +02:00
Trung Le
322764a8c2 Support PPC64LE architecture 2020-07-04 01:23:53 +10:00
IISergII
7e25d69608 platform_linux.cpp: Added sysconf use for s_numPhysicalCPUCores
when parsing /proc/cpuinfo fails, an alternative method will be used - sysconf() to get s_numPhysicalCPUCores value
2020-06-03 21:52:44 +03:00
Robert Beckebans
c0e76c492a
Merge pull request #466 from coldtobi/include_paths
Fix some include paths that caused build failures while Debian packaging
2020-05-31 23:22:30 +02:00
Robert Beckebans
de2cf327b9
Merge pull request #474 from r-a-sattarov/master
CMake: fixed compiler check algorithm (support of C++11)
2020-05-31 23:19:12 +02:00
Robert Beckebans
6f36e42a43
Merge pull request #399 from shmerl/master
Support XDG base directory specification
2020-05-31 23:02:39 +02:00
Robert Beckebans
0b18703686 Fixed multilayer bumped materials and mirrors in Vulkan 2020-05-25 21:48:41 +02:00
Robert Beckebans
8501ea46ba Show environment probes as spheres instead of cubes 2020-05-20 18:24:45 +02:00
Robert Beckebans
624f61b025 First time that multiple environment probes work 2020-05-17 17:37:06 +02:00
Robert Beckebans
1a66dc50af Added r_showViewEnvprobes 2020-05-17 13:29:18 +02:00
Robert Beckebans
804c16d0a4 First step at generating multiple env probes 2020-05-16 17:40:30 +02:00
Robert Beckebans
71d768cceb Fixed all known problems with sRGB -> linear RGB conversions (fog, GUIs, screen effects) 2020-05-15 16:25:36 +02:00
Robert Beckebans
5b56ab3392 r_forceAmbient can be saved and r_antiAliasing 1 is new default 2020-05-15 16:21:48 +02:00
Robert Beckebans
8c3179f313 Fixed blending of multilayered normals 2020-05-14 17:55:53 +02:00
Robert Beckebans
7b87863a50 Fixed too dark Mars video in main menu 2020-05-14 17:55:15 +02:00
Robert Beckebans
558afdd093 Added Contrast Adaptive Sharpening (AMD) by Justin Marshal (IcedTech) 2020-05-13 21:13:43 +02:00
Robert Beckebans
5dedbc70a6 Improved filmic post processing 2020-05-12 23:38:32 +02:00
Robert Beckebans
1b3378cb94 Added Vogel Disk Sampling by Panos Karabelas 2020-05-11 23:49:04 +02:00
Robert Beckebans
99235ec92c Optimized Filmic Dithering with precalculated Blue Noise 2020-05-10 22:10:32 +02:00
Robert Beckebans
9931fab681 Improved SSAO performance with Blue Noise 2020-05-10 15:05:46 +02:00
Robert Beckebans
d5e8380a5f Fixed r_ssaoDebug 2020-05-10 12:58:14 +02:00
Robert Beckebans
50eb5b4537 Moved generic ImGui drawing to idGuiModel::EmitImGui 2020-05-09 17:38:00 +02:00
Robert Beckebans
f9a1c5ff36 Added high performance timer queries for OpenGL 2020-05-09 16:48:55 +02:00
Robert Beckebans
d3bc29d510 Added GPU timer queries for Vulkan 2020-05-05 01:21:29 +02:00
Robert Beckebans
14a331fadd Made ImGui to work with the Vulkan builds 2020-05-04 17:22:51 +02:00
Robert Beckebans
33a232a840 Prevent vanilla .resource maps to be reloaded. Pull request #477 2020-05-03 15:58:51 +02:00
Robert Beckebans
faefaa4669 Updated idRenderLog to support RenderDoc and Nvidia's Nsight 2020-05-03 13:39:38 +02:00
r-a-sattarov
0f0053b143 CMake: fixed compiler check algorithm (support of C++11)
CXX_STANDARD supported values are 98, 11, 14, 17 and 20.
- https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html
2020-05-03 14:03:41 +03:00
Robert Beckebans
7eddea53f5
Merge pull request #465 from coldtobi/libpng1.6
Patch to support libpng1.4 and libpng1.6 alongside.
2020-05-03 02:56:46 +02:00
Robert Beckebans
b8e25612fb Fixed several problems with the HDR light equations 2020-05-01 23:30:16 +02:00
Robert Beckebans
3f9b85d434 Fixed textureLod with Vulkan and tweaked IBL to use r_lightScale 2020-05-01 21:11:13 +02:00
Robert Beckebans
6037889a85 Implemented idRenderBackend::DBG_TestImage() for Vulkan 2020-05-01 16:52:48 +02:00
Robert Beckebans
3afb67ab8e Fixed Bink video playback with Vulkan 2020-05-01 15:30:54 +02:00
Robert Beckebans
fa7a512ba5 Fixed support of RG16F textures with Vulkan 2020-05-01 13:52:02 +02:00
Robert Beckebans
d198ec5139 Use Astyle to format all HLSL renderprogs from now on 2020-05-01 12:50:01 +02:00
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
2c6f2377bf Show correct CPU string with Win64 2020-04-26 10:48:26 +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
Carlos Estrague
5836a99f7b Initial Nvidia jetson nano with Vulkan Support 2020-04-18 21:30:06 +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
97a49323e5 Added modding tool command exportScriptEvents and updated modding docs 2020-04-14 10:31:03 +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
d03c4cc398 Removed FFmpeg 32 bit files and updated OpenAL Soft to 1.20.1 64 bit 2020-04-13 14:04:34 +02:00
Robert Beckebans
da87dc6495 Removed unused 32 bit CMake Windows configs 2020-04-13 13:14:06 +02:00
Robert Beckebans
9fb3f686a1 Updated README with some documentation about the modding support 2020-03-31 21:01:44 +02:00
Tobias Frost
bd9edf3166 Fix some include paths that caused build failures while Debian packaging. 2020-03-31 12:17:26 +02:00
Tobias Frost
691cfa7cce Patch to support libpng1.4 and libpng1.6 alongside.
(Note that libpng also would support the new accessors.
However, I hope that this way the patch could be more acceptable for you.)
2020-03-31 12:02:41 +02:00
Robert Beckebans
33129bf5b8 Fixed game time stats 2020-03-29 18:19:03 +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
f97bfe3eb4 Don't try to create an OpenGL 5.0 context ... 2020-03-28 17:53:39 +01:00
Robert Beckebans
bf59190a7c Tweaked Rust coding style quotation 2020-03-27 18:59:11 +01:00
Robert Beckebans
f0c21ad7a6 Turned FFmpeg on by default for faster development in Debug Build 2020-03-27 18:58:12 +01:00
Robert Beckebans
de1cecabc2 Updated ffmpeg-win64 development files to ffmpeg-4.2.2-win64-dev.zip content 2020-03-27 18:57:04 +01:00
Robert Beckebans
163a31f96c
Merge pull request #455 from coldtobi/fix_sdl2_findpackage
Use SDL2's own find_package, instead of the shipped one.
2020-03-27 14:34:55 +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
fb37d719d5 Merge branch 'vulkan' 2020-03-22 15:29:55 +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
2bcd5e98a8 Version bump 1.3.0 to differentiate from latest public build 2020-03-22 13:51:30 +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
98630cf6ec Deleted cmake configs for VS 2010 and 2012 2020-03-22 12:27:27 +01:00
Robert Beckebans
bcb61ce306 Applied Astyle 2020-03-22 12:23:52 +01:00
Tobias Frost
988420c8f6 Use SDL2's own find_package, instead of the shipped one.
The shipped one has some issues e.g with multiarch support and
breaks there. Newer SDL2 (>= 2.0.4) ships a cmake file which
can be works.

So the downside is that SDL2 version needs to be at least 2.0.4.

(This is only a SDL2 issue, SDL1 is not affected.)
2020-02-23 17:25:24 +01:00
Hugo Locurcio
3f50abbba4
Tweak Muzzle Flashes option casing in the menus for consistency 2020-01-18 18:17:56 +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
4f38ce0633 CMakeLists.txt:
* Added defining VK_USE_PLATFORM_* during CMake configuration, one for
  windows and one for UNIX
  * Fixed a case issue when adding Vulkans include directory
2020-01-01 14:25:38 -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
8938733050 Added Sascha Willems FindXCB.cmake module for finding the XCB library
and headers
2019-12-29 17:07:51 -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
Eric Womer
eeceaba261 neo/CMakeListst.txt:
* setting the c++ standard via add_compile_options caused the setting
    to bleed into the C code, which caused clang to error out the cmake
    configuration, so switched to setting it with CMAKE_CXX_STANDARD.

    Some miscellaneous spacking.

neo/CMakeLists.txt      :
neo/idlib/CMakeLists.txt:
  * Added missing -std=c++${CMAKE_CXX_STANDARD} to the precompiled header
    compile flags since the precompiled header process was custom and
    using CMAKE_CXX_STANDARD didn't set it automatically.
2019-12-28 21:38:39 -05:00
Eric Womer
c3c75004f9 CMakeLists.txt:
* FORCE_COLOR_OUTPUT, force diagnostic color output for clang and gnc
      compiler when using ninja build
  * COMPILE_COMMANDS, force cmake to generate the compile_commands.json file
  * Use set() for setting c++ standard since with clang it bleeds through
      down to C source files causing errors with cmake and can cause other
      issues with C source files and  set(CMAKE_CXX_STANDARD 11) forced
      the use of gnu++11 as the standard.
2019-12-28 14:28:30 -05:00
Eric Womer
62170b3d06 CMakeLists.txt:
Use CMAKE_CXX_STANDARD to specify c++11 compile flags instead of
  hardcoding -std=c++11 since that causes issues with C files,
  specifically with clang [9.0]
2019-12-28 13:20:13 -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
cc3f1a78d3 Applied new Astyle settings to ImGui 2019-11-11 21:02:52 +01:00