1,838 Commits over 1,522 Days - 0.05cph!
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
Fix "bloomy" depth of field
Bind hammer properties to watersceneobject
Add Render.IsRenderingMainView to check if current view is the main one, and not a monitor rendertarget
Add RemoveFlags to sceneview
Move ripple texture data to a struct so we can have a cascade of them easily, fix clamping of ripple simulation position around borders
Add water properties toggleable on hammer
Floor view position so that sampling never gets fractional
Use SceneViewFlags_t instead of uint32 for flags
SceneViewFlags in managed, bind ISceneView::GetFlags
Initial work on foliage vertex data generator
Add FoliageVertexSwayGenerator node to editor
Disable Valve's HIGH_QUALITY_SHADOWS, saves us a shader combo too
Give 1px offset on reflections
Disable reflections when we run out of memory
Fix 1px border in high quality reflections, fix hq reflections being offset when using non-dev console
Add test property to enable dynamic ambient occlusion on dynamic objects, add check if view is rendering on main view
Remove silly assert on shapemanager
Add monitor view flag to SceneViewFlags_t
Fix assertion and rendering issues on tools with reflections
use full res reflection buffer & depth if rendering in sfm
Updated objects for blendable shader with SFM fixes
Squashed commit of what was on sdf-reflection-optimizations
Get new ShapeBuffer API on Compute Buffer again, simplify data structure
Clean up and simplify Shapebuffer struct, rename remainings of SdfShape to just Shape
Fix flickering with reflections, refactoring, cleanup, use PVS for Shapes again, use spheres for AABB check
Fix typo on blendable
Bkebdabke & high quality reflection shader objects, invert alpha channel, halve shape bounding sphere
Allow high quality reflections to be composed on subviews
Fix typo on blendable
Bkebdabke & high quality reflection shader objects, invert alpha channel, halve shape bounding sphere
Squashed commit of what was on sdf-reflection-optimizations
Get new ShapeBuffer API on Compute Buffer again, simplify data structure
Clean up and simplify Shapebuffer struct, rename remainings of SdfShape to just Shape
Fix flickering with reflections, refactoring, cleanup, use PVS for Shapes again, use spheres for AABB check
Reimplement push shape data to buffer
Flush data after encoding it rather than on frame start, header cleanup
Support colored input for reflections
Disable adding proxy instance shape to sdf shape list until merge shape optimizations to master
Upload shape buffer data to the GPU with any arbitrary size beyond 4KB
Bind shape buffer data to rendering pipeline and give support for multipass if we need it
Fix light bounces being black on multiblend materials