* Use TensorPrimitives in FloatSpan instead of questionable AVX usage.
* Add some basic floatspan unit tests
---------
Co-authored-by: Lorenz Junglas <4759511+lolleko@users.noreply.github.com>
* Fix atmosphere_sky shader
https://files.facepunch.com/sampavlovic/1b3011b1/sbox-dev_JyR30GkkzO.png
I am not sure if we should have this on core shaders, this was one of our earliest shaders while we were still experimenting with the engine, but I fixed some issues people were having with it anyway since it's here
When we moved to new Lightbinner we didnt had a dedicated variable for sunlight anymore so I had quickly made a hack to get this working on atmosphere light, but it sucked and had issues with multiple lights in the scene
I don't think this needs to be passed from C# to shader since this is so niche, so I am calculating sun light in the compute shader and done properly now, this makes it more perfomant and reduces the need of redundant operations, from lightbinner directional light has infinite range
Removed atmosphere_sky.fxc, just put everything in the same shader in COMMON
Also fixes envmap probes and DDGI not rendering correctly on sky
https://files.facepunch.com/sampavlovic/1b3011b1/sbox-dev_DpFWvNuLgv.mp4
This does not support multiple directional lights but I dont think anyone would care
* Fix signed comparison in uint
Update QueryServers to stop throwing on cancellation and return any collected server data. Catch OperationCanceledException, letting callers treat timeouts as empty/partial results.
Co-authored-by: trende2001 <68961063+trende2001@users.noreply.github.com>
Games with multiple archives can have multiple files with same names through their archives, either for HDD/CD seek optimization with sequential access redundancy or patch versioning
We don't even support duplicate file names in archive loading but they'd be added regardless to our list & UI
* Fix SSR not reprojecting correctly and drifting on downsample, reference original code and backport some of the stuff from motion vectors too, major cleanup
* Logic for RenderTarget.GetTemporary probably shouldn't ceil, causes a lot of drifting in SSR even though the logic is correct, can see downsampling up to 10 and still remaining sharp
https://files.facepunch.com/sampavlovic/1b2511b1/sbox-dev_dB9j5ipUTA.mp4
* Barriers are very strict on Intel ARC, make them explicit for SSAO and SSR, while at it make this logic for SSR simpler
For reference this is how it could appear on Intel ARC B580
https://files.facepunch.com/sampavlovic/1b2511b1/sbox-dev_UjkEGVD4k4.mp4
* CommandList.ResourceBarrierTransition for Textures/RenderTargets
* Fix Reflections_GetHitPositionReprojection while being aware of Motion::Get for future Motion Vector API, deal with temporal stability better
https://files.facepunch.com/sampavlovic/1b2811b1/sbox-dev_He8gAbtPau.mp4
* Build shader
* Format
* Impact damage system added to Rigidbody
* Fix Rigidbody Velocity and AngularVelocity not getting applied if object wasn't created yet
* Props only ignite from impact damage if it's significant
* Fix gibs not properly inheriting parent object velocity
* display application version in log on editor startup
* show version in editor about popup
---------
Co-authored-by: nixx quality <nixx@is-fantabulo.us>
* Re-enable CreateBLAS in RenderDeviceVulkan
* Update SPVRemapper to suppot raytracing opcode remapping
* Null initialize BLAS on RenderMesh
* Clean proper to generate BLAS on mesh data loading
* SceneRaytracingSystem stub
* Glue SceneRaytracing
* Remove pipelines from SceneRaytracing for now, just do TLAS, tie it to SceneRaytracingSystem, updates only once per frame just like how we want in a clean way
https://files.facepunch.com/sampavlovic/1b0611b1/ngfx-ui_Ck3ckzQQFT.png
* Send Descriptor Set of Raytracing World to RenderAttribute
* RTAO example using RayQuery
* RayTracingShader API stub
* Set SM6.0 and dxlevel 120 as default
* Instead of making raytracing opt-in, add -nogpuraytracing to force disable it
* Add IRenderDevice::IsRayTracingSupported() to easily query support for it
* Fix IsRayTracingSupported()
* RTAO Adjustments
* Allow Rayquery through AS on Compute and Pixel shaders even if not optimal, avoids it crashing when acessing it on compute
* Strip CRaytraceSceneWorld to just generating TLAS, dont need anything else for now and we need a better way to handle UGC than what's there
* Bindless::RaytracingAccelerationStructure()
* Simplify interface too
* Stub for UpdateSkinnedForRaytracing
* Dotnet format and fix documentation, make RTAO run at correct stage
* Only support raytracing in tools mode for now
* Move raytracing stuff to Raytracing.hlsl
* Stub RTX shader
* Internal Raytracingshader and remove useless stuff exposed from it
* VfxProgramHasRenderShader should check for VFX_PROGRAM_RTX too, that's the source from everything else failing
* Add arbitrary entry point support to shaders, needed as RTX shaders use [shader("XXX")] instead of MainXXX directly
* RenderTools::TraceRays API, preliminary implementation, RTAO uses RaytracingShader
* Make RT support internal, allow RT on game
* Remove RaytracedAmbientOcclusion, will be on scenestaging when ready
* Update engine/Sandbox.Engine/Systems/Render/RayTracingShader.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix rebase
* Update shaders
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>