645 Commits over 1,461 Days - 0.02cph!
Don't compile shader if they exceed our VFX_MAX_SAMPLERS
Support for multidimentional arrays on vfx
Use HDR fog clipmaps
https://i.imgur.com/0HtWKID.png
Ship compiled Complex with POM
Update lightcookie slices rendering incorrectly when a slice is removed, fix it running 16x times more than needed too
Add parallax to complex, also add lighting offsetting to it
Experiment with a higher clustered mesh volume on map compile
https://cdn.discordapp.com/attachments/837029412892442654/1083673911184597052/image.png
Merge branch 'master' of sbox
Be able to rotate fog volumes
Test transformed AABB for fog visibility tests
Pass world to volume on client, update volumetric_fog_controller helper based on rotated bounds, update fgd
https://i.imgur.com/ZvaA5Wl.png
Recompile fog shader
Fix volumetric lights not working for sunlights, both in hammer viewport and baked light
https://i.imgur.com/BzToOt2.png
Encode tintmask on unused channel of normal map so we don't need a combo to store translucency in Material API
Fix scenesystem generating an incorrect volumetric fog preview when there's no fog volumes in the map
Simplify how baked fog is declared internally and make it much less confusing for end users
Disable baked fog on hammer
Fix temp depth rendertargets hashing incorrectly when changing MSAA setting
Use a capsule rather than sphere for ripplecompute, send velocity data to ripplecompute, makes ripples seem fully connected even in low franerates
Tag r_water_ripples to be removed from engine on next painday :S
Fix intersection flickering in SDF reflections
Make water ripples feel much more natural, fix it exploding
Fix water collision not working, tweak water ripple propagation
Update shaders with NaN fix for directional lightmaps
Bring directional lightmap variable changes to standard shading api
Fix NaN on directional lightmaps
Fix front samples need less taps
Add front facing dof blur
Add options for front/back blur to DofPanel
https://i.imgur.com/z1dbv1X.jpeg
Do inverse fetch for back pass filtering
Remove stuff from renderingworld that's from old renderpipelines ( Old SSAO, Old SSR, Dota Depth Prepass, retinaburn )
Fix shadowing on standard shading model, also fixes shadowing on debug visualizations for custom shaders
https://files.facepunch.com/sam/1b2311b1/Hammer%20-%20%5Buntitled_1.vmap%20_%5D%202023-02-23%2009-56-29.mp4
Remove r_ssr and ssao ref from mapdoc
Make sure we're passing lighting constants to screenspace particles
Don't draw baked fog lighting on hammer, was causing volumetric fog to be drawn twice after compile
Fix how screenspace particles are drawn, just draw them directly rather than allocating another render texture to them
Only show VR overlay for screenspace particles if we're on VR mode, update post_process shader
Fix some stuff and pull reflection compositing changes from SSR branch so we don't need to compile shaders twice when that's merged
Add option to control cubemap feathering
https://files.facepunch.com/sam/1b2211b1/Hammer%20-%20%5Bcube_priority_test.vmap%20_%5D%202023-02-22%2011-53-48.mp4
Fix cubemap reflections debug vis to have correct behaviour, queued by a shader compile
Fix blendable only showing one channel
Cleanup Shader ID preview, add more preview modes to tools UI
Fix CUBEMAP_REFLECTIONS debug view on both material api and valve code, needs a full shader compile
Remove ShaderIDColors list, shader id colors list is generated procedually, add baked lightmapping debug modes to material API
Recompile blendable with latest changes
Darken directional AO results a tiny bit to have better contact
https://i.imgur.com/rLmUM0I.png
Fix most debug views
Fix tangent generation not working correctly for ShadingModelValveStandard, fixes directional lightmaps looking messy on custom shaders
https://i.imgur.com/JlZGHHH.png
Fix remainder of debug vis on Material API shaders
Recompile blendable with debug vis support
https://i.imgur.com/KcF0ZV0.png
Fix shader lightmapping
Update blendable shader
Do downsampling in multiple passes, makes the code simpler, bypasses fuckery with the GPU memory controller and cost is basically the same
Add remaining mip downsample levels
Move objecthighlight shader from code directory to content directory, fixes being able to join multiplayer games
Set maximum of 8 mixed light shadows at once, doesn't impact perf much
Adjust light heuristics
Smooth fade in shadows
Mixed Shadows Rework (#710)
* Remove mixed shadow fading, it never worked properly, we can do it better, increase mixed light shadows limit to 4, remove light evaluation budget
* Support for point light evaluation, let sunlight always have highest evaluation score, debug cleanup
* Let directional AO have falloff that better approximates to inverse square law
* Use 8k shadow atlas by default so that we downsample less often, reenable not casting shadows on point lights, needs more thought
* Have adaptive resolution for mixed shadows
* Recode all mixed light selection heuristics 🍷
* Extract importance calculation to CalculateMixedLightImportance, finish it
* Cleanup, remove rest of old mixed shadows heuristics that is unused now
* Cleanup, do shadow computations every .1 seconds rather than evecry frame
* Do a few visibility tests to see if the light is visibile to an entity and not fully shadowed
* Don't care at all for lights behind us that are not overlapping the player
* Tweak visibility testing, let directional lights go into test rather than just checking if sky is visible
* More cleanup
* Ortho lights trace on backwards direction, do shadow queries from light's perspective
* Do backface culling on ortho lights too
* Last final weighting adjustments
Fix edge vignietting on single pass gaussian blur
Stencil highlights (#701)
* Initial work on stencil glows
* Unbind SetStencilMode, not really needed, add clear with stencil support instead
* Do custom blending to avoid overdraw and set render priority so outlines blend with eachother
* Update shader
* Bind pattern scroll scale to the shader and compile optimized shaer
* Delete older highlight postprocess shader, actually bind clear with stencil support
* Reduce number of iterations on thin lines
* Remove pattern from being assignable in code, let it be done in material instead,
* Use temporary depth-only rendertarget instead of clearing depth, there are effects that still depend on depth on screenspace postproecss stage, allow binding only depth
* Remove standard shading code from highlight shader, doesn't need it at all
* Put highlight shader on the same folder as highlightrenderer, put the old highlight shader on shaders folder so gamemodes that aren't updated don't break
Disable water reflections until Water rework, it's look slowly degraded over time to a point where it's looking worse than if on and taking too much frametime. We'll do it better.
UI Blur with mip chain
Blur the actual mip chain, same number of fetches as doing custom bicubic fetch with mips
Glass refraction texture is already MSAA resolved, we're sampling a non MSAA image :S
Generate mips after resolving framebuffer
Add blurred downsample shader
Remove ui_blur shader, do blur on the single cheap drawcall of the backdrop filter shader 🍷🗿
Single pass downsample
Iterate on single pass blur, use DX11 mipmapper to solve race condition between mip levels
Solve race condition on shader, do both axis sequentially
Deprecate GenerateMipMaps
Move mips generation stuff to Texture.Utils
Cleanup
Let's not break the API, don't use UAV if we don't expect to use Mips
Move GenerateMips back to Graphics since we're in a render block
Move MSAA methods to use MultisampleAmount enum reducing clutter, add summary of DownsampleMethods
Merge pull request #699 from Facepunch/fast-blurs-2
Fast Blurs
Simulate clothes on tick by default
https://i.imgur.com/AHZml3P.mp4
Make custom shaders shared VS code not add bullshit that just goes unused
Implement initial cubemap priority sorting in our cubemap system
Fix tiled light builder adding one garbage envmap to the list
Fix crash due to trying to access invalid prepass layer
Take biggest radius component when passing shape proxies to gpu
Unify alphatested depth prepass stuff to r_depth_prepass, force it to have conservative culling, fixes aliasing on alphatested materials
Fix fallback shaders pointing to their deprecated counterparts, fixes ToolsShadingComplexity for the upcoming debug views refactor
Much better directional ao falloff curve
Use same AO directionality filter path on lightmapped materials to fix backface bleed
Fix remaining .vfx references in code