567 Commits over 1,277 Days - 0.02cph!
Update shaders with adjustments for tiled rendering
Greatly increase depth precision for world, fix decals in VR, don't do viewmodel offsetting at all on VR
Fix Undefined Behaviour In Tiled Rendering
Disable seamless fade for dof, better to keep the nice translucent sorting for now
Fix intersection on box on tiled light builder, don't bother trying to get intersection inside of box
Also reenable depth cull
Bloat bbox a bit to catch edges, send updated compiled shader
Add simple_liquid to replacement list too
start removing vr_warp, modern HMDs don't need it
cull most unused shaders, remove unused include files, rename shaders with sbox_ prefix to better names
Cleanup shaders, compile renamed shaders
Remove vr warp and most of subview rendering
More cleanup
Remove subview rendering, if we use foveated we'll roll our own solution
Remove more bullshit, start reimplementing a sane spectator view
Reimplement spectator view
Remove anything to do with aerial perspective, remove old glass shader
Remove wrinkle from complex, cleanup and cull some more shaders
remove complex and spritecard from build list, want to quickly test if everything is okay on CI
Update all_shaders.txt
move remaining materials that use blend.vfx to blendable, delete blend.vfx
Merge branch 'shader-cull' of sbox into shader-cull
remove compiled files of the shaders we removed
Update shaders with the cleaned up code
keep old glass shader while the new one isn't merged in
Remove deferred lights from code, only care for the lightbinner we use
remove old blur and old bloom
Remove grasstile materials
Remove auto fidelity visualizer, remove bilateral blur and liquid shader, remove remaints of old blur shader
Remaining missing materials and compiled shaders
Replace removed shaders that are still referenced in some assets with it's replacement shader
Update foliage and legacy glass with the correct depth shader
Add parallax occlusion to list of shader replacements
Remove postprocess_standard, readd floor_pebbles_a with correct shader
Update compiled addon shaders
Merge pull request #506 from Facepunch/shader-cull
Shader Cull Cleanup
Correct and simplify standard shading model envmaps and lights
Make LPV use another shading model
Fix VR for tiled envmaps
Don't show Show Dev Shaders and Show Core Shaders checkbox outside internal builds
Fix intersections again
Disable depth culling for tiled envmaps for now
Object files for tiled
Reduce number of visible tiles
Fix tiled rendering on 3D Skyboxes
Shader files with cubemap index fix
Fix Box Intersect transformations on tiled light builder
Fix cubemaps reading garbage data
be less conservative with mixed shadows update radius
Properly fix cubemaps mips not being copied correctly to texture array
func_monitor material shouldn't be using base.vfx shader
Refactor and cleanup all core shaders, remove all warnings from core shaders
Update shader objects, remove example shader objects
Fix warnings on water
Fix typo
Shader objects for water
Fixed signed underflow on number of envmaps, fixe perfomance on some maps
Fix building vphysics2 on latest visual studio version
fix last cubemap not being sorted
Reduce queryable size of sphere, optimizes tile volume
skip backfacing queries on tiled light builder
Cleanup, dont pass depth on non depth prepass
Transform camera ray, fix typos when doing box intersection, oops
You should be seeing the good perf gains from tiled now
Initial work for tiled light sorter
Remove constant buffer transform code
Fire tiledlightbuilder compute shader on views
Iterate shader structure for tiled rendering, remove remaints of constant buffer transforms
Evaluate cubemaps and lights on compute shader
Allow for struct types in generic buffers in VFX
Properly index lighting and envmap info on tiled light buffer
https://i.imgur.com/5141J1x.png
Revert "Fix normals for valve standard shading"
This reverts commit 29c62c8422ec364a9acb104da4bc58a12e0ea8ae.
Tiled lighting for envmaps and lighting on standard shading model 🏃♂️💨
Use 128 lights for clustered instead of 256
Double the perfomance of tiled light build job
Pass radius of light to shader so we dont need a sqrt operation on culling
Sample shader to visualize tiled rendering
Revert "Pass radius of light to shader so we dont need a sqrt operation on culling"
This reverts commit 62ca1b89275c339f2db357781ab9cab0f6a8d525.
Fix driver crash on Nvidia
Fix 'LightSim_MaterialTint has inconsistent value' warning
Put tiled code on vr_lighting
Much simplify sphere and box intersection tests, add bounding area for nearby tiles
Tiled rendering for valve standard shading
tiled rendering for envmaps on valve standard shading
Correct box hit algorithm for tiled light builder
Fix shadow rescaler
Work on viewport level, optional single ratio, fixed bug with perfect fitting shadow maps
Fix shader compilation
Fix spritecard compilation
Initial work for VR Instancing for tiled light rendering
Fix glows in Vr while we're at it, still pending rewrite
Preliminary support for VR in tiled light builder, include objects
Remove magic number and reproject view for tiled light builder
Treat warnings as errors on shader compilation on internal builds
Make tile resolution proportional https://i.imgur.com/2knXfUw.png
Fix light typo on vr_lighting
Fix warnings on standard shading model
Iterate on tiled light builder
Fix data races on tiled light builder
Fix warnings from core shaders
Use 48 wide pixels for each tile
Fix Z-Fighting when cubemap bounds is the same as the geometry
Update tiled light builder shader objects
Fix warnings on blendable and commit shader objects
Simplify tiled rendering accessors, add runtime UseTiledRendering render attribute
Add r_tiled_rendering convar
Update shader objects
GPU driven Depth Culling for tiled rendering
Use half tile offset for tile coordinates
Depth prepass culling for envmaps too, cleanup
fix envmaps being fucked up
Return max depth for tile, update object files
Add r_tiled_rendering_depth_cull
Merge pull request #406 from Facepunch/tiled-rendering-merge 🟦🟦🟥🟧🟨🟦🟦
Tiled Rendering Support
Fix unitialized memory and not binding shape buffer if running out of space in high quality reflections
Fix Spritecard not clipping through user clip planes (Fixes physgun beam reflecting through water)
Upgrade d3dcompiler library for client loading, fix reflection with version v7
Support for multiple d3dcompiler and their reflection types
Simplify that, and add d3dcompiler_47
Remove redundant functions now that they are processed on the core shader
Fix typo
Merge pull request #356 from Facepunch/d3dcompiler_47
Add support for the latest version of D3D11 shader compiler
Fix depth prepass not working
Add clip planes for spritecard, should fix physgun trail clipping on water
Unset D_ENABLE_INDIRECT combo on volumetric fog shader and leave it always on, indirect volume lightmap is also used for baked fog!
Fix glow outline on water
Fix foliage having no subsurface, disable GS from foliage entirely for now, unlikely to yield much gains
Fix shading on blendable
Cleanup, give support to Transmission on Material API
Delete material that referenced old cookieslice
New glow based on outlines rather than normal extension
Do a full cycle on the glow to close last mesh gap
sbox_glow_stencil > glow_stencil, push C++ side of glow
Remove non-cs version of sbox_cookieslice, never used
Some adjustments to glow, fix projection viewport being messed up, render them before translucents
https://i.imgur.com/0uvh7xX.png
Also kill old sbox_cookieslice shader source
Fix Warning on sbox_glass and volumetric_fog, push object files for water and glass
Remove references to reflex sight
Make full shader compile optimizations always implicit, make dev shaders compile with full optimizations
Add ScreenspaceCorrectionMultiview that does both resolution scaling and VR correction
Use ScreenspaceCorrectionMultiview for refraction on glass and water
Add ShadingModelValveStandard for shaders that need visual parity with Valve's shading
Merge branch 'master' of sbox
Fix volumetric fog on VR without doubling our compile time 😵💫
Remove #pragma optimize off that managed to slip through
Fix relative specular luminance on blendable
Run mat_recompileoutdatedshaders in a thread
Fix SDF trace functions
Use UINT32 for transformation indexes on shaders, adjust multiview instancing functions to use nInstanceTransformID instead, support for it in legacy transforms too
Reenable Sructured Buffers for transformation
Bump up VFX ABI version
Add mat_recompileoutdatedshaders, Iterates and recompile shaders from previous ABI version.
Change color format of InstanceTransformUv from Float16x2 to R32 UINT, also on managed vertex objects
Adjustments to transform system, iterate, cleanup, do byte alighment fixes to work on AMD
Shader objects for core shaders
Shader objects for core addon shaders
Reenable constant buffers until I fix AMD driver bug
Revert shaders to be compatible with cbuffers
Flag that shaders should be compiled with cbuffers until amd fix
Squashed merge structured transform buffers
Cleanup
Use precision padding to make up for low precision upload to GPU, fix instancing padding on vr_lighting
Allow usage of VS_INPUT in geometry shaders
Add new shaders with new transform slot sequence strategy
Adjustments, refactoring, cleanups and new strategy to bind transform buffers
Rename BindTransformTextureAndInstanceIDBuffer to something friendlier
Use thread safe allocations for transforms, fix transform alignment
Temp disable multiview instancing combo to speed up compiles
remove F_UNLIT and F_DISABLE_TONE_MAPPING from Complex, unlikely to help
Trim complex a bit more
Yank the internal includes out of foliage shader, make it work in our API
Make Water compile with our new API, optimize it, have more accurate reflectance constant
Add USE_CUSTOM_SHADING flag to skip default combos
Make ToMaterialMultiblend compatible with our new API
Object compile of base shaders with structured buffers working as intended 🙏
Use MSAA friendly discard for foliage, cleanup
Object files for base addon shaders
No need for a mutex on AllocateTransforms
Add toon example shader
Iterate example toon shading, add outlines
Merged new-shader-api
Disabled transform structured buffer by default, will be reenabled soon
Update base.vfx with the base from standard.vfx
Add class and interface language support to VFX Compiler
Make base class an optional parameter for VFX classes
Allow members to be static or have other identifiers on VFX
Add class_member_definition to VFX variable parser on ANTLR
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