1,367 Commits over 1,277 Days - 0.04cph!
Backport simple water from SSR branch
Water fog and refraction
Iterate, make WaterRipple a custom sceneobject so we can fetch depth from it and only render when visible
Add ffx_sssr shader headers from SSR branch
Fix AddBlitTextureToTargetLayer not blitting correctly if dimensions are different
Backport Hierarchical Z Downsample and FindOrCreateFrameBufferTexture from SSR branch, clean it up
Use multiview variant for calculating camera direction
Shader objects for VR and high precision lighting fixes
Iterate, make WaterRipple a custom sceneobject so we can fetch depth from it and only render when visible
Fix glass behaviour being transparent when writing screenshots, flags to shadingmodel to fill alpha
Reenable multiview instancing on PS code for now, fixes reflections and lights projecting incorrectly in VR
Fix mixed lights having incorrect behavior when disabing high precision lighting offset, same behavior as before with it enabled
Fix warnings on rendering transparents, LAYERFLAGS_READONLY_DEPTH_STENCIL disables depth access?? Just really needs LAYERFLAGS_DOESNT_MODIFY_DEPTH_STENCIL_BUFFER, remove vr_readonly_depth_stencil_enable since it's pretty redundant
Vulkan compile for wireframe shaders
Set wireframe color as an attribute rather thaan dedicating a whole cbuffer to it, fixes hammer wireframe being dark as well since that data was not being set correctly
Backport simple water from SSR branch
Update citizen aoproxies
Merge branch 'water-backport'
Water fog and refraction
Fix shadows and area lights on vulkan removing unused parameters that were fucking cbuffer alignment
Remove more unused shit from shaders, separate lighting constants between legacy and non legacy in shader code, initialize light code in DoLightShape
Fix errors on light.static.hlsl
Fix mixed shadows blinking black on activation, make them fade properly
Better Viewmodel Shadows (#1119)
Fix stuff from lightbinner cleanup that wasn't carried over and adjust viewmodel shadow offset
update shaders
Cache PVS on scope and do UpdateMixedShadowsComputations as a job, ~10x speed increase, do calculations every 200ms rather than 100
Add Tiled Rendering Quads to debug view list
Fix foliage in VR, let's rethink how we do multiview API later..
Remove all hacks we had for a second shadow atlas for viewmodel shadows
Sharp viewmodel shadows prototype, remove last references to viewmodel atlas
Mixed lights support viewmodel shadows, recalculate frustum to always focus on the best alignment for the viewmodel bbox so it always stays sharp
https://cdn.discordapp.com/attachments/1118902360970899456/1119228713591132230/sbox_0031.mp4
SSAO test for viewmodel
Fix dynamic ambient occlusion not being applied for CalculateDiffuseAmbientOcclusion
Try a few more AO techniques
Composite viewmodel AO, and this should be the right way to do HBAO
Remove nonsense resolution scale stuff in common.fxc that's unreferenced in code and causing problems (defined before system.fxc wtf)
Allow compute on renderpipeline to do multiple dispatches, HBAO as compute,HBAO bilateral blur
Use hammersley rather than bluenoise, looks a ton better
Cleanup, controls for ambient occlusion, do indexed light viewmodel shadows sequentially, cast world shadows on viewmodel
Assign what shadow index a baked light shall read from rather than iterating through the entire buffer and figuring it out, much faster way to do baked light shadows
Proper way to do light indexed on ShadingModel Light API too
Sanity checks, remove debug views and some minor adjustments for viewmodel shadows
Remove last traits of g_flResolutionScale
[pick] remove shaders that don't exist anymore from CI building
Method for getting shadow index for baked light compatible with vulkan
Fix stupid typo, GetShadowIndexForBakedLight compiles fine on vulkan now
Fix another typo and compile core shaders
Fix another typo and compile core shaders
Lightbinner Separation between VK/D3D11 (#1133)
* Add LightBinnerLegacy so we don't kludge our lightbinner with stuff we can't change on d3d, rename our main lightbinner to LightBinnerStandard
* Remove deprecated cbuffers
* Add lightbinner_legacy, separate both lightbinners based on the rendering system we use
Compile glass on vulkan, have proper curve for albedo color absoption for shadows
Add LightBinnerLegacy so we don't kludge our lightbinner with stuff we can't change on d3d, rename our main lightbinner to LightBinnerStandard
Remove deprecated cbuffers
Add ligthbinner_legacy, separate both lightbinners based on the rendering system we use
Fix stupid typo, GetShadowIndexForBakedLight compiles fine on vulkan now
Recompile glass with support for world mapping
Remove msdfgen, been there forever and we never used it for anything, better to implement it in C# if we ever need it
[pick] remove shaders that don't exist anymore from CI building
Method for getting shadow index for baked light compatible with vulkan
Proper way to do light indexed on ShadingModel Light API too
Sanity checks, remove debug views and some minor adjustments for viewmodel shadows
Remove last traits of g_flResolutionScale
Assign what shadow index a baked light shall read from rather than iterating through the entire buffer and figuring it out, much faster way to do baked light shadows
Cleanup, controls for ambient occlusion, do indexed light viewmodel shadows sequentially, cast world shadows on viewmodel
Remove ExtraShaderDataFormat, just have everything uniform
Remove EXTRA_SHADERDATA_FORMAT from shaders too
Remove all hacks we had for a second shadow atlas for viewmodel shadows
Sharp viewmodel shadows prototype, remove last references to viewmodel atlas
Mixed lights support viewmodel shadows, recalculate frustum to always focus on the best alignment for the viewmodel bbox so it always stays sharp
https://cdn.discordapp.com/attachments/1118902360970899456/1119228713591132230/sbox_0031.mp4
SSAO test for viewmodel
Fix dynamic ambient occlusion not being applied for CalculateDiffuseAmbientOcclusion
Try a few more AO techniques
Composite viewmodel AO, and this should be the right way to do HBAO
Remove nonsense resolution scale stuff in common.fxc that's unreferenced in code and causing problems (defined before system.fxc wtf)
Allow compute on renderpipeline to do multiple dispatches, HBAO as compute,HBAO bilateral blur
Use hammersley rather than bluenoise, looks a ton better
Fix glass not compositing translucency properly, also fix area light problems with it
Fix vrad light bounces for blendable
Revert that change to readd structs and do the proper fix
Keep struct in cbuffer layouts for legacy layout
Remove all hacks we had for a second shadow atlas for viewmodel shadows
Sharp viewmodel shadows prototype, remove last references to viewmodel atlas
Mixed lights support viewmodel shadows, recalculate frustum to always focus on the best alignment for the viewmodel bbox so it always stays sharp
https://cdn.discordapp.com/attachments/1118902360970899456/1119228713591132230/sbox_0031.mp4
SSAO test for viewmodel
Fix dynamic ambient occlusion not being applied for CalculateDiffuseAmbientOcclusion
Try a few more AO techniques
Composite viewmodel AO, and this should be the right way to do HBAO
Remove nonsense resolution scale stuff in common.fxc that's unreferenced in code and causing problems (defined before system.fxc wtf)
Allow compute on renderpipeline to do multiple dispatches, HBAO as compute,HBAO bilateral blur
Remove all hacks we had for a second shadow atlas for viewmodel shadows
Sharp viewmodel shadows prototype, remove last references to viewmodel atlas
Mixed lights support viewmodel shadows, recalculate frustum to always focus on the best alignment for the viewmodel bbox so it always stays sharp
https://cdn.discordapp.com/attachments/1118902360970899456/1119228713591132230/sbox_0031.mp4
SSAO test for viewmodel
Fix dynamic ambient occlusion not being applied for CalculateDiffuseAmbientOcclusion
Try a few more AO techniques
Composite viewmodel AO, and this should be the right way to do HBAO
Remove nonsense resolution scale stuff in common.fxc that's unreferenced in code and causing problems (defined before system.fxc wtf)
Composite viewmodel AO, and this should be the right way to do HBAO
Try a few more AO techniques
Fix dynamic ambient occlusion not being applied for CalculateDiffuseAmbientOcclusion