* 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>
ListControlWidget now respects the MaxLengthAttribute by disabling the add button when the collection reaches the specified maximum length. Also updated access rules to include MaxLengthAttribute.
Implements https://github.com/Facepunch/sbox-issues/issues/6361
Co-authored-by: Braxen <braxen@braxnet.org>
* SceneEditorSession: make game vs editor scenes more distinct, Scene is whichever is currently active
* Route prefab update, model reload etc events to both scenes if needed
* SceneTree update checking a bit cleaner
* Bring back GameEditorSessions instead, so undo, selection etc can all be linked 1:1 with scenes again
* tweak and tidy
Move filter implementation to python so we have more flexibility when implementing filters.
Make sure deleted files are properly filtered by evaluating globs in the filter itself not before.
Make sure deleted LFS files are accounted for by scanning the history of the shallow clone for delete/changed lfs files.
Whitelist some additional shaders.
* More robust downloading of artifacts
Don't download to a temp file first
Try to retry download up to 3 times, if it fails
Fail Bootstrap if any download fails
* Fix contentbuilder and shadercompiler not forwarding to stdout
* Support instanced tint on Blendable and Material::From( i )
Blendable supports vertex tint color, but was initially intended for world geometry so there was no point in working with instance color, now works fine
https://files.facepunch.com/sampavlovic/1b2611b1/sbox-dev_qkWlvBOXW8.png
* Build shaders
* Fix leaky swapchain when resizing on game mode and dispose of handle after usage
VideoRecorder would get a strong handle copy of the swapchain every frame and retain it, causing native to fail to shutdown the copies from it
Made usage of getting native swapchain consistent on managed on other stuff, doing it like this ensures GC properly disposes of the strong handles even not disposing explicitly
Remove now unused ScreenRecorder.def and ScreenshotService.def
There are still optimizations to swapchain I'd like to send on another commit, game is allocating way more swapchains than needed even without the leak, has two completely different paths depending if you are MSAA or not, this can all be much simpler
https://files.facepunch.com/sampavlovic/1b1811b1/EjDyxbTahs.png
* Remove NativeLayerRenderTarget, was unused and fucked
* Keep it as an ITexture/HRenderTextureStrong in managed so we avoid IDisposable, ReadTextureAsync with ITexture
* Refactor sync script
Use single filter repo call
Use globs instead of python madness
Ensure shallow clone is clean before working on it
* Add dry run option to sync script
* Add public gitattributes