userSam Pavloviccancel

1,538 Commits over 1,338 Days - 0.05cph!

Yesterday
Fix IBL not working, Transparency in AmbientColor is used to lerp between artist's decided flat color and IBL/GI, defaults to GI AmbientLight component defaults to Gray color
2 Days Ago
Don't implicitly set zfar as infinity, if we want to do so we can do from C# side, but make it respect what we pass as zfar
3 Days Ago
For legacy hammer maps, take global volumetric fog scale from VolumetricFogController
3 Days Ago
Fix ortho lights in SceneMapLoader and custom shadow size, note that shadow culling will suck on ortho lights until we change tiled culling to use frusta
4 Days Ago
Update shaders
4 Days Ago
Fix shitty jitter and noise in volumetric fog https://files.facepunch.com/sam/1b2211b1/NDCtmFBjFj.jpg
4 Days Ago
Adjust depth bias for gizmos and debug lines, we have way more granular precision than I thought
4 Days Ago
Cubemapper Fixes (#1627) Refactoring and fixes for Cubemapper, cleaned it up, makes it really WYSIWYG Makes them work on Scene viewport Updates any time they're dirty Barriers should be set properly now Parallax for ambient envmap lighting Diffuse lighting from envmap should be working properly now Cubemap feathering is tighter by default now, should fix some "leaks" now that skybox is also a global cubemap
4 Days Ago
Detangle all this from Cubemapper, make it able to render inline rather than on a render block Redo update strategies from envmapprobe, much simpler, works everywhere now Change dynamic envmapprobe to use 7 mips which is the calibrated value for Cubemapper, change default feathering value to a tighter .25f Use parallax for ambient envmap lighting https://files.facepunch.com/sam/1b1511b1/sbox-dev_a6lt3mNtWW.mp4 Doing cubemap rendering with it's own rendering view is causing all sorts of issues, make it run on the same rendering view context as everything else again Adjustments for cubemapper and set barrier before setting renderstate Make sky always sample from mip 0, ensures that it's always sharp even in low res viewports (eg cubemap fetching
4 Days Ago
Use two passes for ggx cubemap filtering just like in cubemapper Use bilinear filtering for SampleEnvironmentMapLevel, worth the tradeoff since we're much faster now Up sky.shader version
5 Days Ago
Cornel Box scene with moving light for GI test
5 Days Ago
Make SSR reconstruction ghosting less apparent
5 Days Ago
GGXCubemapBlurHelper::GetFaceAndUVFromDirection was giving mirrored directions, recode it to point to correct direction, GGX skyboxes look very nice now, fixes a few issues specially in low resolutions, up sky.shader version so CI rebuilds textures
5 Days Ago
Adjustments for cubemapper and set barrier before setting renderstate Make sky always sample from mip 0, ensures that it's always sharp even in low res viewports (eg cubemap fetching
6 Days Ago
GGXCubemapBlurHelper::GetFaceAndUVFromDirection was giving mirrored directions, recode it to point to correct direction, GGX skyboxes look very nice now, fixes a few issues specially in low resolutions, up sky.shader version so CI rebuilds textures
7 Days Ago
Doing cubemap rendering with it's own rendering view is causing all sorts of issues, make it run on the same rendering view context as everything else again Make SSR reconstruction ghosting less apparent
7 Days Ago
Detangle all this from Cubemapper, make it able to render inline rather than on a render block Redo update strategies from envmapprobe, much simpler, works everywhere now Change dynamic envmapprobe to use 7 mips which is the calibrated value for Cubemapper, change default feathering value to a tighter .25f Use parallax for ambient envmap lighting https://files.facepunch.com/sam/1b1511b1/sbox-dev_a6lt3mNtWW.mp4
9 Days Ago
Fix terrain clipmaps being generated at the shadow map's position rather than the main camera's when rendering shadows
11 Days Ago
Make sure light cookie is resident and valid if we're getting it's index for lightbinner
11 Days Ago
Change dynamic envmapprobe to use 7 mips which is the calibrated value for Cubemapper, change default feathering value to a tighter .25f Use parallax for ambient envmap lighting https://files.facepunch.com/sam/1b1511b1/sbox-dev_a6lt3mNtWW.mp4
22 Days Ago
Detangle all this from Cubemapper, make it able to render inline rather than on a render block Redo update strategies from envmapprobe, much simpler, works everywhere now
22 Days Ago
Fix Depth::GetWorldPosition dividing by zero on skyboxes, pass epsilon to it use Depth::GetWorldPosition on Motion Blur, fix darkening/overbrightening of it based on sample count
22 Days Ago
Don't try to compile shaders that have missing source files
22 Days Ago
Process particles in a GameSystem, all at the same time, to benefit from multithreading DynamicSceneObject can take vertex span instead of one at a time Fix NRE in Collider.RebuildImmediately Fix SoundEvent.GetNextSound random not using the full range of sounds GameObjectSystem metrics Look for eligible types in ResourceControlWidget, so it works with inherited types (resolves Facepunch/sbox-issues#5609) https://files.facepunch.com/tony/1b0211b1/sbox-dev_YJS6hP69DC.png Start pending components before physics step - fixes physics step running before joints are created ByteStream Rewrite (#1610) * Added failing ByteStream stress test * Rewrite ByteStream to use Span / ReadOnlySpan where possible Add basic support for using right CTRL/SHIFT keys for input actions, I didn't include RALT because my keyboard doesn't seem to work with it (resolves Facepunch/sbox-issues#5506) Update Facepunch.ActionGraphs * Optimization when cloning * Nicer error messages with invalid pure methods (Facepunch/sbox-issues#5743) Fixed Facepunch/sbox-issues#5752 Fix OnComponentUpdate / OnComponentFixedUpdate not running Allow model inspector to preview animations https://files.facepunch.com/layla/1b0211b1/sbox-dev_fdrQka7PNG.mp4 Dictionary control widgets can't be edited when readonly Hotload: Skip some System.Text.Json types Fix some files (.razor) not opening in code editor from compile status window Simplify scene ref gizmos, fix leak when closing scene Terrain can import splatmap from png, tga, jpg, psd Remove SceneFile.LastSaved, use existing hash check to check for external changes for scenes, much cleaner Add algorithmVersion to vtex crc if GGXCubeMapBlur Increment sky shader version, forces material rebuild, which forces a texture rebuild Restore Toggle Gizmos shortcut (not sure if this was done on purpose) Fix incorrect min max for int AnimParam Add option names to enum AnimParam Package.Type.Gamemode becomes Package.Type.Game Can publish any asset, scene + prefab previewers Published assets can optionally include source files Fix Warnings Fix GetParameterInt and GetParameterFloat not working for ANIMPARAM_ENUM Preview animgraph parameters on model preview https://files.facepunch.com/layla/1b0311b1/sbox-dev_orVYPmENxI.mp4 Make sure any scene light properties ask native for their value so they can never go out of sync Add binds we'll need for sceneobject serialization Bind light desc so we can create a light directly from desc Merge branch 'master' into reverse-z
22 Days Ago
Revert changes to sky.shader now that g_flFarPlane has the correct value in reverse-z
24 Days Ago
Fix shadow bias with new Reverse-Z shadow compatibility
24 Days Ago
Fix SSAO with Reverse-Z Update shaders with new Reverse-Z shadow compatibility Fix shadow bias with new Reverse-Z shadow compatibility
24 Days Ago
Do Reverse-Z worldtoshadow in lightbinner rather than in shader code, makes existing old shaders have proper shadows with just our compatibility mode https://files.facepunch.com/sam/1b0211b1/kzfuxUK73z.png
24 Days Ago
renderdevicevulkan: enable reverse depth Reverse the DepthFunc on all shaders GREATER <-> LESS gizmo_grid: reverse manual depth bias We need to change the depth clear value from 1->0 (in 3 different places of course) Recompiled core shaders Fix r_depth_debug Default RenderState DepthFunc to RS_CMP_GREATER_EQUAL, makes shaders without a RenderState set default to it https://files.facepunch.com/sam/1b0711b1/tt3.png Readjust depth bias on debug shaders for reverse depth Fix shadow in reversed depth https://files.facepunch.com/sam/1b0711b1/tt2.png Adjust depth bias for gizmo shaders for the increased depth precision Tiled light culling with reverse-z SSR with inverted z ( Way more stable ) Fix (3D) Skybox with inverse depth range Fix SSR backtracing on reverse depth Remove shadow depth bias from shader, it should be controlled by shadow matrix on lightbinner DoF with reverse depth Shaders for reverse depth Fix glass and decal overlays depth bias Shaders with depth bias fixes Add shadow depth bias on matrix Compile UI shaders for inverse depth Reverse depth comparison on the sampler rather than on the shader for shadows, makes this more lean Fix SSR backtracing and confidence check ( and Depth::GetLinear() ) https://files.facepunch.com/sam/1b1111b1/cxXjDfQ2g5.png Update shaders Reverse-Z Compatibility: Serialize depth stencil state version and reverse the depth comparison of old shaders Update shaders with stencil state versioning https://files.facepunch.com/sam/1b2111b1/ZCuq7swn9v.png Shaders with reverse-z and IBL
28 Days Ago
Do draw opaque objects flagged with no depth prepass, also set correct behaviour for SCENEOBJECTFLAG_NO_Z_PREPASS on actual depth prepass layer
28 Days Ago
Use conservative alphatest discard for depth prepass in goback_material instead of opaquefade, fixes blue stripes in overlays
28 Days Ago
Envmap Ambient Lighting + Sky Envmaps (#1568)
28 Days Ago
Envmap Ambient Lighting + Sky Envmaps (#1568)
28 Days Ago
Update shaders with legacy ambient lighting padding
28 Days Ago
Add padding for LegacyAmbientLightColor, let's not make our lovely existing community games have red ambient color https://files.facepunch.com/sam/1b2811b1/FLkIjvjdgH.png
28 Days Ago
Remove AmbientLightSH from lightbinner, Directional Light doesn't control ambient color anymore, this is a visually breaking change, I'll see to put a better replacement to existing things Set skybox as global cubemap Be able to sample cubemaps from any resolution, use diffuse cubemap as diffuse indirect illumination if no GI in scene [Pick] Implement "GGXCubeMapBlur" filter on CPU, previously it did not work at all in CI since require RenderSystem which isn't ideal since it's the only thing that did so and is completely different from our Cubemapper GGX filter, this makes all filters consistent and much cleaner, remove Convolve Envmap shader I want to start using GGX filtering on skyboxes but this wouldn't work on CI because of that requirement Skyboxes compile wid GGXCubeMapBlur instead of Box filter, adjustments for GGXCubemapBlurHelper Cubemap fog just takes material from current skybox https://files.facepunch.com/sam/1b1511b1/sbox-dev_k6CScBsqcF.mp4 Make CubemapFog material still be configurable, take it straight from the skybox if it's null Separate Ambient Light into it's own component from Directional Light, add upgrader for it Use black cube if texture passed to lightbinner is invalid (eg non-sky material from SceneSkybox ) Fix World.AmbientLight, make flat ambient light lerp between IBL and what we have, make it artist accessible with ambientlight component Delete these skybox vtexes Remove convolve_environment_map.shader from shader ci Don't change flTargetLuminanceOfCubemap, it's bullshit Skybox envmap has lowest priority https://files.facepunch.com/sam/1b1911b1/yipICq2VMI.jpg Swap tools stuff that uses DirectionalLight.SkyColor to either IBL or AmbientLight Better description of obsolecence update shaders with IBL Default ambient color on SceneThumbnails Add padding to buffer Fix IBL not applying to transmissive Use faster Scene.GetAllComponents<SkyBox2D>() for fetching skybox texture on CubemapFog to not iterate over all gameobjects Revert SkyColor to control ambient light on DirectionalLight again, but pipe it to scene's ambient light color Sun prefab now comes with no skycolor ( Takes from IBL )
28 Days Ago
Revert SkyColor to control ambient light on DirectionalLight again, but pipe it to scene's ambient light color
28 Days Ago
renderdevicevulkan: enable reverse depth Reverse the DepthFunc on all shaders GREATER <-> LESS gizmo_grid: reverse manual depth bias We need to change the depth clear value from 1->0 (in 3 different places of course) Recompiled core shaders Fix r_depth_debug Default RenderState DepthFunc to RS_CMP_GREATER_EQUAL, makes shaders without a RenderState set default to it https://files.facepunch.com/sam/1b0711b1/tt3.png Readjust depth bias on debug shaders for reverse depth Fix shadow in reversed depth https://files.facepunch.com/sam/1b0711b1/tt2.png Adjust depth bias for gizmo shaders for the increased depth precision Tiled light culling with reverse-z SSR with inverted z ( Way more stable ) Fix (3D) Skybox with inverse depth range Fix SSR backtracing on reverse depth Remove shadow depth bias from shader, it should be controlled by shadow matrix on lightbinner DoF with reverse depth Shaders for reverse depth Fix glass and decal overlays depth bias Shaders with depth bias fixes Add shadow depth bias on matrix Compile UI shaders for inverse depth Reverse depth comparison on the sampler rather than on the shader for shadows, makes this more lean Fix SSR backtracing and confidence check ( and Depth::GetLinear() ) https://files.facepunch.com/sam/1b1111b1/cxXjDfQ2g5.png Update shaders Reverse-Z Compatibility: Serialize depth stencil state version and reverse the depth comparison of old shaders Update shaders with stencil state versioning https://files.facepunch.com/sam/1b2111b1/ZCuq7swn9v.png
28 Days Ago
Remove alphatest layers and unused attributes, all done in opaque pass Depth Fast Path was fucked up with material overrides, disable depth fast path on that batch if we're using material overrides then, this whole system seems complicated to begin with too, additionally material flags were not being updated when you did a SetMaterialOverride This fixes translucent material overrides rendering as if they were opaque https://files.facepunch.com/sam/1b2811b1/UNobtq1Qnd.png Handle translucency flags for material overrides in renderingpipeline Nullcheck bMaterialOverride
30 Days Ago
Use faster Scene.GetAllComponents<SkyBox2D>() for fetching skybox texture on CubemapFog to not iterate over all gameobjects
35 Days Ago
Update shaders with stencil state versioning https://files.facepunch.com/sam/1b2111b1/ZCuq7swn9v.png
35 Days Ago
Reverse-Z Compatibility: Serialize depth stencil state version and reverse the depth comparison of old shaders
35 Days Ago
Default ambient color on SceneThumbnails Add padding to buffer Fix IBL not applying to transmissive
35 Days Ago
renderdevicevulkan: enable reverse depth Reverse the DepthFunc on all shaders GREATER <-> LESS gizmo_grid: reverse manual depth bias We need to change the depth clear value from 1->0 (in 3 different places of course) Recompiled core shaders Fix r_depth_debug Default RenderState DepthFunc to RS_CMP_GREATER_EQUAL, makes shaders without a RenderState set default to it https://files.facepunch.com/sam/1b0711b1/tt3.png Readjust depth bias on debug shaders for reverse depth Fix shadow in reversed depth https://files.facepunch.com/sam/1b0711b1/tt2.png Adjust depth bias for gizmo shaders for the increased depth precision Tiled light culling with reverse-z SSR with inverted z ( Way more stable ) Fix (3D) Skybox with inverse depth range Fix SSR backtracing on reverse depth Remove shadow depth bias from shader, it should be controlled by shadow matrix on lightbinner DoF with reverse depth Shaders for reverse depth Fix glass and decal overlays depth bias Shaders with depth bias fixes Add shadow depth bias on matrix Compile UI shaders for inverse depth Reverse depth comparison on the sampler rather than on the shader for shadows, makes this more lean Fix SSR backtracing and confidence check ( and Depth::GetLinear() ) https://files.facepunch.com/sam/1b1111b1/cxXjDfQ2g5.png Update shaders
35 Days Ago
Default ambient color on SceneThumbnails Null checks on Scene.AmbientLightColor AmbientLight component is killed, update Obsolete documentation Add padding to buffer Fix IBL not applying to transmissive
35 Days Ago
Remove AmbientLight component, just pass to scene, make it a property
37 Days Ago
Update Fog.Cubemap test scene https://files.facepunch.com/sam/1b1911b1/sbox-dev_ktnlWsCs24.mp4
37 Days Ago
Readd Skyballs an ambient light test scene https://files.facepunch.com/sam/1b1911b1/JYx0E9JbyL.jpg
37 Days Ago
update shaders with IBL
37 Days Ago
Remove AmbientLightSH from lightbinner, Directional Light doesn't control ambient color anymore, this is a visually breaking change, I'll see to put a better replacement to existing things Set skybox as global cubemap Be able to sample cubemaps from any resolution, use diffuse cubemap as diffuse indirect illumination if no GI in scene [Pick] Implement "GGXCubeMapBlur" filter on CPU, previously it did not work at all in CI since require RenderSystem which isn't ideal since it's the only thing that did so and is completely different from our Cubemapper GGX filter, this makes all filters consistent and much cleaner, remove Convolve Envmap shader I want to start using GGX filtering on skyboxes but this wouldn't work on CI because of that requirement Skyboxes compile wid GGXCubeMapBlur instead of Box filter, adjustments for GGXCubemapBlurHelper Cubemap fog just takes material from current skybox https://files.facepunch.com/sam/1b1511b1/sbox-dev_k6CScBsqcF.mp4 Make CubemapFog material still be configurable, take it straight from the skybox if it's null Separate Ambient Light into it's own component from Directional Light, add upgrader for it Use black cube if texture passed to lightbinner is invalid (eg non-sky material from SceneSkybox ) Fix World.AmbientLight, make flat ambient light lerp between IBL and what we have, make it artist accessible with ambientlight component Delete these skybox vtexes Remove convolve_environment_map.shader from shader ci Don't change flTargetLuminanceOfCubemap, it's bullshit Skybox envmap has lowest priority https://files.facepunch.com/sam/1b1911b1/yipICq2VMI.jpg Swap tools stuff that uses DirectionalLight.SkyColor to either IBL or AmbientLight Better description of obsolecence