1,728 Commits over 1,491 Days - 0.05cph!
Start work on new base shader, remove old emissive combos
Accidentally removed ripple collision, let's put it back
Merge branch 'master' of sbox
Merge branch 'master' of sbox
Tweak ripplecompute, clamp collision and ripple size
Fix missing summary tag close on ScenePortal
Better way to do ripples for moving water surfaces
https://i.imgur.com/xWvwdAg.mp4
Refactor water, allow for moveable surfaces
Add ripples simulation forces for moveable water
https://cdn.discordapp.com/attachments/834319259458994216/958656107813941258/sbox_0054.mp4
Clamp water xRes and yRes to not overflow dynamic vertex buffers, allows for water bodies of any size, revisit for env_sea
Fix reflection vector on simple reflections
Fix underwater caustics
Pass Time.Delta to shader parameters
Fix water collisions being wonky
Minor tweaks on water
Add surface roughness slider to water
Simulate ripples on bullet impact
https://imgur.com/a/8eGjZdj
Don't use nullable for water properties, set default value instead
New ripple simulation with collisions
Add drag to fluid simulation and collisions
Cleanup ripplecompute and how ripples are added
Fix seamless entry on water, better water caustics, remove options for tesselation other than on/off, iterate on waves
Cleanup hull base shader
Cleanup ripple collision and propagation
Adjust ripple strength
New underwater surface method
Port eyeball shader to use our shared code, fixes clip planes on water
Add fog support to water surface, cleanup
Clamp radius of water directly on C# side, send D_VIEW_INTERSECTION combo
Put water combos right into place, upload water shader objects (including ripple)
Propagate ripple by framerate, fixes it slowing down on low framerates
Don't put r_water_ripples inside RippleCompute.cs, breaks when pushing it to shader
Add render bounds for water, only render water if we are are looking at it's bounds
Use two tone fog by default on test water
Push latest water shader objects
New ripple simulation with collisions
Add drag to fluid simulation and collisions
Cleanup ripplecompute and how ripples are added
Fix seamless entry on water, better water caustics, remove options for tesselation other than on/off, iterate on waves
Cleanup hull base shader
Cleanup ripple collision and propagation
Adjust ripple strength
New underwater surface method
Port eyeball shader to use our shared code, fixes clip planes on water
Add fog support to water surface, cleanup
Clamp radius of water directly on C# side, send D_VIEW_INTERSECTION combo
Put water combos right into place, upload water shader objects (including ripple)
Propagate ripple by framerate, fixes it slowing down on low framerates
Don't put r_water_ripples inside RippleCompute.cs, breaks when pushing it to shader
Faster, much better water caustics
Simulate wind ripples on water, increase offset, make underwater fog blend seamless with edges and view
Add seamless entry to water, fix splash and ripple height
Iterate underwater fog
Water cleanup
Send blank info about splashes to GPU if we have no new ripple force to simulate
Add two tone fog
Fix refraction ray on water
New normal sampling method for water, other fixes
Finish overwater surface rewrite, optimize normal function even further
Readd horizon aliasing reduction to new normal method
Only clamp to AABB in RippleCompute if our computing radius is big enough
Disable debugview on water
Squashed commit from water-refactor2
Fix syntax errors cauased from merge due to refactors
Get WaterSceneObject & RippleCompute on the refactored API
bInMonitorLayer no longer used, calculation of what was used for it is now in rendergamesystem
Fix non-viewmodel entities being invisible
Add RenderTargetSize to ScenePortal
Fix assertions when trying to copy depth texture in some rare occasions
Flush our scratch render targets on the moment we first initialize the gameso that it matches the size of the main window
When running on tools mode at least, the game will allocate a scratch render target the size of the monitor, rather than of the running viewport until we resize the window, this causes problems on effects that use framebuffer grabbing, and should save us VRAM space by having the texture not overscan
Update PlanarReflection API with reflection direction
Simplify water input
Fix underwater top surface being rendered twice, use hardware alpha for underwater fog blending, more refactoring
Iterate on underwater pass of water, start adding refraction to it, major cleanup
Add a blank slice after the renderer has initialized when trying to add first lightcookie slice
Remove high quality shadows
Remove game specific attributes recording
Merge branch 'water-refactor3' of sbox
Render AO on dynamic objects, don't render it on monitors
Refactor aoproxy code, add stub for cylinder aoproxy shape
Aoproxy_splat objects
Render AO on dynamic objects, don't render it on monitors
Refactor aoproxy code, add stub for cylinder aoproxy shape
Flush our scratch render targets on the moment we first initialize the gameso that it matches the size of the main window
When running on tools mode at least, the game will allocate a scratch render target the size of the monitor, rather than of the running viewport until we resize the window, this causes problems on effects that use framebuffer grabbing, and should save us VRAM space by having the texture not overscan
Flush our scratch render targets on the moment we first initialize the gameso that it matches the size of the main window
When running on tools mode at least, the game will allocate a scratch render target the size of the monitor, rather than of the running viewport until we resize the window, this causes problems on effects that use framebuffer grabbing, and should save us VRAM space by having the texture not overscan
bInMonitorLayer no longer used, calculation of what was used for it is now in rendergamesystem
Fix non-viewmodel entities being invisible
Squashed commit from water-refactor2
Fix syntax errors cauased from merge due to refactors
Get WaterSceneObject & RippleCompute on the refactored API
Update sceneobject flags, remove VR_ prefix
Delete a bunch more code from other games and remove their rendering pipeline flags
Fix aliasing on DoF, remove unneeded passes
Initial work on dof rewrite
Iteration on DoF rewrite
Fix aliasing on DoF, remove unneeded passes
Render objects hidden in first person on monitors, render player's own reflection on water, make it easier to programatically set up default values on layers
Much better way to handle hide in first person
Fix RippleCompute under latest changes
Add horizon aliasing reduction for water
Merge branch 'water-rework' into water-refactor2
Refactor how mixed baked lights are calculated to later support multiple lights at once
Removed unused lightbinner that was mostly just duplicated code
Fix data structure of light info compute buffer to support multiple baked mixed shadows and cleanup
Reorder data structure, give support to more than 2 cascades for mixed lights, add vignietting for shadows on multiple static lights at once
Up our shader ABI, document changes, and rename elements of that enum to better clarify
Make lighting data structure from shader match what's on cpu side
Multiple mixed shadows support, fix sunlight bugs with multiple mixed shadows
Pass number of mixed cascades to shader
Naive shadow atlas downsampling test
Consider mixed light shadows for atlas downsampler too
Add cvar to maximum mixed light shadows, make a lot of this clientside
Add option to render mixed shadows only on viewmodels
Fix self shadowing on dynamic objects with mixed shadows
Add helper method to get the wanted shadow sampler given the context, clean up code
Pass viewmodel shadow sampler on the shader side
Viewmodel shadows on mixed shadows 🙏
Cleanup lightcomponent, reenable shadow fading
Remove unnecessary debug pragmas
Actually don't need VFX ABI change, old shaders will simply not receive shadows, no need to break them
Update core shaders for light rework
Update base addon-level shaders with the light rework changes
https://i.imgur.com/cSffiRg.jpeg
Merge pull request #177 from Facepunch/light-rework-rebase
Light rework
Update core shaders for light rework
Update base addon-level shaders with the light rework changes
https://i.imgur.com/cSffiRg.jpeg
Refactor how mixed baked lights are calculated to later support multiple lights at once
Removed unused lightbinner that was mostly just duplicated code
Fix data structure of light info compute buffer to support multiple baked mixed shadows and cleanup
Reorder data structure, give support to more than 2 cascades for mixed lights, add vignietting for shadows on multiple static lights at once
Up our shader ABI, document changes, and rename elements of that enum to better clarify
Make lighting data structure from shader match what's on cpu side
Multiple mixed shadows support, fix sunlight bugs with multiple mixed shadows
Pass number of mixed cascades to shader
Naive shadow atlas downsampling test
Consider mixed light shadows for atlas downsampler too
Add cvar to maximum mixed light shadows, make a lot of this clientside
Add option to render mixed shadows only on viewmodels
Fix self shadowing on dynamic objects with mixed shadows
Add helper method to get the wanted shadow sampler given the context, clean up code
Pass viewmodel shadow sampler on the shader side
Viewmodel shadows on mixed shadows 🙏
Cleanup lightcomponent, reenable shadow fading
Remove unnecessary debug pragmas
Actually don't need VFX ABI change, old shaders will simply not receive shadows, no need to break them
Pass selfillum to material helper
Get the parameters from shared standard ps code in sbox_pixel, dont include the shared standard ps code include into it
Viewmodel shadows on mixed shadows 🙏
Cleanup lightcomponent, reenable shadow fading
Remove unnecessary debug pragmas
Consider mixed light shadows for atlas downsampler too
Add cvar to maximum mixed light shadows, make a lot of this clientside
Add option to render mixed shadows only on viewmodels
Fix self shadowing on dynamic objects with mixed shadows
Add helper method to get the wanted shadow sampler given the context, clean up code
Pass viewmodel shadow sampler on the shader side
Squashed commit of what was on master as this has been out of main branch for long
Naive shadow atlas downsampling test
Pass number of mixed cascades to shader
Make lighting data structure from shader match what's on cpu side
Multiple mixed shadows support, fix sunlight bugs with multiple mixed shadows
Reorder data structure, give support to more than 2 cascades for mixed lights, add vignietting for shadows on multiple static lights at once
Up our shader ABI, document changes, and rename elements of that enum to better clarify
Add sharp Stationary lights, rename Baked and Per Pixel sunlights to Static and Moveable
https://i.imgur.com/AVIUGLb.jpeg
Merge branch 'master' of sbox
Merge branch 'master' of sbox
Rewrite sbox_glass with material api, get base shaders to use shared standard ps code, cleanup, fixes parsing bug to missing newline on features.hlsl, fix define on base shader code
Refactor glass, fix refraction
Merge branch 'shader-quick-refactor'
Add sharp Stationary lights, rename Baked and Per Pixel sunlights to Static and Moveable
https://i.imgur.com/AVIUGLb.jpeg
Refactor glass, fix refraction
Rewrite sbox_glass with material api, get base shaders to use shared standard ps code, cleanup, fixes parsing bug to missing newline on features.hlsl, fix define on base shader code
Refactor glass, fix refraction
Merge branch 'master' of sbox
Merge branch 'master' of sbox
Rewrite sbox_glass with material api, get base shaders to use shared standard ps code, cleanup, fixes parsing bug to missing newline on features.hlsl, fix define on base shader code
Fix data structure of light info compute buffer to support multiple baked mixed shadows and cleanup
Refactor how mixed baked lights are calculated to later support multiple lights at once
Removed unused lightbinner that was mostly just duplicated code
Add sharp Stationary lights, rename Baked and Per Pixel sunlights to Static and Moveable
https://i.imgur.com/AVIUGLb.jpeg