2 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