userSam Pavloviccancel

1,776 Commits over 1,491 Days - 0.05cph!

2 Months Ago
If Graphics.RenderTarget is not overriden, let it return the actual output rendertarget so you can fetch MSAA textures without copy ( you're going to shoot your own balls using this if you dont know what you're doing ) Tiled Frustums Start moving tiled_light_culling to use frusta Iterate frustum tiled culling Near/far tiled frustum planes Very simple ConeIntersect and AABBIntersect
3 Months Ago
Just get rid of F_DISABLE_Z_PREPASS entirely, it's not applicable for users to set it, static overlay uses BoolAttribute( NoZPrepass, true ); directly
3 Months Ago
use default depth_only combo for skin Remove F_DISABLE_Z_PREPASS from shaders except if you want it explicit, remove it from eyeao until we recompile shaders
3 Months Ago
Remove aoproxies ambient occlusion, it never looked too right and it's stupid to have artists authoring them manually, almost no one did I still think SDF AO works better than SSAO in most cases, but they should live as a renderhook and artists don't need to touch anything, the way it is now is very hard to maintain, it could be 10x simpler VrMonitor goes long unused since we removed SceneMonitor & VR Multiview Replace AO on shader with a single, non-directional AO but that composites properly, older shaders wont have incompatibility problems, also makes Dynamic Reflection work without ao AO on lighting pass GTAO stub, remove sdf.hlsl (until we meet again 🫡 ) Iterate gtao
3 Months Ago
Fill up _renderTarget on Graphics Scope so that we can fetch the immediate color/depth textures also without a copy Fetch depth and color directly for DoF so that we can do pixel perfect fetches, start making near dof not shit
3 Months Ago
Fix Depth::GetLinear, be expressive about it for correctness before all, precompute these values later Start fixing up dof https://files.facepunch.com/sam/1b2211b1/ombChoX97P.png Iterate DoF Smooth fade DoF from composite shader Iterate dof, needs cleanup, almost perfect Wave intrinsics to do early out for far dof DoF2 Downsample with bias based on depth, cleanup https://files.facepunch.com/sam/1b0211b1/sbox-dev_rXaN2wxsmC.mp4 Front blur, tweaks Final tweaks, add depth gap for adding an area where u might want more focus https://files.facepunch.com/sam/1b0211b1/sbox-dev_VBIoPeaBWP.mp4 Depth Resolve writes to both channels correctly Final cleanups for dof2
3 Months Ago
Enable autoexposure for other tonemaps https://files.facepunch.com/sam/1b1311b1/sbox-dev_mAXJ3CQmYe.mp4
3 Months Ago
We were multiplying BRDF twice making envmaps look awfully dark https://files.facepunch.com/sam/1b1311b1/E8pK9UTpn4.png
3 Months Ago
Avoid directional lights clipping with world with a reasonable value
3 Months Ago
Ensure proper number of maximum simultanious updates for EnvMapProbe dirty updates Destroy buffers properly when deleting lightbinner
3 Months Ago
Move s_LightList out of singleton to the CLightObjectDesc, make other light-like object descriptors use CUtlVectorFixedGrowable instead of linked list ( trashes the cache while iterating ), all of them should be consistent now, use a single light descriptor for all light types Tiled Culling Renderer buffers shouldn't live in Lightbinner, but instead on CLightCullingRenderer itself since they're rendered per view, so we just reuse that memory, Lightbinners are allocated in a pool, so all that memory was wasted on GPU, remove wasteful copy of binned lights on tiled light callback Don't generate shadow frusta for unshadowed lights Separate shadow generation, both shadow maps and the viewproj we pass, into SetupShadowsForLight in Lightbinner, when we do bindless shadows and lightbinner caching, this is where to look for it Go back to do a copy of current light list for CLightCullVisibilityReadback, callbacks can have latency longer than one frame and that list could change Cleanup, fix mixed logic for shadows Fix lights and their cookies not being able to rotate on roll
3 Months Ago
Add baked lights after dynamic ones
3 Months Ago
Move s_LightList out of singleton to the CLightObjectDesc, make other light-like object descriptors use CUtlVectorFixedGrowable instead of linked list ( trashes the cache while iterating ), all of them should be consistent now, use a single light descriptor for all light types Tiled Culling Renderer buffers shouldn't live in Lightbinner, but instead on CLightCullingRenderer itself since they're rendered per view, so we just reuse that memory, Lightbinners are allocated in a pool, so all that memory was wasted on GPU, remove wasteful copy of binned lights on tiled light callback Don't generate shadow frusta for unshadowed lights Separate shadow generation, both shadow maps and the viewproj we pass, into SetupShadowsForLight in Lightbinner, when we do bindless shadows and lightbinner caching, this is where to look for it Go back to do a copy of current light list for CLightCullVisibilityReadback, callbacks can have latency longer than one frame and that list could change Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView Add lights to lightbinner through CLightObjectDesc::OnSceneObjectVisibleInView instead of LightBinnerStandard::AddLights
3 Months Ago
Add stub GBuffer.hlsl for DepthNormals() mode and move ToolVis to it's own file and class so it's not a mess, aiming to remove ToolVis() mode, S_DISABLE_SPECULAR_HIGHLIGHTS not referenced anywhere
3 Months Ago
Don't add more lights to visible list than the list can permit, this relatively low limit is silly but don't want to break api until frustum tiled cull is here https://files.facepunch.com/sam/1b1011b1/parsecd_CiKjzyScdq.mp4
3 Months Ago
Don't add more lights to visible list than the list can permit, this relatively low limit is silly but don't want to break api until frustum tiled cull is here https://files.facepunch.com/sam/1b1011b1/parsecd_CiKjzyScdq.mp4
3 Months Ago
Lightbinner caching experiment, AddLight still sucks and we need to deal with shadows and faster insertions https://files.facepunch.com/sam/1b1011b1/NkiL7ryaEs.png
3 Months Ago
Revert "Fog Fix (#1661)", causing some slowdown problems, will be brought back shortly This reverts commit f0981cbaf9679a34c219f57cd232a638f60d463f.
3 Months Ago
Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView Add lights to lightbinner through CLightObjectDesc::OnSceneObjectVisibleInView instead of LightBinnerStandard::AddLights
3 Months Ago
Update compiled shaders with relative cubemap luminance
3 Months Ago
Fog Fix (#1661) * Some lightbinner cleanup, allow it to be used directly without the complex system that scenesystem wants * VolumetricFogRenderer has it's own lightbinner outside of lightbinner pool, does lightbinning to fetch fog lights for the fog context only, fixes fog light settings not doing anything, deprecate LAYERFLAGS_NEEDS_FOG_CONTRIBUTING_LIGHTS since we don't need special code for that anymore * Share dynamic shadow atlas if we have more than one lightbinner per view ( for example, fog ), fix volume fog no shadows option, cleanup unused shit * Put fog mode in it's own category and add nice icons to them https://files.facepunch.com/sam/1b0611b1/zwd8qAJFu7.png * These convars don't do anything or are redundant, some notes for tiled rendering in the future * Remove deprecated VR stuff for volumetric fog on rendering pipeline, note for Alex that we can just reproject the frame for eye 2 for cheap volumetric fog rendering, any crumbs will be stripped more when I remove clipmaps * One lightbinner per volumetric fog rather than creating it every frame * Start removing fog clipmap rendering, there are better ways to do this and it's massive * Disable clipmaps on managed code, clean up shader code * Remove VR-specific frustum stuff from volumetric fog * Get rid of redundant data * Separate two passes cleanly, remove accumulation TAA, we'll do a proper big pants one * TAA stub * Fancy volumetric fog taa, move what was on integration step to previous pass, so this has pretty much the same cost and memory footprint as previously but much higher quality * Proper fog TAA with ping-ponging accumulation textures * Iterate fog denoising * Do soft TAA jitter and encode non-final texture to a softer color space so that TAA bbox is also softer * Final cleanup, fix fog density, fix obsolete error
3 Months Ago
Do soft TAA jitter and encode non-final texture to a softer color space so that TAA bbox is also softer Final cleanup, fix fog density, fix obsolete error
3 Months Ago
Some lightbinner cleanup, allow it to be used directly without the complex system that scenesystem wants VolumetricFogRenderer has it's own lightbinner outside of lightbinner pool, does lightbinning to fetch fog lights for the fog context only, fixes fog light settings not doing anything, deprecate LAYERFLAGS_NEEDS_FOG_CONTRIBUTING_LIGHTS since we don't need special code for that anymore Share dynamic shadow atlas if we have more than one lightbinner per view ( for example, fog ), fix volume fog no shadows option, cleanup unused shit Put fog mode in it's own category and add nice icons to them https://files.facepunch.com/sam/1b0611b1/zwd8qAJFu7.png These convars don't do anything or are redundant, some notes for tiled rendering in the future Remove deprecated VR stuff for volumetric fog on rendering pipeline, note for Alex that we can just reproject the frame for eye 2 for cheap volumetric fog rendering, any crumbs will be stripped more when I remove clipmaps One lightbinner per volumetric fog rather than creating it every frame Start removing fog clipmap rendering, there are better ways to do this and it's massive Disable clipmaps on managed code, clean up shader code Remove VR-specific frustum stuff from volumetric fog Get rid of redundant data Separate two passes cleanly, remove accumulation TAA, we'll do a proper big pants one TAA stub Fancy volumetric fog taa, move what was on integration step to previous pass, so this has pretty much the same cost and memory footprint as previously but much higher quality Proper fog TAA with ping-ponging accumulation textures Iterate fog denoising Do soft TAA jitter and encode non-final texture to a softer color space so that TAA bbox is also softer Final cleanup, fix fog density, fix obsolete error
3 Months Ago
Iterate fog denoising
3 Months Ago
Proper fog TAA with ping-ponging accumulation textures
3 Months Ago
Fancy volumetric fog taa, move what was on integration step to previous pass, so this has pretty much the same cost and memory footprint as previously but much higher quality
3 Months Ago
TAA stub
3 Months Ago
Separate two passes cleanly, remove accumulation TAA, we'll do a proper big pants one
3 Months Ago
Remove VR-specific frustum stuff from volumetric fog Get rid of redundant data
3 Months Ago
Disable clipmaps on managed code, clean up shader code
3 Months Ago
Remove deprecated VR stuff for volumetric fog on rendering pipeline, note for Alex that we can just reproject the frame for eye 2 for cheap volumetric fog rendering, any crumbs will be stripped more when I remove clipmaps One lightbinner per volumetric fog rather than creating it every frame Start removing fog clipmap rendering, there are better ways to do this and it's massive
3 Months Ago
Some lightbinner cleanup, allow it to be used directly without the complex system that scenesystem wants VolumetricFogRenderer has it's own lightbinner outside of lightbinner pool, does lightbinning to fetch fog lights for the fog context only, fixes fog light settings not doing anything, deprecate LAYERFLAGS_NEEDS_FOG_CONTRIBUTING_LIGHTS since we don't need special code for that anymore Share dynamic shadow atlas if we have more than one lightbinner per view ( for example, fog ), fix volume fog no shadows option, cleanup unused shit Put fog mode in it's own category and add nice icons to them https://files.facepunch.com/sam/1b0611b1/zwd8qAJFu7.png These convars don't do anything or are redundant, some notes for tiled rendering in the future
3 Months Ago
Fix Depth::GetLinear, be expressive about it for correctness before all, precompute these values later Start fixing up dof https://files.facepunch.com/sam/1b2211b1/ombChoX97P.png Iterate DoF Smooth fade DoF from composite shader Iterate dof, needs cleanup, almost perfect Wave intrinsics to do early out for far dof DoF2 Downsample with bias based on depth, cleanup https://files.facepunch.com/sam/1b0211b1/sbox-dev_rXaN2wxsmC.mp4 Front blur, tweaks Final tweaks, add depth gap for adding an area where u might want more focus https://files.facepunch.com/sam/1b0211b1/sbox-dev_VBIoPeaBWP.mp4 Depth Resolve writes to both channels correctly Final cleanups for dof2
3 Months Ago
Fix perfomance validation warning on depth_only shader, it never produces output from PS, any operations from ps for translucents are clip or discard, D_WRITE_DEPTH_MASKS is never used Strip D_WRITE_DEPTH_MASKS from the rest
3 Months Ago
Fix shadows not showing up on non-scenecamera views like Hammer
3 Months Ago
Allow for multi-bounce reflections on EnvmapProbe
3 Months Ago
Make sure all cubemaps are up to date when loading/unloading mapinstances, cubemaps placed on scene weren't getting updated
3 Months Ago
GPU Shadow Culling light list is stored on camera where it should belong rather than on lightbinner, a lightbinner can be shared across multiple views causing issues, this also guarantees proper lifetime of list since lightbinner pool is only flushed on shutdown https://files.facepunch.com/sam/1b0411b1/sbox-dev_Esvot2kDTb.mp4
3 Months Ago
Depth Resolve writes to both channels correctly Final cleanups for dof2
3 Months Ago
update depth of field scene
3 Months Ago
Final tweaks, add depth gap for adding an area where u might want more focus https://files.facepunch.com/sam/1b0211b1/sbox-dev_VBIoPeaBWP.mp4
3 Months Ago
Front blur, tweaks
3 Months Ago
DoF2 Downsample with bias based on depth, cleanup https://files.facepunch.com/sam/1b0211b1/sbox-dev_rXaN2wxsmC.mp4
3 Months Ago
Disable volumetric fog clipmaps by default, they're fucked right now with massive frame drops and they feel overengineered
3 Months Ago
LatticeDeform stub WIP Lattice Deform https://files.facepunch.com/sam/1b2911b1/sbox-dev_5LFnSp7Xlr.mp4 updated depth of field scene to better benchmark against dof2
3 Months Ago
Wave intrinsics to do early out for far dof
3 Months Ago
Smooth fade DoF from composite shader Iterate dof, needs cleanup, almost perfect
4 Months Ago
Fix Depth::GetLinear, be expressive about it for correctness before all, precompute these values later Start fixing up dof https://files.facepunch.com/sam/1b2211b1/ombChoX97P.png Iterate DoF
4 Months Ago
Internal AfterDepthPrepass hooks CSM doesn't suck anymore Texel snap cascade shadow map matrix so lights never shimmer when you're moving Cleanup Use the frustum from the previous shadow map to cull the current shadow map, m_pLightObject neverr used
4 Months Ago
Transparency Sorting Test Scene