usermattcancel
reposboxcancel

1,276 Commits over 913 Days - 0.06cph!

5 Months Ago
Remove r_depth_prepass option, we should always be doing it as part of forward+ Depth class uses the pre-resolved depth chain from the prepass instead of trying to sample an MSAA buffer, which was never working on certain MSAA levels and would've required a combo and loads of extra bullshit to do.
5 Months Ago
Add r_depth_debug to visualize the depth buffer
5 Months Ago
Make `ListView.ItemAlign = Align.SpaceBetween` work better, especially when there's not enough items to fill a row
5 Months Ago
ReflectionSerializedObject properties set their PropertyType
5 Months Ago
Wireframe and ToolsVisMode can be driven per-view by Camera attributes instead of global convars
5 Months Ago
vk: "fix" semaphore hang when recreating swapchains vk: always use D32FS8 for depth buffer
5 Months Ago
ui: flex gap scales
5 Months Ago
Material::Init initializes TextureCoords too
5 Months Ago
Update new shader template
5 Months Ago
Remove stereo multiview instancing from debug menu Add Texture.Update<T>( ReadOnlySpan<T> data ) & Texture2DBuilder.WithData<T>( ReadOnlySpan<T> data )
5 Months Ago
Stop using PixelInput for everything (#1336) * PS_InitFinalCombiner( PS_INPUT ) -> PS_InitFinalCombiner() so it works without COMMON_PS_INPUT_DEFINED - this is just for default values anyway PS_CommonTransformNormal should be wrapped in COMMON_PS_INPUT_DEFINED too * Material shading API can be used without common PixelInput Internals rewritten to remove reliance on a commonly defined PixelInput instead every function just takes what it needs. The only public methods you may have been using were changed like so: ```diff - float3 TransformNormal( const PixelInput i, float3 vNormalTs ) + float3 TransformNormal( float3 vNormalTs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs ) - float3 NormalWorldToTangent( PS_INPUT i, float3 vNormalWs ) + float3 NormalWorldToTangent( float3 vNormalWs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs ) ``` Material::From( PixelInput ... ), ShadingModelStandard::Shade( PixelInput ... ) stil exist but are wrapped in ifdef COMMON_PS_INPUT_DEFINED, so only work with the common PixelInput include. Material::Init() added to initialize a Material with default values Geometric normals are now distinctive from normals in Material too, this is important for the lighting model: https://files.facepunch.com/matt/1b1711b1/beforeafter.png And a lot of tool vis modes were fixed too. * Material.AmbientOcclusion float3 -> float
5 Months Ago
PS_InitFinalCombiner( PS_INPUT ) -> PS_InitFinalCombiner() so it works without COMMON_PS_INPUT_DEFINED - this is just for default values anyway PS_CommonTransformNormal should be wrapped in COMMON_PS_INPUT_DEFINED too Material shading API can be used without common PixelInput Internals rewritten to remove reliance on a commonly defined PixelInput instead every function just takes what it needs. The only public methods you may have been using were changed like so: ```diff - float3 TransformNormal( const PixelInput i, float3 vNormalTs ) + float3 TransformNormal( float3 vNormalTs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs ) - float3 NormalWorldToTangent( PS_INPUT i, float3 vNormalWs ) + float3 NormalWorldToTangent( float3 vNormalWs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs ) ``` Material::From( PixelInput ... ), ShadingModelStandard::Shade( PixelInput ... ) stil exist but are wrapped in ifdef COMMON_PS_INPUT_DEFINED, so only work with the common PixelInput include. Material::Init() added to initialize a Material with default values Geometric normals are now distinctive from normals in Material too, this is important for the lighting model: https://files.facepunch.com/matt/1b1711b1/beforeafter.png And a lot of tool vis modes were fixed too. Material.AmbientOcclusion float3 -> float ShaderGraph fixes Fix
5 Months Ago
ShaderGraph fixes
5 Months Ago
Material.AmbientOcclusion float3 -> float
5 Months Ago
PS_InitFinalCombiner( PS_INPUT ) -> PS_InitFinalCombiner() so it works without COMMON_PS_INPUT_DEFINED - this is just for default values anyway PS_CommonTransformNormal should be wrapped in COMMON_PS_INPUT_DEFINED too Material shading API can be used without common PixelInput Internals rewritten to remove reliance on a commonly defined PixelInput instead every function just takes what it needs. The only public methods you may have been using were changed like so: ```diff - float3 TransformNormal( const PixelInput i, float3 vNormalTs ) + float3 TransformNormal( float3 vNormalTs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs ) - float3 NormalWorldToTangent( PS_INPUT i, float3 vNormalWs ) + float3 NormalWorldToTangent( float3 vNormalWs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs ) ``` Material::From( PixelInput ... ), ShadingModelStandard::Shade( PixelInput ... ) stil exist but are wrapped in ifdef COMMON_PS_INPUT_DEFINED, so only work with the common PixelInput include. Material::Init() added to initialize a Material with default values Geometric normals are now distinctive from normals in Material too, this is important for the lighting model: https://files.facepunch.com/matt/1b1711b1/beforeafter.png And a lot of tool vis modes were fixed too.
5 Months Ago
Light fixes Can use Material and shading without PixelInput
5 Months Ago
Lights don't accept PixelInput - explicitly pass positions / lightmap uvs These should be g_vHighPrecisionLightingOffsetWs instead of g_vCameraPositionWs float4 DoAtmospherics( PixelInput i, float4 vColor, bool bAdditiveBlending = false ) -> float4 DoAtmospherics( float3 vInputColor, float3 vPositionWs, float2 vPositionSs, bool bAdditiveBlending = false ) ShadingModel is never going to be an interface like this TransformNormal, NormalWorldToTangent accept explicit parameters instead of PixelInput PS_InitFinalCombiner( PS_INPUT ) -> PS_InitFinalCombiner() so it works without COMMON_PS_INPUT_DEFINED - this is just for default values anyway Delete DryEraseMarker from common ps code PS_CommonTransformNormal should be wrapped in COMMON_PS_INPUT_DEFINED too Wrap Material funcs that interact with assumed common PixelInput with COMMON_PS_INPUT_DEFINED
5 Months Ago
Lights don't accept PixelInput - explicitly pass positions / lightmap uvs
5 Months Ago
Strip multiview instancing / instancing scalars from engine Remove D_MULTIVIEW_INSTANCING and multiview methods from shaders Remove X360 macros INSTANCING_PARAMS & INSTANCED_SHADER_PARAMS Update system.fxc
5 Months Ago
Strip multiview instancing / instancing scalars from engine Remove D_MULTIVIEW_INSTANCING and multiview methods from shaders Remove X360 macros INSTANCING_PARAMS & INSTANCED_SHADER_PARAMS Update system.fxc
5 Months Ago
Refactor some Graphics files, remove long obsolete methods
5 Months Ago
Add PhysicsWorld debug drawing methods for scenestaging
5 Months Ago
Fix shadergraph error when compiling
5 Months Ago
ResourceControlWidget: Add Open In Editor to context menu Gizmo.SceneSettings.CameraZFar default from 10,000 -> 100,000
6 Months Ago
Get rid of D_MULTIVIEW_INSTANCING combo Revert "Latest compiled shaders" - sunlight shadows are fucked, and are fucked in any new shaders compiled. Not worth me debugging since the new lightbinner doesn't use them and is right around the corner
6 Months Ago
Latest compiled shaders
6 Months Ago
Remove debug flex log
6 Months Ago
Don't destroy PVS if it's also used in another SceneWorld
6 Months Ago
Nah that wasn't it + it already does this further down
6 Months Ago
Fix crash when clearing SceneMap worlds, we were setting PVS to nullptr instead of the default pvs
6 Months Ago
Add SceneParticles.SetNamedValue( string name, Vector3 value )
6 Months Ago
Update shader build github workflow
6 Months Ago
Fix out of bounds write in tiled_light_builder_cs causing nasty undefined behaviour Tiled lighting branches properly, ideally this should be matured enough to not need to be toggled as it's vital to high perf
6 Months Ago
Old envmap code Fix cubemaps always using 1 extra cubemap they shouldn't be (need shader rebuild) Before: https://files.facepunch.com/matt/1b0211b1/sbox_ZJY2zoiVoF.png After: https://files.facepunch.com/matt/1b0211b1/sbox_Gvuv88s1oY.png convolve_environment_map.shader - optimized compile + vk shader
6 Months Ago
Merge latest Valve rendersystemvulkan & rendersystembase changes Primarily this is switching to use VMA, but also dozens of major and minor fixes and general upstream parity with our own changes distinct and clear.
6 Months Ago
Update renderstate
6 Months Ago
Merge latest rendersystemvulkan changes
6 Months Ago
Vulkan BarrierHelper Use barriers for the multipass texture downsampling, this was messing up our depth pyramid making mips look like this: https://files.facepunch.com/matt/1b3111b1/qrenderdoc_bn7FgvAx1n.png
6 Months Ago
Move these procedural layer renderers to not be inline, drop Vr prefix from quad renderer Move tiled light culling to it's own layer renderer ( this should be per-view in the lightbinner really, but I can't touch that right now ) Buffer barriers on the culled lights buffer
6 Months Ago
Clean resource names of textures further to not mistake for absolute path
6 Months Ago
Fucked it
6 Months Ago
IRenderDevice: delete 360 only method GPU Resident Textures debug menu Set debug names for c# loaded images Use schema-less RuntimeTextureSpecificationFlags_t, remove redundant flags
6 Months Ago
Fix Model.Load exception
6 Months Ago
Native Resource Cache Use a sliding window cache alongside weak references for our native resources in C#. There were cases where we were reloading resources every frame because the garbage collector was too good at it's job, so we'll let per frame loads hang around a bit longer. Resolves #1306
6 Months Ago
Clear cache at opportune moments Use NativeResourceCache for other native resources Destroy strong handles on main thread Get rid of debug
6 Months Ago
Give this a go
6 Months Ago
Fix strong handle leak in Texture.FromNative
6 Months Ago
Flush managed rts the same time native wants to, stops those huge temporary vram spikes when resizing scene editor
6 Months Ago
Fix leaked resources when CSwapChainDx11 is resized Before: https://files.facepunch.com/matt/1b1711b1/Taskmgr_mvUnDuMcc1.png After: https://files.facepunch.com/matt/1b1711b1/Taskmgr_fd19SDW3Xa.png CSwapChainVulkan also flushes scratch rendertargets on resize
6 Months Ago
[pick] Fix Graphics.GenerateMipMaps downsampling an invalid mip at the end