Commit graph

250 commits

Author SHA1 Message Date
Robert Beckebans
0814287639 Updated release notes with screenshots 2021-05-08 11:34:12 +02:00
Robert Beckebans
329d822d32 Show all valid light material textures with editLights 2021-05-06 13:31:58 +02:00
Robert Beckebans
c119cf3513 Several bugfixes that address cubemap processing for SH/GGX data 2021-05-03 20:36:26 +02:00
Robert Beckebans
30373922c3 Optimized bakeLightGrids 2021-05-01 15:59:46 +02:00
Robert Beckebans
5b0a3a8ac8 Merge branch '545-irradiance-light-grid' 2021-04-29 16:33:10 +02:00
Robert Beckebans
dbbcea94c5 Pull request cleanup 2021-04-29 16:32:15 +02:00
Robert Beckebans
0964c02bcf Ran Astyle 2021-04-29 15:20:45 +02:00
Robert Beckebans
b96b085d04 Don't use 1 pixel border for non-lightgrid octahedrons 2021-04-27 14:15:11 +02:00
Stephen Saunders
0aae6f0902 macOS support for OpenGL and MoltenVK, demo recording/playback improvements 2021-04-19 14:32:52 -04:00
Robert Beckebans
03c5e0273b Small bugfixes and r_useHDR 1 is now fixed for OpenGL 2021-04-18 21:20:29 +02:00
Robert Beckebans
884658d6dd Added lightgrid debug shader 2021-04-15 13:11:27 +02:00
Robert Beckebans
99c7d58dc6 Compute irradiance for each light grid point 2021-04-13 17:51:16 +02:00
Robert Beckebans
6decaa2293 Started to bring back the Quake 3 lightgrid as irradiance cache 2021-04-13 15:50:46 +02:00
Robert Beckebans
97656fb9cf Defaulted r_forceAmbient to 0.4 2021-03-26 18:40:02 +01:00
Robert Beckebans
5bbca6f98c Use id Tech 5 multithreading for generateEnvironmentProbes 2021-03-23 21:53:21 +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
2b28723751 Render environment probes to HDRA16F target 2021-03-14 15:59:02 +01:00
Robert Beckebans
8a4253a643 Skip r_useVirtualScreenResolution 2021-02-25 19:36:59 +01:00
Robert Beckebans
c0376eacaf Merged some smaller bugfixes from Stephen's branch 2021-02-20 12:03:11 +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
74d1fc5213 Defaulted r_ignoreGLErrors to 1 2020-07-14 18:37: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
5b56ab3392 r_forceAmbient can be saved and r_antiAliasing 1 is new default 2020-05-15 16:21:48 +02:00
Robert Beckebans
1b3378cb94 Added Vogel Disk Sampling by Panos Karabelas 2020-05-11 23:49:04 +02:00
Robert Beckebans
9931fab681 Improved SSAO performance with Blue Noise 2020-05-10 15:05:46 +02:00
Robert Beckebans
14a331fadd Made ImGui to work with the Vulkan builds 2020-05-04 17:22:51 +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
605944924a Renamed r_useIBL to r_usePBR and fixed r_pbrDebug rendering 2020-04-26 10:38:28 +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
28ad01ab80 Added command makeBrdfLut for testing 2020-04-18 17:08:32 +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
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
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
bcb61ce306 Applied Astyle 2020-03-22 12:23:52 +01:00
Eric Womer
e9ef21ce5c SDL2/Vulkan on Linux, still broken for Doom3BFG 2019-12-30 15:20:15 -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
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
Robert Beckebans
2c07265be5 Merge branch 'master' into IBL-environment-probes2 2019-10-30 10:38:44 +01:00
Robert Beckebans
a3e8b52170 Ported ImGui light editor from OpenTechBFG 2019-10-28 15:39:00 +01:00
Robert Beckebans
e6498e2975 Tweaked HDR/ambient 2019-10-19 22:14:51 +02:00
Robert Beckebans
0ef3fcfe92 Fixed a bug in the Vulkan Swapchain 2018-10-07 17:58:32 +02:00
Robert Beckebans
f180da6f63 Merged more Vulkan code from vkneo 2018-10-05 21:43:55 +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
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
c91f8f4338 Merge branch 'master' into vkdoom3-merge 2017-09-03 10:32:19 +02:00
Robert Beckebans
657b5c02f9 Optimized makeAmbient importance sampling with Hammersley point set 2017-09-03 10:28:23 +02:00
Robert Beckebans
736ccadcb3 Started to move files so it can be compared to vkdoom3 2017-09-03 10:22:36 +02:00
Robert Beckebans
4daffd67c0 Astyle 2017-09-03 09:45:03 +02:00
Darren Salt
01be91c9c8 Fix detection of Mesa >= 17.2.
This handles accelerated drivers (vendor == "X.Org") and software rendering (llvmpipe).
2017-08-09 17:02:35 +01:00
Codes4Fun
3241d08740 Added UpdateStereo3DMode function.
This is to consolidate how we update the glConfig.stereo3Dmode, and to
update it before initializing the framebuffers so that they are
initially allocated correctly and avoid framebuffers getting reallocated
later.
2016-10-24 15:58:43 -07:00
Robert Beckebans
081c848f87 envShot cleanup 2016-07-02 11:24:22 +02:00
Robert Beckebans
30f85f5b46 Merged Steel Storm 2 envShot bugfix by LordHavoc 2016-07-02 11:24:22 +02:00
Robert Beckebans
8f1512dc5e Tweaked HDR tone mapping and linear RGB bugfixes 2016-01-17 12:49:04 +01:00
Robert Beckebans
d50c93f26f Added r_exposure and tweaked lighting 2016-01-14 00:59:41 +01:00
Robert Beckebans
f82b700598 Improved linear RGB lighting and added ACES tonemap 2016-01-13 20:33:16 +01:00
Robert Beckebans
3c9bc63f61 SSGI radiosity blur 2016-01-10 17:20:38 +01:00
Robert Beckebans
d9f9db3b37 Framework for hierarchical depth buffer optimization 2016-01-09 13:38:49 +01:00
Robert Beckebans
94c28fa8ff Working Alchemy SSAO shaders 2016-01-08 19:30:21 +01:00
Robert Beckebans
08c7b35fd1 Normals-only G-Buffer for screen space effects 2015-12-31 18:11:34 +01:00
Robert Beckebans
5846953302 Fixed missing multiSamples initialization for OpenGL. #276 2015-12-30 19:28:14 +01:00
Robert Beckebans
e2e4295556 Replaced r_multiSamples with r_antiAliasing to switch between SMAA, MSAA ( and TXAA future) 2015-12-30 12:07:24 +01:00
Robert Beckebans
6aa87784a3 Tweaked HDR/ambient 2015-12-25 12:03:59 +01:00
Robert Beckebans
ad0ff8ec8d Tweaked HDR/ambient 2015-12-24 18:47:16 +01:00
Robert Beckebans
5556231d71 Tweaked HDR parameters 2015-12-24 18:47:16 +01:00
Robert Beckebans
6c4ebf6a75 Added ambient pass to make game less dark 2015-12-24 18:47:16 +01:00
Robert Beckebans
da7eedf04d Added filmic post process effects 2015-12-23 13:53:21 +01:00
Robert Beckebans
5e2f7375ac Tweaked chromatic burning bloom 2015-12-22 17:53:18 +01:00
Robert Beckebans
2d8a0b3536 Tweaked tone mapping and implemented r_hdrDebug view 2015-12-21 11:39:19 +01:00
Robert Beckebans
37005ba506 64 bit HDR with adaptive tone mapping ported from XreaL 2015-12-20 12:28:46 +01:00
Robert Beckebans
1c14ab2db9 Changed extension check for GL_ARB_framebuffer_object 2015-11-23 14:42:01 +01:00
Robert Beckebans
be030e5548 Workarounds for Mesa. closes #256 #245 2015-11-23 14:01:59 +01:00
Robert Beckebans
395ef525b1 Tweaked shadowmap bias to fight shadow acne 2015-03-19 01:27:44 +01:00
Robert Beckebans
0722718307 Disabled GPU Skinning for Mesa driver #187 2014-11-12 12:39:53 +01:00
Robert Beckebans
d295a6aea9 Disabled usage of OpenGL 3.2 compatibility profiles for Linux #187 2014-11-12 12:34:07 +01:00
Robert Beckebans
6a906704c5 Made GL_ARB_multitexture exception for OpenGL core profiles and Mesa #189 2014-11-09 11:24:37 +01:00
Robert Beckebans
ce0e83ebca Merge pull request #160 from BielBdeLuna/envshot
Envshot and cubemap to skymap transforms
2014-08-25 17:17:47 +02:00
BielBdeLuna
fc7ed840bc astyle and other wonderbar stuff! 2014-08-25 15:25:54 +02:00
BielBdeLuna
fedaf6b691 envshot and others working 2014-08-24 00:10:50 +02:00
Robert Beckebans
9147482a37 Added check for Gallium drivers to use GLSL ES 3.00. #137 2014-08-20 13:07:59 +02:00
BielBdeLuna
d7345d6168 envToSky not working yet 2014-08-20 12:12:01 +02:00
BielBdeLuna
095cf836c6 screen shots are PNG and envshots are TGA, but still envshots come out somewhat wrong 2014-08-19 11:35:50 +02:00
BielBdeLuna
706d98f24c now envshot does the target renderers at a proportionatesize and unskewed, but still the first of them fails. 2014-08-18 03:38:55 +02:00
BielBdeLuna
71b26cf128 envshot working but not correctly 2014-08-16 23:20:46 +02:00
Radegast
0ae98f62c4 It's no fun without textures. #87 2014-05-18 23:49:03 +01:00
Radegast
812fb78d52 Initial OS X support. #87 2014-05-18 23:14:28 +01:00
Robert Beckebans
185f2aaf90 Disabled some GL_CheckErrors() calls that can be a slowdown 2014-05-18 15:17:15 +02:00
Robert Beckebans
63add75e7f Disabled MSAA 16x option which is a performance killer in combination with shadow mapping 2014-05-16 23:57:17 +02:00
Robert Beckebans
54c31bff8f Fixed r_shadowMapJitterScale for Poisson disc algorithm 2014-05-16 22:32:56 +02:00
Robert Beckebans
c17773306c Revert "Changed r_useShadowMapping 1: medium+faster, 2: high quality"
This reverts commit 87b0040f92.

