558 Commits over 1,247 Days - 0.02cph!
Pass to shader pipeline if we're rendering on skybox, fix glass reprojection being fucked up on skybox
Fix glass not showing properly on tools view
Just set the max swapchain dimension to be the largest monitor dimension again, causes less problems while in tools mode, guarantees we won't have edge problems
Fix glass depth being fetched incorrectly in MSAA levels
Get the dimension of the biggest used axis for calculating swapchain dimensions, fixes FB copies having wrong dimensions on tools, allow texture downsamples to only downsample a region
Let decals do software-based culling, avoids slow copy of the depth buffer just to do redundant culling, that was also causing problems
Fix framebuffer copies taking wrong dimensions
Revert "Don't dispose of temp rendertarget when trying to resolve it again", This needs more thought and was causing problems
This reverts commit 6ee43b38e629221c8b8faa2c43d6eb3fa81f6afb.
Remap parameters from deprecated shaders still referenced in cloud materials
Glass2 (#936)
* Start recoding the glass shader from scratch
* Apply FrameBufferCopyTexture to entire layer rather than batch, fixes some batches returning a null texture
* Let Material API handle translucency opacity properly and accounting for specular, still need to account for tint opacity
* Iterate on new glass
* Randomize shatterglass normals
https://i.imgur.com/8EKzZZ8.mp4
* Add overlay layer and cheap rough refraction
* Downsample framebuffercopytexture to be used when needed
* Translucent shadows for glass
https://i.imgur.com/6KYigbg.png
* Redo downsample shader to work properly without flickering, right now with just gaussian since we don't use any others right now
* Pass downsample method before ComputeRenderablePassesForContext
* Cleanup glass shader, fix VR and Tools preview
* glass.shader_c
* Update glass materials and glass blur range
* Don't dispose of temp rendertarget when trying to resolve it again, GetTemporary gets from dict, fixes multiple ui blur fetches, this solution was causing issues before but seems fine now we're hashing every parameter
* Do 1px feathering on CopyFrameBufferCached to avoid sampling without real intersection
* Remove hacks from GenerateMips, rewrite downsample_cs to support other mip generation methods
* Fix FBCopies showing incorrectly on tools
https://i.imgur.com/1MnEiWe.png
* Fix comment that slipped through experimentation, add more explaination to Cheap Glass and Overlay Layer
Redo downsample shader to work properly without flickering, right now with just gaussian since we don't use any others right now
Don't dispose of temp rendertarget when trying to resolve it again, GetTemporary gets from dict, fixes multiple ui blur fetches, this solution was causing issues before but seems fine now we're hashing every parameter
Do 1px feathering on CopyFrameBufferCached to avoid sampling without real intersection
Remove hacks from GenerateMips, rewrite downsample_cs to support other mip generation methods
Update compiled skin shader with glow-in-dark fixes
Fix specifc shaders github action job referencing from the shader yml
Fix two lobe speculars not normalizing it's brightness (Skin glowing on dark)
https://i.imgur.com/pua5PV8.png
Remove SFM/Dota/Etc stuff from rendering pipeline (#904)
* Initialize lightShades so we don't get undefined behaviour when summing them, should still be mostly stubbed out by the compiler anyway if shadingmodel doesn't use it
* Delete all code, shaders and dependencies from other rendering pipelines
* Rewrite visualize_physics without deferred and deprecated stuff, also fix a bug with depth sorting
* Fix references to old pipelines on remainder of shaders
* Fix debug_sunshadow, update all_shaders list and delete compiled shaders for stuff we don't use anymore
* Remove HSL Grain and old Volumetrics from SFM, note that SFM lights already cast volumetrics in our pipeline without that
* Fix crash on moviedoc on maps with volumetrics
* Revert deletion of debug_sunshadow_vis.vmat
* Put RecoverWorldPosFromProjectedDepthAndRay on shared code
Fix typo VFX_REGISTER_INPUT_TEXTURE > VFX_REGISTER_TEXTURE
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