reposboxcancel

20,904 Commits over 1,522 Days - 0.57cph!

1 Year Ago
Rename lightconstants.hlsl to lightbinner.hlsl and call the data there BinnedLight/BinnedEnvMap, make baked lights only cast shadows if mixed lights are enabled on them Remove limitations to not have mixed point light shadows, it just works now https://files.facepunch.com/sam/1b1911b1/SNSMgfgkxR.png
1 Year Ago
Cleanup, remove a bunch of unused or deprecated shit, cleaned up a lot of variable in lightbinner structured buffer that ends up not being needed, document things a bit better
1 Year Ago
Add a bunch of null checking in SetActiveGame to diagnose sbox/issues/1352
1 Year Ago
Added ability to save editor layouts and restore them (sbox/issues/1349) https://files.facepunch.com/tony/1b1911b1/parsecd_KuRA9SaPEO.mp4 Fixed duplicate "New Asset Browser" after hotloading tools
1 Year Ago
Add EditorUtility.Network Package updates Manually disconnect each connection on server disconnect
1 Year Ago
More Pod types in BytePack Separate BytePack tests BytePack supports List<t> Support lists/arrays of strings
1 Year Ago
Fixed previous commit test breaking for supporting internal/protected/private where possible in method validation for wrap method/properties...
1 Year Ago
Revert "New way to validate method availability for method wrap/property wrap - this picks up internal / private / protected methods and checks containing type against that type to determine accessibility. tl;dr lets you in most cases use private / protected / internal methods as the target function for wrap without it complaining" This reverts commit f9b98cc34ac1d92efbaa43baf51f559720a7ca24.
1 Year Ago
Fix EditorWindow disabled Resample startup image so it's not all pixelly on high dpi monitors
1 Year Ago
Clean editor startup Splash screen is a real window, restores its position Welcome Screen remembers its position
1 Year Ago
Moved tiled rendering buffers to lightbinner, where it should belong Remove members that have long been deprecated, start adding support for structured buffer lights Move all cbuffer stuff to legacy, standard will only have structured buffer path Start implementing structured buffer lights data structure Remove all code for calculating mixed shadows, that'll be all allocated in the main light shadow function, iterate structured buffers Iterate on new lightbinner, let all shadows render through a single rendering path, disregard legacy for now Remove bMixed from LightEntry, it's complete bullshit, let static lights render only dynamic objects when doing shadows Unified shadow casting, map indexed lights so we can fetch them easily and without needing to order sequentially, remove more deprecated stuff Get rid of lightbinner_legacy completely Eliminate legacy per view lighting constants, eliminate mixed shadows, add placeholder to some constants where they should belong Cut more code from lightbinner light allocs, means only spots will alloc properly for now but cleans a lot of this, align cbuffers, add ComputeDirectLightingForLight to unify lighting calculation on shader Remove CSunLightManager, used for old pre-hlvr sun rendering, a lot of code that's only used for dynamic sunlight different to everything else in light rendering Remove more unused parameters from lightbinner Remove remaining crumbs of old sun shadowing, remove unused shadow functions, add bBaked to ComputeDirectLightingForLight Lightcookies and point lights Remove multiview constants from lightbinner, these have been getting in my way, and we need to think a better way to handle instanced viewports, I'm leaving it to a bigger cleanup later Start Envmap support on new lightbinner, remove unused environment_map.fxc Start MATERIAL_LIGHT_DIRECTIONAL support for lightbinner, sets up frusta for lights Fix conflicts from merge that added removed stuff Fixup for directional lights, add dummy ambient lighting for fully dynamic scenes, implement flags properly Fix merge ( g_nNumEnvMaps > NumEnvironmentMaps ) Remove interface definition from Vfx ( It's fucked off from HLSL 2020+ ), add array support to members in classes in Vfx Store multiple frusta on same light definition rather than using sequential lights, makes this simpler, point light shadows Ambient light, new strategy for shadow frusta Disable r_enable_high_precision_lighting, just ends up overcomplicating code, reevaluate if this actually affects much away from world origin, will make vPositionWithOffsetWs just become vPositionWs in shaders if fully removed Take shadow frustra from BuildShadowFrustaForLight() that matches what's on the shadow map renderer, rather than rebuilding it with twice the code Test of multiple frusta support for shadow maps on shader 🥳 Support for cascaded shadow maps on new unified multi-frusta system, needs to backport old code Backport directional CSM code to unified BuildShadowFrustraForDirectionalLight in lightdesc Shadow filtering and dummy ambient lighting Calculate spot light resolution proportionally based on light cone and do a LOD system for light shadows based on distance, both are meant to be perceptual https://files.facepunch.com/sam/1b1211b1/sbox_rl2LTOMdY4.mp4 CSM Adjustments Pass envmap data to GPU Fixups for cubemaps on shader, add test for ambient light IBL support https://files.facepunch.com/sam/1b1311b1/ibl.png We dont need start indexes for lights anymore, just remap the index for fog and baked, fixup envmap count to shader Remove refs to CalculatePositionToCameraDirWsMultiview function call in new lightbinner shader code
1 Year Ago
Change screenshot filename format Make this warning a trace
1 Year Ago
New way to validate method availability for method wrap/property wrap - this picks up internal / private / protected methods and checks containing type against that type to determine accessibility. tl;dr lets you in most cases use private / protected / internal methods as the target function for wrap without it complaining
1 Year Ago
ActionGraphResource, update Facepunch.ActionGraphs Placeholder NodeUI.OnDoubleClick()
1 Year Ago
Throw if chunkStream is null
1 Year Ago
Don't try to use SteamNetworkingUtils in unit tests
1 Year Ago
Dispose GameNetworkSystem on shutdown Only create NamedSocket if in editor Loading screen, smoothing connection process Loading screen cancel button, force show cursor when loading screen is active
1 Year Ago
Citizen/animgraph: further improved the lean layer, especially when holding a weapon Head look adjustments forthcoming still. https://files.facepunch.com/maxlebled/1b1711b1/2023-11-17%2017-35-37.mp4
1 Year Ago
Use LastBackColorBuffer for VR - should fix spontaneous crash, can't reliably reproduce locally though?
1 Year Ago
ShaderGraph fixes
1 Year Ago
Lobby socket basics Connecting via lobby works Lobby joining Allow host status to change Functions to query lobby list, connect to one, disconnect Remove JoinOrCreateLobby
1 Year Ago
Material.AmbientOcclusion float3 -> float
1 Year Ago
PS_InitFinalCombiner( PS_INPUT ) -> PS_InitFinalCombiner() so it works without COMMON_PS_INPUT_DEFINED - this is just for default values anyway PS_CommonTransformNormal should be wrapped in COMMON_PS_INPUT_DEFINED too Material shading API can be used without common PixelInput Internals rewritten to remove reliance on a commonly defined PixelInput instead every function just takes what it needs. The only public methods you may have been using were changed like so: ```diff - float3 TransformNormal( const PixelInput i, float3 vNormalTs ) + float3 TransformNormal( float3 vNormalTs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs ) - float3 NormalWorldToTangent( PS_INPUT i, float3 vNormalWs ) + float3 NormalWorldToTangent( float3 vNormalWs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs ) ``` Material::From( PixelInput ... ), ShadingModelStandard::Shade( PixelInput ... ) stil exist but are wrapped in ifdef COMMON_PS_INPUT_DEFINED, so only work with the common PixelInput include. Material::Init() added to initialize a Material with default values Geometric normals are now distinctive from normals in Material too, this is important for the lighting model: https://files.facepunch.com/matt/1b1711b1/beforeafter.png And a lot of tool vis modes were fixed too.
1 Year Ago
Add basic editing to TreeView entries * BaseItemWidget added OnBeginEdit virtual method * Implement editing to TreeNode & TreeView
1 Year Ago
Only begin editing if there's a selection
1 Year Ago
Shift things around a bit
1 Year Ago
Citizen/animgraph: rework input-based lean layers The upper body lean component now works much better, and is nicely staggered with the additive pelvis position component. A copy of the system, with different settings, is now applied while crouching, which improves settling back to idle. The upper body bit is still a bit hacky due to the lack of model-space additive support, but this works OK enough for now. The entire system is composited in *before* the "center delta" system, so it can't stomp any non-default idle poses anymore. https://files.facepunch.com/maxlebled/1b1611b1/2023-11-16%2021-41-22.mp4
1 Year Ago
Live Unit Testing changes environmental variables and I don't know how to change it, so we get this mess More BytePack game var types
1 Year Ago
Remove IPD measurement - feels useless here - and clean up Add TrackedDeviceInfo defaults Move performance timing stuff into VRNative.Timings.cs, clean up some more stuff Put some of this data in Performance window too
1 Year Ago
Support params object[] when validating method for CodeGenerator.WrapMethod
1 Year Ago
Initial VR performance stats editor tool Takes data from SteamVR compositor, tries to turn it into something that is more useful for us - not sure how much of this data we need/want, or what else we want right now
1 Year Ago
BytePack ByteStream faster System.Array writing Expose a BytePack to GameNetworkSystem ( temporary until we figure out how to work it ) Merge branch 'master' of sbox
1 Year Ago
Add test for CodeGeneraror wrap method with no arg. Fix wrap method with no arg causing syntax error in generated code.
1 Year Ago
Arguments has to be a byte array
1 Year Ago
🚩 Run the exit code before the main game loop, so it doesn't try to render without a window Flagged because this might cause some unforeseen issues.
1 Year Ago
Network message cleanup
1 Year Ago
Remove left over resourcesystem references Remove SceneSystemQtApp so they never get used
1 Year Ago
BeginEdit respects CanEdit
1 Year Ago
Basic name editing for TreeNode
1 Year Ago
Light fixes Can use Material and shading without PixelInput
1 Year Ago
Guard against re-entrant calls into Qt's processEvents Fix splash screen closing before loading finished
1 Year Ago
Just for sanity, lets assert that we're the critical Qt stuff in the main thread There's really no need for this code to be using Task.Run. Also fixed it running 5 times on startup.
1 Year Ago
Lights don't accept PixelInput - explicitly pass positions / lightmap uvs These should be g_vHighPrecisionLightingOffsetWs instead of g_vCameraPositionWs float4 DoAtmospherics( PixelInput i, float4 vColor, bool bAdditiveBlending = false ) -> float4 DoAtmospherics( float3 vInputColor, float3 vPositionWs, float2 vPositionSs, bool bAdditiveBlending = false ) ShadingModel is never going to be an interface like this TransformNormal, NormalWorldToTangent accept explicit parameters instead of PixelInput PS_InitFinalCombiner( PS_INPUT ) -> PS_InitFinalCombiner() so it works without COMMON_PS_INPUT_DEFINED - this is just for default values anyway Delete DryEraseMarker from common ps code PS_CommonTransformNormal should be wrapped in COMMON_PS_INPUT_DEFINED too Wrap Material funcs that interact with assumed common PixelInput with COMMON_PS_INPUT_DEFINED
1 Year Ago
Fix UISystem exceptions on startup Stop using Json for network messages Lock messaging down These network messages should be raw and uncomplicated, so lets do that
1 Year Ago
Expose overriding envmap face size, add SceneCubemap.RenderSize
1 Year Ago
Refactor to ZNear and ZFar properties to match Camera
1 Year Ago
Expose controlling cubemap near far planes, add SceneCubemap.NearFarPlanes
1 Year Ago
Force re-render cubemap if m_bRenderDirty
1 Year Ago
Add SceneCubemap.RenderDirty()
1 Year Ago
Fix ByteStream when writing string Add ByteStream.ReadByteStream Cleanup