Conflicts:
	neo/renderer/RenderSystem_init.cpp
	neo/renderer/tr_backend_draw.cpp
	neo/renderer/tr_local.h
2014-05-16 21:50:49 +02:00
Robert Beckebans
ef9869972d Improved shadow mapping performance using randomly rotated Poisson discs 2014-05-16 21:33:39 +02:00
Robert Beckebans
e0c8243ee7 Make high quality shadow mapping the default 2014-05-16 00:22:34 +02:00
Robert Beckebans
87b0040f92 Changed r_useShadowMapping 1: medium+faster, 2: high quality 2014-05-16 00:14:42 +02:00
Robert Beckebans
cd3ed5a927 Sacrificed texture bias option for shadows option. fixes #109
We can't add new graphics options without altering the original Flash menu
files which we don't have. I disabled the r_lodBias functionality which
can make the game look worse by adding a bias to the texture lookup
functions which cause choosing texture mip maps that are smaller than the
original image size in every view even though we want the first mip map
level 0 which is the best quality.
2014-05-15 23:46:53 +02:00
Robert Beckebans
e13fc0f4e9 Added cvar r_useHalfLambertLighting to make it optional, it requires reloadShaders 2014-05-15 16:37:55 +02:00
Robert Beckebans
42874cfd05 Added graphics option to make soft shadows optional 2014-05-15 12:14:37 +02:00
Robert Beckebans
0eaaea4b96 Improved shadow mapping performance using the shadow LOD and tweaked
polygon offsets to fight shadow acne
2014-05-11 22:30:01 +02:00
Robert Beckebans
5153422d0d Added shadow LOD calculation 2014-05-11 17:24:24 +02:00
Robert Beckebans
5c0fedf190 Patched GLEW to get the extensions with OpenGL >= 3.2 for the case that glGetString(GL_EXTENSIONS) fails 2014-05-11 12:19:10 +02:00
Robert Beckebans
f72d98a1eb Disabled shadow mapping for Mesa drivers fixes #103 2014-05-11 11:49:14 +02:00
Robert Beckebans
11456a231d Changed Mesa backend to output GLSL ES 3.00 in order to support shadow mapping 2014-05-11 11:30:56 +02:00
Robert Beckebans
14f87fe9db Added support for loading .png image files as textures and changed screenshot command to write in .png format 2014-05-10 18:15:33 +02:00
Robert Beckebans
277964f074 Because I can :)
- Implemented soft shadows using PCF hardware shadow mapping

  The implementation uses sampler2DArrayShadow and PCF which usually
  requires Direct3D 10.1 however it is in the OpenGL 3.2 core so it should
  be widely supported.
  All 3 light types are supported which means parallel lights (sun) use
  scene independent cascaded shadow mapping.
  The implementation is very fast with single taps (400 fps average per
  scene on a GTX 660 ti OC) however I defaulted it to 16 taps so the shadows look
  really good which should you give stable 100 fps on todays hardware.

  The shadow filtering algorithm is based on Carmack's research which was
  released in the original Doom 3 GPL release draw_exp.cpp.

