Commit graph

1143 commits

Author SHA1 Message Date
Robert Beckebans
7c3ff6466b Minor cleanup 2021-04-01 14:23:47 +02:00
Robert Beckebans
8f82bb0fb9 Added invertGreen( normalmap.png ) material keyword 2021-03-27 22:17:05 +01:00
Robert Beckebans
9ce36e420a Support angles keyword again for TrenchBroom 2021-03-27 18:36:50 +01:00
Robert Beckebans
97656fb9cf Defaulted r_forceAmbient to 0.4 2021-03-26 18:40:02 +01:00
Robert Beckebans
39facaa1ac Vulkan can handle FMT_R11G11B10F textures 2021-03-26 17:39:04 +01:00
Robert Beckebans
9fae3ccdb2 Vulkan backend compiles again 2021-03-26 13:35:05 +01:00
Robert Beckebans
d9112cd381 Merge branch '497-envprobe-rendertarget' 2021-03-26 11:20:53 +01:00
Robert Beckebans
1f796a1f08 Embedded default HDR light probe data 2021-03-26 10:49:16 +01:00
Robert Beckebans
d5a4dda542 Added console command makeImageHeader 2021-03-26 10:13:42 +01:00
Robert Beckebans
5bbca6f98c Use id Tech 5 multithreading for generateEnvironmentProbes 2021-03-23 21:53:21 +01:00
Robert Beckebans
81905fb735 Delete temporary scene captures after processing 2021-03-23 10:00:38 +01:00
Robert Beckebans
8c397e9463 Bugfixed and flipped environment probe glReadPixels output 2021-03-23 09:36:39 +01:00
Robert Beckebans
2391ba1b43 Implemented GGX Split Sum approximation using a 2D atlas trick 2021-03-22 20:45:25 +01:00
Robert Beckebans
779534626f Added LoadEXR using tinyexr, LoadHDR using stb_image 2021-03-17 21:01:43 +01:00
Robert Beckebans
afae2740bf Fixed unnessary warnings with VS2017 2021-03-15 21:21:56 +01:00
Robert Beckebans
30b88cc197 Ran Astyle 2021-03-15 21:16:11 +01:00
Robert Beckebans
4f55ec094d
Merge pull request #538 from r-a-sattarov/master
tiny improvements and fixes
2021-03-15 21:14:42 +01:00
Robert Beckebans
381424f47b
Merge pull request #527 from infapi00/limit-staging-commands
Staging: add a limit of how many commands to stage
2021-03-15 21:14:04 +01:00
Robert Beckebans
2b28723751 Render environment probes to HDRA16F target 2021-03-14 15:59:02 +01:00
Robert Beckebans
71e2ea9aa3 Added extra rendertarget for environment probes 2021-03-14 13:22:17 +01:00
r-a-sattarov
3e08e14b9e Exclude e2k/arm64/mips64 from the polygonBlock and brushBlock assertions 2021-03-12 22:13:14 +03:00
Robert Beckebans
bb2a5e523c Fixed Valve 220 projections, allow ingame light editor to save it 2021-03-12 18:13:33 +01:00
r-a-sattarov
0f6b6f53b3 sys_defines.h: added various PC architectures
risc-v, sparc
2021-03-11 22:16:24 +03:00
Robert Beckebans
48c2468327 Fixed crash with lightstyles code 2021-03-01 08:10:52 +01:00
Robert Beckebans
05029ab6e4 Use env/UAC2_[amb/spec] probe data as fallback 2021-02-28 19:58:40 +01:00
Robert Beckebans
c47e3057d3 Don't blend AO with IBL in Vulkan for now 2021-02-26 23:17:29 +01:00
Robert Beckebans
a12a4b8352
Merge pull request #521 from infapi00/depthBounds-optional
Make depthBounds optional for the Vulkan renderer
2021-02-26 19:29:25 +01:00
Robert Beckebans
d42762e5ac Merge branch 'master' of github.com:RobertBeckebans/RBDOOM-3-BFG 2021-02-26 19:26:57 +01:00
Robert Beckebans
fb432d6f22 Fixed binary pacifier progress bar with native resolution 2021-02-26 19:26:52 +01:00
Robert Beckebans
c45cee1a70
Merge pull request #530 from runlevel5/patch-2
Exclude PPC64 from the polygonBlock and brushBlock assertions
2021-02-26 19:06:20 +01:00
Robert Beckebans
1c5a1640be
Merge pull request #529 from runlevel5/patch-1
Handle native flag for ppc64 architecture
2021-02-26 19:06:06 +01:00
Robert Beckebans
8a4253a643 Skip r_useVirtualScreenResolution 2021-02-25 19:36:59 +01:00
Robert Beckebans
d394ae186f Replaced DOOM 3 BFG icon 2021-02-25 19:30:07 +01:00
Trung Lê
5762db9b6c
Exclude PPC64 from the polygonBlock and brushBlock assertions
Fixes #528
2021-02-24 11:32:19 +11:00
Trung Lê
5ee6578df0
Handle native flag for ppc64 architecture
PowerPC64 LE and BE or MIPS64 does not regconise `-march` flag, instead the `-mcpu` is used instead
2021-02-24 00:06:59 +11:00
Alejandro Piñeiro
23f27816ad Staging: add a limit of how many commands to stage
Although staging commands can be a good idea from performance pov, it
also means that we are increasing the size of the command buffer,
until the queue submission is set (in most drivers).

