241,432 Commits over 3,867 Days - 2.60cph!
Worldmodel LOD consistency WIP
▄▇█ ▄▆▉▊ ▉▍▍▆ ▄ (▍▆▅▄▋▉▋▆▅▍) ▉▉ ▆▍▇▄▋▌ ▍▄▌▋▆▆▌▋▍▄ █▅ ▍▉▅ █▉█ ▍▊▋▅█▍▌ ▅▋▌▌ ▆▆▊▌▄▄▆ ▆▆ ▍▍▅▍_▊▋▌▄▄, ▄█-▋█▌▄▅▅▋▊▍▌ ▅█▍▌▋▋▌▆▍█▌ ▆▇▉▄█ ▋█▊▄▋▄▋█ ( ▄▌ ▇▉▋▌ ▆▊▆▇▋▉) ▅▄ ▍▍ ▄▋▅▊▉▉ ▄▇ ▄▊█▇▍▌▄▅ ▋▉▋▍█.
RenderTools::Draw - stick to instanceid input layout, fixes water and world panels (I'm pretty sure it's the shaders using this wrong, but I'll come back to it)
Make sure fast hotload related error reports are grouped correctly
Failing test reproducing #1087
Gracefully handle NotSupportedException during fast hotload
Fixes #1087
▉█▇█▌▍ ▆▄▉▌▄▋ ▍▊▄▅█->▋▊▄▋▆ ▄▉▍▄ ▋▅▍█▌▆-▊▊▆▅█▋█▇▅▆▆▅
▍▆▊▆█▄ ▌▉█▉▆▍ ▆▅▇▉▄->▄▊▊▊▍ ▍▅▌█ ▍▉▊▊█▍-▆▊▌▄▉▄▆▋▇▄▊▄
Controlling colors from C# sorta works.... but not really
Add props to Surface for impact decal and scrape effects / decals
Use ContactPoint + SurfaceNormal to pass into AddImpactSound
Let's add decals and particle effects for impacts but try only doing it if speed > 30 - maybe we configure this per surface?
Add PhysicsImpact struct and use that to seperate effects for Hard and Soft impacts in Surface description (decals + fx)
Correctly spawn soft or hard physics impact particles + decals based on squared speed
Add normal from first valid manifold on contact to friction events to pass to C#
Enable/Disable physics impacts and scrape events as props for now, pass normal from fiction event to AddFrictionSound and create effects where necessary
Also grab contact center from first manifold and pass to C#
Use contact pos for decals + effects, try to base effect frequency on energy volume scale, fix decal placement remove particles on friction effect stop
Set destroy time to 0.5 (this is a failsafe anyway)
Don't have particles follow entity, do it ourselves so we can set to actual contact pos
Set forward for scrape particles to contact normal
Use method for getting inherited surface values if necessary to avoid repeating same code
Fixed toolgun worldmodel materials all being in the wrong order
▌▄▌▇▉ ▉▄▉▍ ▄▇▌█▄▉-▄▇▊▉▅▄▄▆▋█▌█/▄▉█▍▍_▊▉█▌▆▇▉█
▇▋▅▅▅ ▋▊▄▌ ▊▊▄▋▉_▌█▍▍█▋▍▋
Merge from shader-improvements
Remove all hacks we had for a second shadow atlas for viewmodel shadows
Sharp viewmodel shadows prototype, remove last references to viewmodel atlas
Mixed lights support viewmodel shadows, recalculate frustum to always focus on the best alignment for the viewmodel bbox so it always stays sharp
https://cdn.discordapp.com/attachments/1118902360970899456/1119228713591132230/sbox_0031.mp4
SSAO test for viewmodel
Fix dynamic ambient occlusion not being applied for CalculateDiffuseAmbientOcclusion
Try a few more AO techniques
Composite viewmodel AO, and this should be the right way to do HBAO
Remove nonsense resolution scale stuff in common.fxc that's unreferenced in code and causing problems (defined before system.fxc wtf)
All weapon worldmodels into the testmap
Re-enable VrLightBinnerSingleLightFastPath this is most definitely being used
Hot fix shadergraph, compile dxbc only
Fixed python worldmodel LOD3 being offset
Merge from shader-improvements
Cleaned up stone_trim + ornate
Subtracted
83560 => merge from shader-improvements/merge
Fixed GetGroundInfo missing ocean hits
Fixed GetMaterialAt not supporting ocean hits
Fixed water footsteos spawning at terrain level instead of ocean level
New rendersystemvulkan & vfx_vulkan
RenderTools::Draw handle input layout variation better
Tag rendersystem for Sentry
Use compute shader for bloom on Vulkan & fix uav barriers
::lerp fix for FXC, couple of double layer define fixes
Invalid shader handle checks in CVideoPlayerProvider::PresentYUV420Texture
New PerViewLightingConstantBufferVr_t for Vulkan, remove unused and realign, stop using structs in a cbuffer :x
Lightbinner doesn't need all this dynamic shit, max lights is compiled into shaders
Split lightbinner into legacy and new paths, strip loads of shit that Sam pinky promises me is unused
Fix race for generated hlslvariables file
Added NotEqual option to VertexLit Blended Custom and WaterDrop shaders
Render model thumbnail using the video renderer's first frame
Fix package icons being squashed in asset browser
Merge from shader-improvements/merge
Fixed so instanced rendering will show for entities not in network range
Small refactor
Sync latest from Rust (adds angle constraints)
Refactor primary length keeping for chains to use springs with more parameters for tweaking
Auto update material parameters in the editor for the selected burst cloth gameobject
Fixed shipping_container_skin material missing randomization tint map
█▉█'▊ ▊▇▆ ▉▆▍ "▅▊▇▊▅▆▄▍:" ▍▊▅▊▉▄ ▆▋ ▉██▋▌▅▋▍▌▍ ▄▇▋▍▇ ▋▋▅▆▄▇ ▍▄▊▆▊▊▌ ▌▋▄██▍▌ ▋▄█▄
Updated steam dedicated server files
Fix race for generated hlslvariables file
Add particle package type
Add Asset.UploadVideo
Add particle package type
Video upload api
Fix thumbs not applying to new models
Disable instanced rendering on concrete barricade & sandbag (they have skins)
Added ReflectionMask property to the "Environment Properties" asset to adjust the layers that are included in reflections
Make sure fast hotload related error reports are grouped correctly
Failing test reproducing #1087
Added fluorescent sound buzz when enabled.
Editor console filter (#1085)
https://files.facepunch.com/alexguthrie/1b1911b1/sbox-dev_ULtfmHPA94.png
Flare color fix that got messed up in a Unity crash.
Merge from shader-improvements/merge
New rendersystemvulkan & vfx_vulkan
RenderTools::Draw handle input layout variation better
Tag rendersystem for Sentry
Use compute shader for bloom on Vulkan & fix uav barriers
::lerp fix for FXC, couple of double layer define fixes
Invalid shader handle checks in CVideoPlayerProvider::PresentYUV420Texture
New PerViewLightingConstantBufferVr_t for Vulkan, remove unused and realign, stop using structs in a cbuffer :x
Lightbinner doesn't need all this dynamic shit, max lights is compiled into shaders
Split lightbinner into legacy and new paths, strip loads of shit that Sam pinky promises me is unused
added copious amounts of bird shit to roof_metal_panels_hs blend
made procedural bird shit generator - will add overlays/decals from this shortly
Let -fast disable vfx_vulkan optimizations
Forgot to add the flare to the on state.
On/off functions
Temp file cleanup
WeaponRack lighting rework.
Basic console filtering
Highlight matches
https://files.facepunch.com/alexguthrie/1b0911b1/sbox-dev_RpdUULtu5w.mp4
Also apply filter to logger name
Switch to using filter terms (list of keywords separated by spaces)
Use stringbuilder instead of regex for highlighting
Use .Any instead of .All when checking filter terms
Do filter highlighting in 2 steps to prevent HTML tag contamination
Cleanup
Move filter inline