- Changed interaction shaders to use Half-Lambert lighting like in HL2 to
  make the game less dark

- Fixed some of the renderer debugging/development tools like r_showTris
2014-05-10 14:40:01 +02:00
RobertBeckebans
60ccf3567b Merge branch 'master' into glew 2014-04-25 20:24:30 +02:00
Robert Beckebans
d326d49cf0 Merge pull request #93 from dekadenZ/fix-renderer-string-cmp
Fix length error in prefix comparison
2014-04-25 11:07:12 +02:00
dekadenZ
20e5cf5ae2 Fix length error in prefix comparison 2014-04-25 02:39:49 +02:00
RobertBeckebans
8018378c3c Merge branch 'master' into glew
Conflicts:
	neo/renderer/OpenGL/glext.h
	neo/renderer/OpenGL/qgl.h
	neo/renderer/OpenGL/wglext.h
	neo/renderer/RenderProgs.cpp
	neo/renderer/RenderProgs_GLSL.cpp
	neo/renderer/RenderSystem_init.cpp
	neo/renderer/tr_backend_draw.cpp
	neo/sys/win32/win_qgl.cpp
2014-04-21 15:01:50 +02:00
RobertBeckebans
b0b0d8ed76 gfxInfo Typo 2014-04-20 17:55:03 +02:00
Robert Beckebans
a8cda090c1 Disabled timing queries when using the Mesa driver #90 2014-04-20 17:50:37 +02:00
Robert Beckebans
3b19aa7991 Added glConfig.vendorType settings for Linux and disabled unused shaders. #90 2014-04-20 17:20:50 +02:00
RobertBeckebans
cce21e0d76 Added GLSL ES 1.0 backend for Mesa drivers #90 2014-04-20 16:29:58 +02:00
Andreas Bergmeier
f66591f244 Force format invocations to be correct (on gcc and clang) and fix them. 2014-02-23 19:16:23 +01:00
Robert Beckebans
573905e295 Compile fix 2014-01-09 17:53:30 +01:00
Robert Beckebans
7690fb4b8e Merge branch 'master' into glew
Conflicts:
	neo/renderer/OpenGL/glext.h
	neo/renderer/RenderSystem_init.cpp