For example, when computing the Interactions, staged command buffers
can be easily greater that 15k. This could be a problem with
low-memory devices, like rpi4.

This patch adds a new variable to configure the maximum size of staged
commands. When that limit is reached a Flush is done (similar to the
existing limit on the UploadBufferSize).
2021-02-22 14:04:46 +01:00
Robert Beckebans
6736b288e5 Bugfixed probe indices when changing maps 2021-02-21 11:04:19 +01:00
Robert Beckebans
288359067b Let ingame light editor handle anonymous lights 2021-02-20 19:07:08 +01:00
Robert Beckebans
1f2f6896e1 Merged Quake 1 lightstyle support from Iced-Hellfire 2021-02-20 16:24:45 +01:00
Robert Beckebans
b85db1e865 Merged stuff from Iced-Hellfire-Dev branch, no specular fix 2021-02-20 12:56:24 +01:00
Robert Beckebans
c0376eacaf Merged some smaller bugfixes from Stephen's branch 2021-02-20 12:03:11 +01:00
Robert Beckebans
58607c2cca Changed r_useOpenGL45 default to 1 on Win and updated docs 2021-02-17 20:52:36 +01:00
Robert Beckebans
dd9234cb1b Fixed collision manager to load OBJ files 2021-02-17 17:56:10 +01:00
Robert Beckebans
e85415f0ce Removed Vulkan from default VS2019 Win10 config 2021-02-17 10:09:45 +01:00
Robert Beckebans
a6bf995acc Fixed exportFGD to make func_static dynamic for model loading 2021-02-16 18:36:24 +01:00
Robert Beckebans
7b65cb4959 Added exportFGD models parameter 2021-02-15 23:06:58 +01:00
Robert Beckebans
ac84ab968d Allow dmap to have lights with no names 2021-02-15 19:28:39 +01:00
Robert Beckebans
0c5a6bf301 Added OBJ model support based on IcedTech 1 2021-02-14 16:42:01 +01:00
Robert Beckebans
742624d3ac Added support for the Valve 220 .map format in dmap 2021-02-13 18:46:34 +01:00
Robert Beckebans
99bd1bffb0 Sync with D3 branch from last weekend 2021-02-10 17:42:51 +01:00
Robert Beckebans
19e207b893 Exporting to OBJ also supports .md5mesh now 2021-02-10 17:42:51 +01:00
Robert Beckebans
1867452c40 Export OBJ files along with exportFGD command 2021-02-10 17:42:51 +01:00
Robert Beckebans
4d7468e812 Improved exportFGD command 2021-02-10 17:42:50 +01:00
Robert Beckebans
f35840914c Added cmd to export entity defs to TrenchBroom FGD 2021-02-10 17:42:50 +01:00
Robert Beckebans
96c83075aa Updated RenderProgs_embedded.h 2021-02-10 17:27:28 +01:00
Robert Beckebans
17631b2ab7 Merge branch '497-light-probe-interpolation' 2021-02-10 16:55:21 +01:00
Robert Beckebans
cc44001456 Replaced Motion Blur system option with Filmic VFX 2021-02-10 16:50:29 +01:00
Robert Beckebans
f560ee861b Renamed r_useFilmicPostProcessEffects to r_useFilmicPostProcessing 2021-02-10 16:35:08 +01:00
Robert Beckebans
6cff363845 Defaulted off r_showViewEnvprobes 2021-02-10 16:28:16 +01:00
Robert Beckebans
a0eb203aaf Reorganized HLSL shaders 2021-02-10 16:27:03 +01:00
Robert Beckebans
290caeab79 CMake cleanup 2021-02-10 13:08:22 +01:00
Alejandro Piñeiro
8d9c71763d Don't ask for depthClamp device feature
It is not used at all (VkPipelineRasterizationStateCreateInfo at
RenderProgs_VK.cpp sets it to false), so not asking for it would make
possible to support more drivers (for example, v3dv for the rpi4
doesn't support it).
2021-02-09 12:58:00 +01:00
Alejandro Piñeiro
a0f107ec4a Make depthBounds optional for the Vulkan renderer
This is already the case for the OpenGL renderer. This feature is not
supported by all the Vulkan drivers. For example Mesa ANV with
Coffe-lake (that is relatively recent) or Mesa v3dv (Broadcom) used on
the rpi4.
2021-02-09 12:55:29 +01:00
Robert Beckebans
3b9c2ebd66 Fixed compile issues with Clang 2021-02-04 10:39:52 +01:00
Robert Beckebans
0c21076116 Reverted WriteSwfImageAtlas to write TGA again 2021-01-05 12:40:30 +01:00
Robert Beckebans
62c68d82b9 Precompiled header fix for Linux #511 2020-12-23 21:16:19 +01:00
Robert Beckebans
f1cc837fc4 Corrected call of Sys_CPUCount() in ParallelJobManager 2020-12-23 21:14:10 +01:00
Robert Beckebans
72cf7cef86 Smaller potential crashfixes from SS2 engine 2020-12-23 21:02:38 +01:00
Robert Beckebans
7f168d6415 Merge branch 'mikktspace' 2020-12-21 17:31:11 +01:00
Robert Beckebans
e7e2786b76 Only enable MikkTSpace for new assets 2020-12-21 17:30:47 +01:00
Robert Beckebans
4be8e85fe0 Add octahedron shader to Lua embed manifest 2020-12-21 15:47:41 +01:00
Stephen Pridham
e77801678f Add support for mikktspace 2020-12-19 16:43:45 -05:00
Robert Beckebans
7eeb4d413f
Merge pull request #504 from danieleftodi/487-vulkan-crashfix-macos
Added build scripts for macos
2020-12-09 20:03:53 +01:00
Robert Beckebans
d1fc86ec3c
Merge pull request #501 from r-a-sattarov/master
Support MIPS64 architecture
2020-12-09 20:03:07 +01:00
DEft
b120a8edfb
Add build scripts for macos 2020-12-01 23:28:01 +01:00
Robert Beckebans
2498a17149 Autospawn env probes in the center of BSP areas 2020-11-30 18:27:06 +01:00
Robert Beckebans
05a3e049c5 Hack by BFA to avoid problem with decl load in game thread 2020-11-26 20:40:03 +01:00
r-a-sattarov
a0a8a8670f Support MIPS64 architecture 2020-11-21 21:45:05 +03:00
Robert Beckebans
86ff6cea87 Fixed a problem with octahedron irradiance sampling 2020-11-15 14:01:14 +01:00
Robert Beckebans
b8907b9754 Octahedron mapping hello world in IBL shader 2020-11-14 18:02:07 +01:00
Robert Beckebans
2e580b38ad Some experiments with octahedron probes 2020-11-14 16:04:03 +01:00
Robert Beckebans
a3aeca213d Fixed bugs and missing non-x86 code paths in the DXTEncoder 2020-11-14 12:32:47 +01:00
Robert Beckebans
16631ad1c9 Fixed Vulkan validation layer query 2020-11-12 20:22:11 +01:00
Robert Beckebans
1115feefa7 Vulkan works again with newest SDK 1.2.154.1 on Windows 2020-11-12 10:16:56 +01:00
Robert Beckebans
6eb7925c77 Quadrupled static vertex cache limits for mods 2020-11-10 18:09:04 +01:00
Robert Beckebans
c8af9c3b0e Fixed savegame size problem with some user maps 2020-11-06 17:46:29 +01:00
Robert Beckebans
9349b280cc Applied astyle formatting 2020-11-05 01:32:50 +01:00
Robert Beckebans
57e4c66153
Merge pull request #492 from LWSS/clock-fix
Fix cpu clock-hz inaccuracy on linux
2020-11-05 01:11:11 +01:00
Robert Beckebans
a41c9b2f92
Merge pull request #480 from runlevel5/ppc64le
Support PPC64LE architecture
2020-11-05 01:04:34 +01:00
r-a-sattarov
1a3dfc89c2 E2K: fixed build by MCST lcc compiler when using USE_INTRINSICS=ON
fixed "no suitable conversion function from __m128c to float" error
2020-10-22 21:14:37 +03:00
LWSS
4cd232ca20 GetClockTicks() - keep other arch in mind 2020-10-01 14:59:11 -07:00
LWSS
65f7a305c1 Fix cpu clock-hz inaccuracy on linux 2020-10-01 02:28:58 -07:00
Tobias Frost
c24d1fd4a4 Fix relative include paths, breaking build if systems' libimgui is to be used. 2020-08-25 15:12:27 +02:00
numas13
71dc2bc90b Fix white soft shadows glitch
Assigning an integer to a float variable in HLSL causes undefined behaviour in RadeonSI/MESA.
2020-08-17 23:14:20 +03:00
Robert Beckebans
3960b88cc4 Applied Astyle 2020-07-14 18:42:45 +02:00
Robert Beckebans
eeff8100e0 Merge branch 'master' into PBR2 2020-07-14 18:40:48 +02:00
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
Robert Beckebans
4a6af2d609 Applied new Astyle settings 2019-11-11 20:27:44 +01:00
Robert Beckebans
4ab1bb1821 Changed Astyle config to match Clang-Format output as close as possible 2019-11-11 20:25:31 +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
880667da54 Disabled C++11 until the code is fixed 2019-11-02 19:56:42 +01:00
Robert Beckebans
1173e20412
Merge pull request #439 from r-a-sattarov/master
Force activation С++11 for GCC/Clang/MCST lcc
2019-11-02 19:32:54 +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
Robert Beckebans
a9c2e316b6 Added Experiment to compile GLSL to SPIR-V using shaderc 2019-10-31 15:22:28 +01:00
Robert Beckebans
377562506a Vulkan version compiles again 2019-10-31 13:18:04 +01:00
Robert Beckebans
b8d28c426c Fixed shader loading problems 2019-10-30 18:08:37 +01:00
Robert Beckebans
2c07265be5 Merge branch 'master' into IBL-environment-probes2 2019-10-30 10:38:44 +01:00
Robert Beckebans
e5d1e79cda Added missing ImGui::End() 2019-10-29 17:45:18 +01:00
Robert Beckebans
d333370637 Fixed problems with newest ImGui version 2019-10-28 23:45:13 +01:00
Robert Beckebans
36fecdd783 Updated ImGui to v1.73 2019-10-28 21:46:54 +01:00
Robert Beckebans
4605ae32bd Moved OpenGL specific ImGui code to GL renderer backend 2019-10-28 20:06:10 +01:00
Robert Beckebans
1c9674e931 ImGui integration bugfixes 2019-10-28 15:39:00 +01:00
Robert Beckebans
a3e8b52170 Ported ImGui light editor from OpenTechBFG 2019-10-28 15:39:00 +01:00
r-a-sattarov
a03d827cdf Force activation С++11 for GCC/Clang/MCST lcc
Added GCC/Clang/MCST lcc compiler check for support of C++11 standard and force activation C++11 flag for compile.
E2K: fixed compile for MCST lcc compiler < 1.24 (default C++ standard in 1.23 is -std=c++03).
2019-10-26 19:56:09 +03:00
Robert Beckebans
3709713d79 Solved IBL branch conflicts 2019-10-19 22:51:14 +02:00
Robert Beckebans
a0dfca7596 Fixed CMakeLists missing EnvironmentProbe file 2019-10-19 22:33:02 +02:00
Robert Beckebans
60f330874d PBR metal workflow texture support for IBL 2019-10-19 22:33:02 +02:00
Robert Beckebans
21bdc82d13 IBL indirect lighting test 2019-10-19 22:25:02 +02:00
Robert Beckebans
1e4292e52a Merged LordHavoc's image compression progress bar 2019-10-19 22:22:24 +02:00
Robert Beckebans
e6498e2975 Tweaked HDR/ambient 2019-10-19 22:14:51 +02:00
Robert Beckebans
76555219d4 Tweaked HDR parameters 2019-10-19 22:13:25 +02:00
Robert Beckebans
bd8dedca16 Added ambient pass to make game less dark 2019-10-19 22:11:44 +02:00
Robert Beckebans
85532b9622 IBL envprobes game entity 2019-10-19 21:58:22 +02:00
Robert Beckebans
fac1974f1b IBL envprobes initial render interface 2019-10-19 21:58:22 +02:00
Tobias Frost
092d472a98 Fix relative include path for RenderBackend.cpp 2019-10-15 07:43:24 +02:00
Robert Beckebans
3f7cf5387d Version bump to 1.2.0 2019-10-14 20:11:58 +02:00
Robert Beckebans
6ae887a591 Fixed VS2017 Build 2019-10-14 19:37:15 +02:00
Robert Beckebans
17d34d8562 Updated embedded HLSL shaders 2019-10-14 19:37:01 +02:00
Robert Beckebans
5ca8a97e10 Merge branch 'master' into vkdoom3-merge 2019-10-12 21:14:10 +02:00
Robert Beckebans
eb60a374fe Fixed Linux build under Kubuntu 18.10 2019-10-04 11:56:37 +02:00
r-a-sattarov
21512486dd Added cmake files for VS 2019 support 2019-08-10 20:27:14 +03:00
r-a-sattarov
60bb7be640 E2K: added cmake files for MCST Elbrus CPU support which without intrinsics 2019-08-10 20:13:41 +03:00
r-a-sattarov
abd19e623b E2K: strip UTF-8 BOM for lcc compiler < 1.24 2019-08-10 19:03:39 +03:00
r-a-sattarov
dfa1fc3db7 E2K: added initial support for MCST Elbrus CPU 2019-08-10 18:57:44 +03:00
Robert Beckebans
1e6064518f Fixed a few bugs with GPU Skinning and polygon offsets 2019-01-20 13:32:22 +01:00
Robert Beckebans
9241db812e First changes to fix GPU Skinning with Vulkan 2018-11-04 19:57:53 +01:00
Robert Beckebans
d634243631 Don't convert JSON map files to JSON again. Only .map to .json 2018-11-03 14:36:03 +01:00
Robert Beckebans
49eb54d1ad First time Vulkan can render a map without light interactions 2018-11-03 12:01:03 +01:00
Robert Beckebans
2f8413b2ee The main menu renders with Vulkan 2018-11-02 22:13:15 +01:00
Robert Beckebans
33c7d06871 Renderdoc can finally capture a frame rendered with Vulkan 2018-11-02 16:53:36 +01:00
Robert Beckebans
8cdc4aa99c Try to run with OpenGL 4.5 core profile by default on Windows 2018-11-02 13:35:02 +01:00
Robert Beckebans
1e4b171b8a Implemented r_drawFlickerBox with Vulkan 2018-11-02 11:00:05 +01:00
Robert Beckebans
526138de89 Reset Descriptor Sets from last frame 2018-11-02 10:38:46 +01:00
Robert Beckebans
e324b8a1fd Fixed vkGLSL binding counting 2018-11-02 10:17:53 +01:00
Robert Beckebans
472596a548 DrawElements with Vulkan 2018-11-01 18:12:15 +01:00
Robert Beckebans
5ec3ab6b18 Replaced GL_Cull with the new GL state bits 2018-11-01 16:30:05 +01:00
Robert Beckebans
18a6bf8c6a Set Glslang compile options to reduce compiling overhead 2018-11-01 13:33:24 +01:00
Robert Beckebans
899a283f8b Create Vulkan Pipelines on deman if the render state changes 2018-11-01 12:50:40 +01:00
Robert Beckebans
11ebd3641b Fixed Vulkan Swapchain error messages 2018-11-01 12:14:21 +01:00
Robert Beckebans
80fed3c14a Glslang compiles all RBDOOM shaders to SPIR-V 2018-10-28 16:11:05 +01:00
Robert Beckebans
706c153675 Use GLSlang lib directly to compile GLSL to SPIR-V 2018-10-28 15:46:14 +01:00
Robert Beckebans
0441fff277 Added RenderProgs_VK.cpp for Vulkan specific GLSL/SPIR-V handling 2018-10-28 13:22:36 +01:00
Robert Beckebans
5bb543b4fc .vertex and .pixel shaders renamed for VS syntax highlighting 2018-10-28 11:39:05 +01:00
Robert Beckebans
b8ffe6f6c0 Fixed too bright Bink decoding in HDR mode 2018-10-13 19:46:31 +02:00
Robert Beckebans
0d58f44f30 Big simplification of renderprog management 2018-10-13 18:34:29 +02:00
Robert Beckebans
644cab3d15 Started to move GL specific GLSL stuff to RenderProgs_GL.cpp 2018-10-13 14:42:30 +02:00
Robert Beckebans
5ea900fd61 Simplified renderparms 2018-10-13 13:50:44 +02:00
Robert Beckebans
435637606d Revert "Update rapidjson to trunk (8eaa122c272623ce7963dc7433ba108bc9a9809e)"
This reverts commit 44412e4b2f.
2018-10-13 12:08:18 +02:00
Robert Beckebans
a00828e8f5 Merge branch 'master' of github.com:RobertBeckebans/RBDOOM-3-BFG 2018-10-13 12:02:08 +02:00
Robert Beckebans
a109e9f15c Fixed memory leak typo in ~idCinematicLocal 2018-10-13 12:02:03 +02:00
Robert Beckebans
5483a186d3 First time the renderloop doesn't crash 2018-10-08 12:08:24 +02:00
Robert Beckebans
e9e1347a05
Merge pull request #352 from coldtobi/update_rapidjson
Update rapidjson to rapidjson's trunk and remove examples
2018-10-07 22:06:02 +02:00
Robert Beckebans
822f9be08d
Merge pull request #351 from coldtobi/use_system_rapidjson
USE_SYSTEM_RADPIDJSON -- Use the system rapidjson instead of the bundled one
2018-10-07 22:05:38 +02:00
Robert Beckebans
0ef3fcfe92 Fixed a bug in the Vulkan Swapchain 2018-10-07 17:58:32 +02:00
Robert Beckebans
98a13a2424 Generate vkGLSL if Vulkan is running otherwise GLSL 4.50 2018-10-07 16:42:28 +02:00
Robert Beckebans
4edf8b1c3b Added AMD's Vulkan Memory Allocator library 2018-10-06 17:55:32 +02:00
Robert Beckebans
a8ae629fcf Merged more renderer backend code from vkneo 2018-10-06 17:21:49 +02:00
Robert Beckebans
f180da6f63 Merged more Vulkan code from vkneo 2018-10-05 21:43:55 +02:00
Robert Beckebans
af02ccb9dc Scan GPUs 2018-10-04 00:59:16 +02:00
Robert Beckebans
a7d5c16e0a Vulkan CreateInstance Hello World 2018-10-04 00:30:20 +02:00
Robert Beckebans
a917b8c258 Stubbed out all OpenGL code 2018-10-03 23:40:35 +02:00
Robert Beckebans
bca006b8fc Moved OpenGL initialization to GL backend 2018-10-03 22:05:30 +02:00
Robert Beckebans
3d9f9b75db Deleted almost all OpenGL code from _VK backend files 2018-10-03 21:14:28 +02:00
Robert Beckebans
d115d84980 Merged improved VBO/UBO handling from vkneo 2018-10-02 17:50:51 +02:00
Robert Beckebans
095c68ca5b Moving towards vkneo. Started to stub out OpenGL if Vulkan enabled 2018-10-01 19:07:12 +02:00
Robert Beckebans
a51e3bddfe Link against Vulkan and glslang 2018-10-01 17:50:12 +02:00
Robert Beckebans
13721ec441 Added Vulkan option to CMake 2018-10-01 17:15:25 +02:00
vloup
61d4d6dd36 Fix missed tr_local -> RenderCommon imports. 2018-09-30 22:11:23 +02:00
vloup
1bf4d74710 Fix compilation due to extra static. 2018-09-30 22:11:05 +02:00
Robert Beckebans
5788ae72a0
Merge pull request #420 from MadDeCoDeR/patch-2
Show properly cpu on 64-bit linux
2018-09-30 17:00:08 +02:00
Robert Beckebans
735a925bd3 Merge branch 'vkdoom3-merge' 2018-09-30 15:49:18 +02:00
George Kalampokis
223673da57
Show properly cpu on 64-bit linux 2018-07-08 19:50:13 +03:00
Robert Beckebans
ee4ade8c11 Merge branch 'master' into vkdoom3-merge 2018-06-05 11:49:51 +02:00
Daniel Gibson
6d816579a1 Use libbinkdec to decode bink videos in neo/renderer/Cinematic.cpp
Similar to the ffmpeg integration, but less code (and gets rid of an
external dependency) :)

