1,819 Commits over 1,491 Days - 0.05cph!
resize the main window to the size of the buffer in tools mode in vulkan, fixes swapchain being created the wrong size
Don't offset the pixel position by the parallax offset for shadowing on complex, causing problems in 90 degree angles
Fix area lights nuking lighting when very small
Dispose temp rts on end of scope rather than when we request another one, lets reuse them through the frame, fixes multiple blurs not showing up
Remove remaining breadcrumbs of fsr
Better directional ao curve, update crate01
Cleanup lightbinner code, remove cached light stuff, don't care for flashlight/fx lights
Remove SunlightManager
Delete remaining references to scenesunlight
Simplify directional light binner code, you can have as many directional ligths in your maps now and it's simpler to maintain
https://i.imgur.com/R8odoVP.png
Unbind SunlightManager, cleanup gameinfo
Remove remaining references to "scenesunlight.h", alloc and render but don't shadow dynamic sunlights right now
Remove old CSM code from shaders
Remove flashlight light allocation, it's all unified in spot lights, allow rendering shadow maps for mixed point lights
Fix directional AO falloff looking very faint and let it take ambient light into account for calculating hardness
https://files.facepunch.com/sam/1b0911b1/gpBUzR76wN.jpg
Redo and recompile aoproxies of all citizen props
https://files.facepunch.com/sam/1b0911b1/v3nI9nRpR1.jpg
Don't sample ripples on shader if not using water entity
Add r_dynamic_reflections_draw_everything for debug visualization, ignores object gathering filters when setting up dynamic reflections pass and draws reflections of all objects capable of it
Fix toggleability of SSR in shaders
Better way to do r_dynamic_reflections_draw_everything
Final changes, SSR on complex, some cleanup and fixes, fuck off with the old high_quality_reflections shader
High Quality Reflections becomes Dynamic Reflections, commit rest of stuff for Louie to test
Get ripples on new water shader
Squash commit of what was on SSR branch
Update compiled shaders
Redo SSR API to not be hardcoded to an ubershader, add a function to just consume material API parameters and output the reflection
Convert water to the new system, adjust reflections.hlsl
Drift SSR result [-1,1] pixel based on the normals to sharpen it to the result
Do perfect reprojection on ssr, able to have much higher quality without losing temporal stability
Shadingmodel Declutter (#1041)
* Start cleaning up material and shadingapi
* Allow using functions inside of HLSL structs
https://i.imgur.com/t1AwQzr.png
* Replace all GatherMaterial bullshit with Material::From()
* Remove Material parameter references to things that aren't implemented yet, put TransformNormal in normals file
* Cut everything from ShadingModel too and let's start from a static class
* Redo light api on shaders, start implementing new dynamic light under this structure, move raytracing shit to it's own folder, add sample shadingmodel
* Allow structs in structs ( HLSL 2021 and forwards )
* Most of static light with the new api
* Fix shadowing on indexed lights on new light api
* Move shadingmodel structures to shadingmodel.hlsl
* Fix light static assignment for lighting api, fix shadowing for them too
* Stub for EnvironmentMapLight
* Implement cubemap light
* ShadingModelValve
* light.envmap.hlsl becomes light.environment.hlsl for better readability, add debug views to material api, CUSTOM_MATERIAL_INPUTS preprocessor
* AmbientLight
* Sane implementation atmospherics and debug vis postprocessing for shadingmodel api
* Finish debug vis, rename ShadingModelValve to ShadingModelStandard
* Start rewriting blendable with new api, port glass to new api
* Rewritten blendable shader
* Refactor remaining shaders to new shadingmodel api, fix shadergraph not working, readd procedural.hlsl for shadergraph but fix typo on title
Drift SSR result [-1,1] pixel based on the normals to sharpen it to the result
Convert water to the new system, adjust reflections.hlsl
Redo SSR API to not be hardcoded to an ubershader, add a function to just consume material API parameters and output the reflection
Squash commit of what was on SSR branch
Update compiled shaders
Rewritten blendable shader
Refactor remaining shaders to new shadingmodel api, fix shadergraph not working, readd procedural.hlsl for shadergraph but fix typo on title
Start rewriting blendable with new api, port glass to new api
AmbientLight
Sane implementation atmospherics and debug vis postprocessing for shadingmodel api
Finish debug vis, rename ShadingModelValve to ShadingModelStandard
light.envmap.hlsl becomes light.environment.hlsl for better readability, add debug views to material api, CUSTOM_MATERIAL_INPUTS preprocessor
Use actual beam pos for end of light beam
Allow area light size to be changed in runtime
Add beam light to physgun
https://cdn.discordapp.com/attachments/833983416390385685/1111754107720564816/sbox_0048.mp4
Start cleaning up material and shadingapi
Allow using functions inside of HLSL structs
https://i.imgur.com/t1AwQzr.png
Replace all GatherMaterial bullshit with Material::From()
Remove Material parameter references to things that aren't implemented yet, put TransformNormal in normals file
Cut everything from ShadingModel too and let's start from a static class
Redo light api on shaders, start implementing new dynamic light under this structure, move raytracing shit to it's own folder, add sample shadingmodel
Allow structs in structs ( HLSL 2021 and forwards )
Most of static light with the new api
Fix shadowing on indexed lights on new light api
Move shadingmodel structures to shadingmodel.hlsl
Fix light static assignment for lighting api, fix shadowing for them too
Stub for EnvironmentMapLight
Stub for EnvironmentMapLight
Fix light static assignment for lighting api, fix shadowing for them too
Move shadingmodel structures to shadingmodel.hlsl
Fix shadowing on indexed lights on new light api
Most of static light with the new api
Redo light api on shaders, start implementing new dynamic light under this structure, move raytracing shit to it's own folder, add sample shadingmodel
Allow structs in structs ( HLSL 2021 and forwards )
Cut everything from ShadingModel too and let's start from a static class
Remove Material parameter references to things that aren't implemented yet, put TransformNormal in normals file
Replace all GatherMaterial bullshit with Material::From()
Allow using functions inside of HLSL structs
https://i.imgur.com/t1AwQzr.png
Start cleaning up material and shadingapi
Simplify cubemap priority calculation
Assume an UAV texture written to lightcookie atlas should always be updated as well
Let transmissive mask use tint color in complex shader
https://i.imgur.com/5lkQh7M.png
Allow scaling roughness on legacy shaders
Fix sequential fog transforms being fucked, fix fog contribution always being at minimum of 0.001, cleanup
Iterate on virtual texture API, get allocations working
Use DX11.2 render device ( Min Windows 8.1 ), start implementing methods to do virtual texture mappiing
Allow rendering only sights, increase red dot default brightness, let iridescence absorb albedo
Add red dot scope shader https://i.imgur.com/e2uQIMT.mp4