usermattcancel

1,366 Commits over 882 Days - 0.06cph!

4 Months Ago
ShaderGraph fixes
4 Months Ago
Material.AmbientOcclusion float3 -> float
4 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.
4 Months Ago
Light fixes Can use Material and shading without PixelInput
4 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
Terrain Rust terrain and materials
5 Months Ago
Can debug draw Scene.PhysicsWorld with physics_debug_draw
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
5 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
5 Months Ago
Latest compiled shaders
5 Months Ago
Remove debug flex log
5 Months Ago
Don't destroy PVS if it's also used in another SceneWorld
5 Months Ago
Nah that wasn't it + it already does this further down
5 Months Ago
Fix crash when clearing SceneMap worlds, we were setting PVS to nullptr instead of the default pvs
5 Months Ago
Add SceneParticles.SetNamedValue( string name, Vector3 value )
5 Months Ago
Update shader build github workflow
5 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
5 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
5 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.
5 Months Ago
Update renderstate
5 Months Ago
Merge latest rendersystemvulkan changes
5 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
5 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
5 Months Ago
Clean resource names of textures further to not mistake for absolute path
5 Months Ago
Fucked it
5 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
5 Months Ago
Fix Model.Load exception
5 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
5 Months Ago
Clear cache at opportune moments Use NativeResourceCache for other native resources Destroy strong handles on main thread Get rid of debug
5 Months Ago
Give this a go
5 Months Ago
Fix strong handle leak in Texture.FromNative
5 Months Ago
Flush managed rts the same time native wants to, stops those huge temporary vram spikes when resizing scene editor
5 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
5 Months Ago
[pick] Fix Graphics.GenerateMipMaps downsampling an invalid mip at the end
5 Months Ago
Uncomment this stuff with updated vulkan headers 32 bit depth buffer doesn't imply reverse depth Pixel center always 0.5f
5 Months Ago
Initial Vulkan update merge New rendersystem interface bits Base rendersystem updates Sync rendersystemempty w/ public Partial update rendersystemdx11 scenesystem updates rendersystemvulkan bits and bobs Minor glossary of differences we keep with upstream rendersystemvulkan Update thirdparty/vulkan, custom Valve changes Some more shit Can use these vma internals now Keep numStages at 5 for offset calculation (for now) vk: check what depth format is properly supported msaa stuff
5 Months Ago
Fuck all of that actually, just leave a better comment here
5 Months Ago
Make sure intermediate depth matches intermediate output color render target ComputePipelineRenderTargetInfo doesn't care if toolview is false This does the same shit r_textures_list_all - see all resident textures
5 Months Ago
tier0: new memalloc aligned16 accessors CResourceNameGetter inherits CResourceName Don't stub CSceneSystem::SetMainSwapChain in tools, why would we not want SCENE_RTSIZE_FRAMEBUFFER the correct size RenderTarget.GetTemporary uses 32 bit depth when needed fix options.cpp redefinition
6 Months Ago
oops obviously the assetsystem can be null from other contexts
6 Months Ago
When materials compile new textures register them immediately - fixes cases where recompiling the vmat with a new texture would result in a missing texture
6 Months Ago
Turn on volumetric fog on the editor scenecamera
6 Months Ago
Hash fog volumes and update clipmaps when they change
6 Months Ago
Some quick gizmos for the lights and fog volume