userSam Pavloviccancel
reposboxcancel

1,889 Commits over 1,612 Days - 0.05cph!

57 Days Ago
DepthNormals mode fallback if shader doesn't have it
57 Days Ago
Update shaders
57 Days Ago
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 Add DepthNormal() mode to lit shaders, this seem the most straightforward way to do this, shaders with just Depth() usually have a shared shader with no-color no-material output, legacy shaders rebuild normals from depth, not rendered in depthnormals mode https://files.facepunch.com/sampavlovic/1b2711b1/hSVL6jr1Rx.png 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
2 Months Ago
Add support for custom I16F color format, a generic grayscale 16-bpp float texture, unlike R16F it'll sample all channels to gray (#1813)
2 Months Ago
Add support for custom I16F color format, a generic grayscale 16-bpp float texture, unlike R16F it'll sample all channels to gray
2 Months Ago
Update shaders Fix implicit truncation
2 Months Ago
Mode fallback / VrForward > Forward (#1805) * Add Mode fallback, used for both using Depth() as a fallback if shader doesn't have DepthNormal() and to move VrForward() to just Forward() * VrForward > Forward, reverse fallback so that old shaders with VrForward use that still * Remove duplicate Forward() and remove DepthNormal fallback * Put mode fallbacks on materialsystem init instead of gameinfo
2 Months Ago
GrabFrameTexture/GrabDepthTexture returns grabbed render target instead of void
2 Months Ago
Use BC7 for default material input, higher precision than DXT5, this whole material input stuff feels like bogus now Make sure we don't composite SSAO/SSR to glass, this can handled better https://files.facepunch.com/sampavlovic/1b2911b1/rcWAoleK3t.png
2 Months Ago
Remove duplicate Forward() and remove DepthNormal fallback Put mode fallbacks on materialsystem init instead of gameinfo
2 Months Ago
Add Mode fallback, used for both using Depth() as a fallback if shader doesn't have DepthNormal() and to move VrForward() to just Forward() VrForward > Forward, reverse fallback so that old shaders with VrForward use that still
2 Months Ago
Reconstruct Normals::Sample from depth if underlying texel doesn't use DepthNormal mode https://files.facepunch.com/sampavlovic/1b2711b1/DdYOdR9WrI.png
2 Months Ago
Add DepthNormal() mode to lit shaders, this seem the most straightforward way to do this, shaders with just Depth() usually have a shared shader with no-color no-material output, legacy shaders rebuild normals from depth, not rendered in depthnormals mode https://files.facepunch.com/sampavlovic/1b2711b1/hSVL6jr1Rx.png 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
2 Months Ago
Bind ClearFlags, this should probably be implicit [Pick] Add Mode fallback, used for both using Depth() as a fallback if shader doesn't have DepthNormal() and to move VrForward() to just Forward() Just use DepthNormalPrepassLayer, use depthnormal mode again [Pick] VrForward > Forward, reverse fallback so that old shaders with VrForward use that still
2 Months Ago
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
2 Months Ago
Make shaders compile with Vulkan 1.2, allows for wave ops instructions used in new SSR, etc Microsoft/DirectXShaderCompiler/wiki/Wave-Intrinsics Bitch when variables are uninitialized in HLSL, can cause all sorts of weird undefined behavior in certain drivers Fix warnings on all shaders, remove D_EYE_WHITE (bullshit?) Avoid sampling diffuse cubemap for fog at lod0 to not have fireflies like in Eagle One Rain Demo
2 Months Ago
Reapply "Bindless lightmaps/Lightmap Combo Removal (#1765)" This reverts commit de7b93d17c7a036a567347794ca51163132ef42a. Reapply BATCH_FLAGS_CONTROLLING_COMBO_CHANGES for legacy shaders, accidentally removed binding lightmap for legacy shaders Initialize vertex output of lightmap uv when lightmapping is disabled Update drivers with bindless lightmaps & amd fix
2 Months Ago
update shaders
2 Months Ago
Initialize vertex output of lightmap uv when lightmapping is disabled
2 Months Ago
Reapply "Bindless lightmaps/Lightmap Combo Removal (#1765)" This reverts commit de7b93d17c7a036a567347794ca51163132ef42a. Reapply BATCH_FLAGS_CONTROLLING_COMBO_CHANGES for legacy shaders, accidentally removed binding lightmap for legacy shaders Build shaders
2 Months Ago
Bindless lightmaps/Lightmap Combo Removal (#1765)
2 Months Ago
Remove Lightmap comborule from shadergraph graphcompiler
2 Months Ago
Remove baked lighting ToolsVis, they're nigh useless for us now, the one we actually use is a near duplicate of Diffuse toolsvis Remove all references to lightmapping combos, they're still available on vertex shader for lightmapping uv input though, PS stubs it out on specialization Start bindless lightmaps & light probe volume Bindless Lightmaps use cbuffer directly for indices instead of setting texture parameters, lightmapping conditionals use constants instead of combos now Bindless Light Probe Volumes Actually bind bindless lightmaps Final adjustments, vertex shaders still use lightmapping combo, take out rest of lightingTerms.vDBG_BakedLighting Spritecard tries to sample lightmaps from vertex shader which isnt what we want, remove dynamic combo rules for lightmaps Bakeresourcehelper which is used on tools has duplicated LPV constants code, make it use same path that's used for bindless Remove BATCH_FLAGS_HAS_BAKED_LIGHTING_FROM_VERTEX_STREAM ( unused ) and BATCH_FLAGS_CONTROLLING_COMBO_CHANGES (bullshit now) Mark bindless lightmaps and LPVs as used, might not be needed but making sure Update shaders with bindless lightmaps
2 Months Ago
Remove BATCH_FLAGS_HAS_BAKED_LIGHTING_FROM_VERTEX_STREAM ( unused ) and BATCH_FLAGS_CONTROLLING_COMBO_CHANGES (bullshit now) Mark bindless lightmaps and LPVs as used, might not be needed but making sure
2 Months Ago
Bakeresourcehelper which is used on tools has duplicated LPV constants code, make it use same path that's used for bindless
2 Months Ago
Overlay is considered a game layer since it draws to color, fixes depth prepass for overlays, remove overlay prepass from renderpipeline_standard
2 Months Ago
CommandList.GetRenderTarget with SizeFactor, don't allocate DepthTexture for it since it's not being used anywhere yet
2 Months Ago
Target > SV_Target0 & out with reflection combo
2 Months Ago
Remove Dynamic Reflections feature from shaders & crumbs from lighting.fxc
2 Months Ago
Remove Reflections.hlsl and both instances of Reflection() mode in our shaders
2 Months Ago
Remove C++ side of Dynamic Reflections, this is becoming a component like SSAO & going to use DepthNormals Remove FramebufferScratchTexture, it was used to fetch a rendertarget over multiple frames easily and only meant to be used on dynamic reflections in native side, our C# RenderTarget is equivalent to it
2 Months Ago
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
2 Months Ago
Use current msaa type when creating a new swapchain for tool widgets instead of using msaa 16X, currently doesn't change when changing settings though
2 Months Ago
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
3 Months Ago
Add Normals.hlsl, with fallback if no depthnormals are available, add Bindless::GetTexture2DMS
3 Months Ago
Pass MSAA value from pipeline, make DepthNormals a dynamic combo instead of a mode, conditional
3 Months Ago
Up TEXTURE_COMPILER_VERSION_MIP_GGXCUBEMAPBLUR version ( Negative cubemap color check )
3 Months Ago
Should be continue rather than break, fix undefined identifier if S_MODE_DEPTH_NORMAL is not set
3 Months Ago
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 [pick] Use current msaa type when creating a new swapchain for tool widgets instead of using msaa 16X, currently doesn't change when changing settings though
3 Months Ago
Some float skyboxes have negative color, don't sample negative values when doing GGX filtering https://files.facepunch.com/sampavlovic/1b1411b1/mspaint_YDO07zEdFf.png
3 Months Ago
DepthNormals mode, uses values directly instead of Material, attach it to ShadingModels
3 Months Ago
DepthNormalPrepassLayer stub, DepthNormal shader class consumes from S_MODE_DEPTH
3 Months Ago
DepthNormalPrepassLayer stub, DepthNormal shader class consumes from S_MODE_DEPTH
3 Months Ago
Spritecard tries to sample lightmaps from vertex shader which isnt what we want, remove dynamic combo rules for lightmaps Build shaders with bindless lightmaps
3 Months Ago
Final adjustments, vertex shaders still use lightmapping combo, take out rest of lightingTerms.vDBG_BakedLighting
3 Months Ago
Bindless Lightmaps use cbuffer directly for indices instead of setting texture parameters, lightmapping conditionals use constants instead of combos now Bindless Light Probe Volumes Actually bind bindless lightmaps
3 Months Ago
Remove baked lighting ToolsVis, they're nigh useless for us now, the one we actually use is a near duplicate of Diffuse toolsvis Remove all references to lightmapping combos, they're still available on vertex shader for lightmapping uv input though, PS stubs it out on specialization Start bindless lightmaps & light probe volume
3 Months Ago
Remove ToolsVis Mode (#1763) * Remove ToolsVis from RenderingPipeline, remove ToolsVis combo, make it toggle through the integer only * Remove ToolsVis() MODES from all shaders 🙏🏻 * Remove ToolsWireframe and ToolsVis from shadergraph template * Legacy ToolsVis isn't even supported, any legacy variable refs to it can go * Compiled shaders with branched ToolsVis
3 Months Ago
Remove ToolsVis from RenderingPipeline, remove ToolsVis combo, make it toggle through the integer only Remove ToolsVis() MODES from all shaders 🙏🏻 Remove ToolsWireframe and ToolsVis from shadergraph template Legacy ToolsVis isn't even supported, any legacy variable refs to it can go Compiled shaders with branched ToolsVis
3 Months Ago
Compiled shaders with branched ToolsVis