userSam Pavloviccancel

1,997 Commits over 1,581 Days - 0.05cph!

4 Days Ago
Readd disable backface culling
4 Days Ago
Remove exposure bias entirely from colorgrading, uses exposure compensation value from ToneMapLinear instead
4 Days Ago
Make shared postprocess not write to depth; we corrected a behavior that postprocess was using wrong depth buffer ( things like DoF are meant to use it even on PP layer ), but this caused some user PP effects to only be written to skybox when correcting it
4 Days Ago
Do autoexposure before we do postprocessing and use HDR color for it, adjust rate for HDR compensation, adjust autoexposure adaptation scale, fixes autoexposure wobbliness & gives a much better range to it Every tonemap type has exposure bias Remove bullshit RenderState initialization, we get these from the renderer already Clear alpha if we're rendering directly to screen, same behavior as before native postprocess removal Remove Exposure Bias from tonemapper, this doesn't make much sense since it's tied to only HableFilmic and does the same thing as ExposureCompensation
6 Days Ago
Fix GrabFrameTexture sending fixed, wrong number of mipmap levels, fixes validation error
6 Days Ago
Remove Native Postprocessing Squashed commit of the following: commit 477246d2ae28cf22d43eb62f99698bee6cec99c6 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Mar 18 00:08:02 2025 -0300 [pick] Bind all mips for QuarterResEffectsBloomInputTexture, fix bug with lighting on bloom layer commit d8b713b705c54e861056bc6998ee6a92bec82a11 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Mon Mar 17 23:59:49 2025 -0300 Explicit clear flags for ResolveHDRToFinalSDR commit bd47d1cf188196ada6a28019ca50a77d764f2629 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Mon Mar 17 23:44:21 2025 -0300 Remove postprocess methods from toolscene commit 7c543731baadea6be40054d9b930e439de700b28 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Mon Mar 3 13:35:58 2025 -0300 Remove deprecated gaussian bloom blur material commit 6d727c4e7ad5cb2ac00c59ba36b75ddfcfb95409 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Sat Mar 1 11:43:41 2025 -0300 Add Tonemap and VOlumetricFogManifest in RenderingPipeline commit dd050aeb240d66e0d9abef0600145a1a0e5b7f72 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Fri Feb 28 11:26:24 2025 -0300 Resolve to SDR in correct color space commit ecaaf6c6c985bf8b4e524a616b29e8b9fb71f6d8 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 23:07:12 2025 -0300 Removed unused stuff from pipeline commit 85576d476f52f5a282ebec85134708760fce5fa9 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 23:02:06 2025 -0300 Remove msaa_resolve tonemap_resolve too, not used commit 39e1de4d2b060dfbced2870c0ea9919b2e62cf0a Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 22:57:59 2025 -0300 Remove Valve's post_process and gaussian blur shader commit 55ad9e65d8ec43ae3dc9be071004fe5cff3d19f0 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 22:36:01 2025 -0300 Remove all mentions of stage1/stage2, copy HDR intermediary texture back to SDR if formats are different commit 36bc46cfb53d8e649d856240b2c888c21a90bc2d Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 22:13:16 2025 -0300 Get rid of native PostProcessSystem entirely, current components need reimplementation now commit 22707f8ac9566878e659637624e31d733ff3ebc6 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 21:42:52 2025 -0300 Start removing PostProcessingSystem commit 379b55356523496911969018d581b273f1d799d8 Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 21:30:25 2025 -0300 Remove RenderingPipelinePostprocess commit 11f6d48c4a584340faab8640924d8f6e3242610b Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 21:28:03 2025 -0300 Remove stage2 rts from camerarenderer, pointless now, remove parts of postprocess pipeline from it commit 176cedbfd96dec157725fe76662e6bb93cccd7ff Author: Sam Pavlovic <sam@sampavlovic.com> Date: Tue Feb 25 14:23:16 2025 -0300 Remove native postprocessing from renderpipeline UI Overlay comes before AfterUI
6 Days Ago
This should be proper uav barriers for native mipmapgen, fixes another validation error Bloom2 Upgrader for bloom threshold Some RTs do need to be initialized with clear when running from managed code, investigating Downsampler ignores negative values
6 Days Ago
Add -vulkan_validation_error_exit_failure to quit the game with a non-zero error code when a vulkan validation fails for CI
6 Days Ago
ClearUnorderedAccessViewUint handles depth textures properly, fixes validation error when clearing depth textures Don't clear initialize texture if this is a rendertarget, scenesystem already handles it Use RGBA1010102 instead of RGBA8888 for bloom rt, same storage size
8 Days Ago
Bloom2
8 Days Ago
Bind all mips for QuarterResEffectsBloomInputTexture, fix bug with lighting on bloom layer
8 Days Ago
Remove postprocess methods from toolscene Explicit clear flags for ResolveHDRToFinalSDR [pick] Bind all mips for QuarterResEffectsBloomInputTexture, fix bug with lighting on bloom layer
8 Days Ago
👻 Bloom layer 👻 in Bloom2 https://files.facepunch.com/sampavlovic/1b1711b1/i4f9f6CpGL.png
8 Days Ago
Remove native postprocessing from renderpipeline Remove stage2 rts from camerarenderer, pointless now, remove parts of postprocess pipeline from it Remove RenderingPipelinePostprocess Start removing PostProcessingSystem Get rid of native PostProcessSystem entirely, current components need reimplementation now Remove all mentions of stage1/stage2, copy HDR intermediary texture back to SDR if formats are different Remove Valve's post_process and gaussian blur shader Remove msaa_resolve tonemap_resolve too, not used Removed unused stuff from pipeline Resolve to SDR in correct color space Add Tonemap and VOlumetricFogManifest in RenderingPipeline Remove deprecated gaussian bloom blur material
8 Days Ago
DistanceFieldGPU PoC
8 Days Ago
Bloom layer from managed SetGlobal for all command list methods Use ToColorHandle in DepthNormalPrepassLayer Gaussian downsample this bloom layer
8 Days Ago
Use explicit SampleLevel with Mip 0 for LTC lookup, fixes sampling on vertex shaders
11 Days Ago
Little more adjustments to area lights scene
11 Days Ago
Use generated gradients for area lights cookies, good example for texture generators too, looks way better for smoothing things out https://files.facepunch.com/sampavlovic/1b1511b1/UUFm7KN04h.png
11 Days Ago
Use normal to calculate normal direction of capsule light, makes it non-bendy
11 Days Ago
Update area lights scene and test sphere and capsule lights
11 Days Ago
Capsule and Sphere lights Staging https://files.facepunch.com/sampavlovic/1b1411b1/KSdcCVtuz8.png
12 Days Ago
Rectangle Lights (staging) https://files.facepunch.com/sampavlovic/1b1311b1/eSJokK8WWN.png
12 Days Ago
Arealights2 Staging Update shaders
12 Days Ago
Clean up, get API ready, use light shape rect
14 Days Ago
Iterate LTC https://files.facepunch.com/sampavlovic/1b1111b1/7jNhtlWwWu.png
15 Days Ago
Rename legacy tonemapper to linear, upgrade existing ones using legacy to HableFilmic
15 Days Ago
LTC Area Lights experiment Iterate area lights https://files.facepunch.com/sampavlovic/1b1111b1/sbox-dev_hPxsPa4Lmq.mp4
16 Days Ago
Bloom adjustments, use biquadratic for smoother lobe, add bloom test scene https://files.facepunch.com/sampavlovic/1b0911b1/fqAchPQkKt.png
16 Days Ago
Use linear tonemapping curve instead of hable if none of our managed ones are applied, same behavior we'll have on IPostProcessSystem removal
17 Days Ago
Don't do atmospherics on toolsvis wtf Make sure LPVs and lightmaps are resident with highest priority for bindless rendering, same behavior as valve's doing, should solve the texture corruption in hammer maps
18 Days Ago
Ensure depth fast path is using same material similarity for batching, should fix hammer crashes, re-enable depth fast path for prepass
18 Days Ago
Temp revert depth pass optimizations for depthnormal layers to fix hammer crash, looking into it
19 Days Ago
Flag DepthNormal prepass as a depth pass ( scenesystem optimization ) but don't override it's material since we output to color
19 Days Ago
We're putting fullsort on small prepass which isn't what we want, should be only on large prepass
19 Days Ago
Bring back two-pass depth prepass with big/small sorting
20 Days Ago
Iterate from Bloom2 from SceneStaging
20 Days Ago
Can't always imply pView->GetMainViewport() matches swapchain, make it calculate size of swapchain for passing to managed pipeline
20 Days Ago
Compile shaders
20 Days Ago
Shaded Prepass should always have conservative clipping for prepass
20 Days Ago
Bloom2 https://files.facepunch.com/sampavlovic/1b2711b1/FGDhgt0i6B.png https://files.facepunch.com/sampavlovic/1b2711b1/zuIstGTQuO.png https://files.facepunch.com/sampavlovic/1b2711b1/sg0ZpXbsVz.png
20 Days Ago
DepthNormal G-Buffer Rendering Mode (#1766) * DepthNormalPrepassLayer stub, DepthNormal shader class consumes from S_MODE_DEPTH * DepthNormals mode, uses values directly instead of Material, attach it to ShadingModels * Ignore and don't compile combo if it's not referenced by a mode or feature instead of erroring out, e.g. We want to reference DepthNormal.hlsl everywhere in Class.hlsl, but we want to only have combos for it if we're using a DepthNormal mode without complicating the codebase, this way when adding a new mode that references that combo, it's added to the shader without convoluting the source, argue with me if you think this is shit behavior * Temp bind FindOrCreateRenderTarget and use managed rendertarget for depthnormalprepasslayer * Should be continue rather than break, fix undefined identifier if S_MODE_DEPTH_NORMAL is not set * Pass MSAA value from pipeline, make DepthNormals a dynamic combo instead of a mode, conditional * Add Normals.hlsl, with fallback if no depthnormals are available, add Bindless::GetTexture2DMS * Adjustments, Depth Prepass Depth Only under a convar, do depthnormals without size cull threshold * GTAO uses Normals::Sample() instead of recalculating normals from depth https://files.facepunch.com/sampavlovic/1b1711b1/sbox-dev_e5dHGELNmU.mp4 * Bind ClearFlags, this should probably be implicit * Just use DepthNormalPrepassLayer, use depthnormal mode again * Remove old no-normals depth prepass, keeps things simple, effects that we use will need to rely on depthnormals, doesn't add too much cost * Fix typo on gtao * Reconstruct Normals::Sample from depth if underlying texel doesn't use DepthNormal mode https://files.facepunch.com/sampavlovic/1b2711b1/DdYOdR9WrI.png * DepthNormals mode fallback if shader doesn't have it * Pass screen size to managed texture we create for depthnormal gbuffer, dimensions must match the swapchain, which resized viewports don't match * Apply offset when sampling Prepass Normals https://files.facepunch.com/sampavlovic/1b0411b1/dfC5VELlYw.png * Use Depth MODE instead of DepthNormals for DepthNormals * Enable shadow fast pass properly, make it use depth_only shader * update shaders with depthnormal * Shader template uses S_MODE_DEPTH combo
20 Days Ago
Add gamma slider to Bloom2, better threshold control https://files.facepunch.com/sampavlovic/1b0511b1/TxvWZBZWLd.png
20 Days Ago
Downsample does gamma correction if doing gaussian blur, fixes NAN and overbrightening on glass, ui blur and bloom2
20 Days Ago
Bloom2 https://files.facepunch.com/sampavlovic/1b2711b1/FGDhgt0i6B.png https://files.facepunch.com/sampavlovic/1b2711b1/zuIstGTQuO.png https://files.facepunch.com/sampavlovic/1b2711b1/sg0ZpXbsVz.png
20 Days Ago
LTC Area Lights experiment
21 Days Ago
Demote NanoVDB from a GameResource to just a class, we don't handle non-json gameresources well yet
21 Days Ago
Make Blur postprocess much faster while being also higher quality by using mip chain instead of doing gaussian blur inline
21 Days Ago
Add texture barriers for Graphics.MipmapGen, ensures that mips for bloom2 won't be read from the previous frame
21 Days Ago
Move tonemap to commandlist so that it's rendered over postprocesses that uses commandlist