2013-12-24 15:49:06 +01:00
Jonathan Young
bb2e41b5d7 Added r_useVirtualScreenResolution cvar to control whether to do 2D rendering at 640x480 and stretch to the current resolution (default), or render at the current resolution. 2013-09-21 22:12:42 +10:00
Jonathan Young
b3983e582a astyle 2013-09-21 19:37:12 +10:00
Jonathan Young
a1776a22d0 r_vidMode sanity check was off by 1. 2013-09-18 12:39:31 +10:00
Daniel Gibson
9372fddabb Fix compile when system GLDEBUGPROCARB signature is without const
.. by just casting our DebugCallback to GLDEBUGPROCARB.
It shouldn't make a difference ABI-wise, if there is a const at
a parameter or not.

Fixes #61
2013-08-31 19:23:45 +02:00
Robert Beckebans
d3ddf61d9c Changed signature of GLDEBUGPROCARB to match OpenGL GL_ARB_debug_output specs 2013-08-29 09:38:52 +02:00
Robert Beckebans
fe22638fdd Merge branch 'master' into glew and fixed a crash on Intel HD drivers 2013-04-23 00:43:00 +02:00
Robert Beckebans
c038a836f2 Merge branch 'master' into glew 2013-01-14 17:33:25 +01:00
Daniel Gibson
d6c32cd49b Support resizing windows + improve fullscreen for SDL2
By implementing GLimp_SetScreenParms() and enhancing the
event handling
2013-01-04 14:40:35 +01:00
Daniel Gibson
876aa96637 Fix messed up view angle after taking screenshots
Pretty much like https://github.com/dhewm/dhewm3/issues/18
but here it took some more changes
2012-12-23 06:43:20 +01:00
Robert Beckebans
dd9b8a8710 Added support for precompiled headers for MSVC which reduced the compiled time from 4 minutes to 67 seconds. 2012-12-22 16:18:19 +01:00
Robert Beckebans
ff531907c7 Replaced QGL with GLEW. 2012-12-17 17:30:59 +01:00
Robert Beckebans
d7888cf99d Added support for SDL 2.0 2012-12-14 19:03:30 +01:00
Robert Beckebans
8b8cfe7d25 Small changes to pthreads. 2012-12-14 13:10:52 +01:00
Daniel Gibson
67d6a5a1fa Make sure SDL_Init() was called before SDL_VideoInfo()
by adding GLimp_PreInit()
2012-12-14 00:51:22 +01:00
Robert Beckebans
86deed26b8 Merged 64 bit fixes. 2012-12-12 12:11:55 +01:00
Daniel Gibson
9eeea7adf3 Fix tons of compiler warnings
mostly -Wreorder, use const char* instead of char* for "static strings",
fix inappropriate usage of NULL (e.g. instead of '\0' or (int)0)
2012-12-11 23:57:05 +01:00
Robert Beckebans
a1730fa430 Supplemented Linux backend with missing functions. -> [100%] Built target RBDoom3 on Kubuntu 12.10 2012-12-11 23:17:23 +01:00
Robert Beckebans
3b0dabe30a Formatted code. 2012-12-08 18:20:13 +01:00
Robert Beckebans
948865123d More Linux specific fixes, especially 64 bit 2012-12-07 17:06:44 +01:00
Robert Beckebans
f55a763ca4 Formatted code using Artistic Style for better readability. 2012-11-28 16:47:07 +01:00
Brian Harris
5016f605b8 Initial commit 2012-11-26 12:58:24 -06:00