userSam Pavloviccancel
branchsbox/mastercancel

645 Commits over 1,461 Days - 0.02cph!

Yesterday
Fix typo
Yesterday
Clear volumetric fog texture on creation, this seems to could've caused problems even back on Alyx but issue is bigger now that we don't write to all volumetric fog froxels at once Fix ClearUnorderedAccessViewUint not clearing properly for Texture2DArray and Texture3D
3 Days Ago
Specify .net 9 for shaders.yml Fix sampletexture_bicubic (is anything using it)? Compiled shaders with correct specular brdf
6 Days Ago
Specify setup-dotnet version for shaders.yml
18 Days Ago
Fog TAA + Tiled Rendering * Fixes artifacts * Improves perfomance * Removes Clipmaps * Lights are culled with tiles * Makes fog render until far-z * Removes ghosting * Simplifies codebase a lot
21 Days Ago
Fix vignietting on DoF DoF Blur size is in pixels, make it relative to screen resolution so size is consistent, do uv offset a bit after first sample so there's less shimmer
22 Days Ago
Depth of Field 2 (#1657)
22 Days Ago
Fix messed specular on skin shader that was using old normalization curve https://files.facepunch.com/sampavlovic/1b3011b1/zPO0P1wuPT.png
29 Days Ago
Add Motion.hlsl for motion vectors Add generic TAA filter to Motion.hlsl
44 Days Ago
Remove overriding SkyIndirectLighting to false in hammer maps, a lot of public maps are built without lighting and rely on IBL to have ambient lighting, we don't have a good way to tell if a map has baked lighting on MapLoader, better to just keep this on and let artist elect if they want IBL lighting by themselves
45 Days Ago
Add experimental r_tiled_rendering_conservative_culling so people can play with it, uses near-z approach for tiled culling for even better perfomance, doesn't play well with translucents, will be deprecated when we have two sets of light lists
45 Days Ago
Don't do OnDisabled(); OnEnabled() on Skybox2D dirty but clean up probe cleanly if needed
46 Days Ago
Test tl, tr, bl and br corners instead of updownleftright for cone frustum culling
46 Days Ago
Tiled Frustum Culling (#1669)
46 Days Ago
SkyBox2D Indirect Lighting ( Reflections/IBL ) can be toggled, hammer maps don't expect skyboxes to be used for lighting since it has vrad
49 Days Ago
Apply cubemap normalization properly on flat ambient light Apply subsurface scattering to IBL lighting, looks shit otherwise https://imgur.com/a/yipFu52
49 Days Ago
Fog Fix, allows you to change light settings for volumetric fog specifically and does a massive cleanup, last try of this had some perf issues but should be sorted Squashed commit of the following: commit 4c0d34857bb545c62a83b6b09ef65261dca3ddd8 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Thu Oct 3 18:41:48 2024 +0100 We dont use CLightBinnerStandard::InitForView twice in same view, rename GetLightbinnerStandard from scenesystem to not conflict with views getlightbinnerstandard which has different behavior commit 8f3d1244f38a74525bcba28dc520ae5bf1dd1099 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Wed Oct 2 14:06:40 2024 +0100 Make fog lights buffer persistent with the volumetric fog's lifetime commit 0d5bee31cad9b54fc75e2dbff85accfd03d7b3e1 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Wed Oct 2 13:52:39 2024 +0100 Make sure this is properly inlined to never trash cache commit 5709fcf4b113088c684c095fc08d05fe176f940c Author: Sam Pavlovic <sam@sampavlovic.com> Date: Wed Oct 2 11:46:35 2024 +0100 LightBinner::InitFromParent and disable fog shadows commit 93fa098f5c55bddfa4b3d3261b26b7c9edfc8dd8 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Oct 1 18:01:49 2024 +0100 Some lightbinner cleanup, allow it to be used directly without the complex system that scenesystem wants, remove bRenderFogClipmaps for commit 6f0125fd6ad1bf5512346ffe3c727532a6687cf4 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Fri Sep 6 13:23:03 2024 -0300 Put fog mode in it's own category and add nice icons to them https://files.facepunch.com/sam/1b0611b1/zwd8qAJFu7.png commit 0ff3702c73cf54edddc5dd82b8c54598904fae10 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Fri Sep 6 13:14:08 2024 -0300 Share dynamic shadow atlas if we have more than one lightbinner per view ( for example, fog ), fix light fog strength commit 50170c166dd1cc37d863046aa632a30fb6629860 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Fri Sep 6 12:47:35 2024 -0300 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 Don't update shadows on fog pass, some lights are set to be updated always but should all be fetched from cache
51 Days 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 ) Fix Depth::GetLinear and add Depth::Linearize
2 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
2 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
2 Months Ago
Enable autoexposure for other tonemaps https://files.facepunch.com/sam/1b1311b1/sbox-dev_mAXJ3CQmYe.mp4
2 Months Ago
We were multiplying BRDF twice making envmaps look awfully dark https://files.facepunch.com/sam/1b1311b1/E8pK9UTpn4.png
2 Months Ago
Avoid directional lights clipping with world with a reasonable value
2 Months Ago
Ensure proper number of maximum simultanious updates for EnvMapProbe dirty updates Destroy buffers properly when deleting lightbinner
2 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
2 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
2 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
2 Months Ago
Revert "Fog Fix (#1661)", causing some slowdown problems, will be brought back shortly This reverts commit f0981cbaf9679a34c219f57cd232a638f60d463f.
2 Months Ago
Update compiled shaders with relative cubemap luminance
2 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
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
Disable volumetric fog clipmaps by default, they're fucked right now with massive frame drops and they feel overengineered
3 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
3 Months Ago
Pass rotation to cubemapper so rotated envmap probes captures are rotated the correct way Fix Cubemap Brightness Normalization, uses prefiltered envmap instead of spherical harmonics, fixes overbrightened envmaps in dark areas, and increases overall contrast of envmaps Update transform for skybox envmap
3 Months Ago
Correct curve for static_overlay custom fog blending for fog HDR values above 1.0f https://files.facepunch.com/sam/1b1611b1/pl0WF6eu5Q.png
3 Months Ago
Move albedo chart to bottom right corner, make it scale more aggresively to not take away screen space Add button to toggle albedo chart https://files.facepunch.com/sampavlovic/1b1611b1/CkUDe1JWMc.png
3 Months Ago
Compile shaders with SSR fixes
3 Months Ago
SampleLevel so the two shaders that use lighting.fxc on VS can read it proper, let's also start getting rid of these texture macros Complex Reflections as Devshader
3 Months Ago
Fix truncation warning on shadingmodel.hlsl Fix complex_reflections, remove any dependencies to valve code Use inline reflections for complex Composite SSR always, might create some artifacts but will be dealt with Detangle reflections api and document it Adjustments, fix normals on complex reflections
3 Months Ago
Update shaders
4 Months Ago
Better document lightbinner and add a few asserts Version tiled rendering if we ever make breaking changes to it's structure, makes sure that rendering doesn't break if we upgrade it in the future
4 Months Ago
Fix black cubemap fog on hammer
4 Months Ago
Cubemap Fog can be tinted, takes tint from main skybox as well https://files.facepunch.com/sam/1b3111b1/XWpxvX189A.png sky.shader: g_flBrightnessExposureBias and g_flRenderOnlyExposureBias makes no sense when there's tint, barely any existing skyboxes used it properly Update SkyBox2D component to apply tint to IBL environment probe https://files.facepunch.com/sam/1b3111b1/G0298YogbO.png
4 Months Ago
Terrain_Normal: dY was inverted
4 Months Ago
Reenable terrain specular and recompile it with normal fixes
4 Months Ago
Terrain_Normal calculates world space normals properly now, remove sobel filter to just a simple bilinear https://files.facepunch.com/sam/1b2711b1/qNolcysYRH.png