Also needed a tiny modification of RB_BindVariableStageImage()
to make sure the right shader is used (otherwise it's rendered
in greyscale)

Also added license note for libbinkdec to README.txt
2018-05-06 20:50:50 +02:00
Daniel Gibson
d4b2ac6667 Add libbinkdec to neo/libs/, integrate it in CMake
From http://homepage.eircom.net/~duncandsl/avp/
It's based on ffmpeg, but much easier to integrate (and has a nicer API)

I did some small modifications to make it build on Linux and with VS2013
They're marked with "DG: "
2018-05-06 20:50:41 +02:00
Robert Beckebans
d75169010b
Merge pull request #382 from ensiform/x64-staticvar-fix
Static cvars incorrectly checking against wrong size on 64
2017-11-17 12:02:51 +01:00
Robert Beckebans
5c4764197a com_smp -1 mode for RenderDoc debugging 2017-09-10 17:28:27 +02:00
Robert Beckebans
38bcf14c7b killed globalImages->BindNull(). More cleanups from vkneo 2017-09-10 15:27:31 +02:00
Robert Beckebans
f4dd96e404 Moved tr_backend_rendertools.cpp 2017-09-10 14:16:15 +02:00
Robert Beckebans
2f3169179a Merge branch 'master' into vkdoom3-merge 2017-09-10 13:44:17 +02:00
Robert Beckebans
b3637e8fde Moved tr_backend_rendertools.cpp 2017-09-10 13:43:28 +02:00
Robert Beckebans
a6169afac6 More render backend refactoring. Fixed image stuff 2017-09-10 13:32:44 +02:00
Robert Beckebans
a54612c0be More renderer backend refactoring. DOES NOT COMPILE 2017-09-09 14:57:48 +02:00
Robert Beckebans
c8e3cd9fe2 Merge pull request #372 from rigred/master
Fix sprintf overflows in various locations (gcc 7)
2017-09-03 23:24:47 +02:00