userSam Pavloviccancel
reposboxcancel

1,326 Commits over 1,247 Days - 0.04cph!

Today
Cone intersection for tiled light culling Bloat cones a wee bit, still do sphere culling for point lights
Yesterday
enum support for VFX HLSL We dropped DX11 support so we can support it without a worry microsoft/DirectXShaderCompiler/wiki/Language-Versions#hlsl-2017 r_gpu_shadow_culling cvar, parallelize static light visibility tests
5 Days Ago
Remove all atlas downsampling bullshit, not even being used Was accidentally creating new lightbinner (without light info I needed too) every frame :S CSceneSystem::GetLightBinnerStandard() is "FindOrCreate" while from CSceneView actually gets the actual one GPU Shadow Culling POC: Don't render shadows that are not visible by GPU depth bounds
5 Days Ago
Remove all atlas downsampling bullshit, not even being used Backport shadowcache from CS2
10 Days Ago
Fix tiled rendering on multiple viewports, was taking the main viewport from view rather than the actual viewport from layer :S https://i.imgur.com/PCXh3hJ.png
10 Days Ago
Temp hack fix device lost error in NativeRenderingWidget.cs
10 Days Ago
Check if main camera is null for EnvmapProbe dynamic renders
10 Days Ago
Cubemapper (#1504) * Cubemapper tests * Remove all ggx code for now & just copy directly to cubemap array * TextureCube with mipmaps and arrays and mipmaps * Move texture logic from cubemapper to c# * Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU * Handle all array index stuff in cubemapper * Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders * Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler * GGX filtering * Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples * Assert isn't valid anymore in ComputeImageViews since we can pass a cube array * Do cubemapper processing of all faces at once without using intermediary copies, 4-8x speedup (~17ms > ~2.5ms), still needs to be faster https://i.imgur.com/b61mX1Y.png * Rendersystemvulkan: Alllow binding specific cubemap [ & arrays ] mips if UAV * Remove unsued, clean up * Dynamic cubemap component settings * Remove the old BuildCubeMaps * Add WidgetUtil.CreateSwapChain * NativeRenderingWidget renders in regular render path * Fix RenderDeviceInfo_t wrong size * Add HandlePendingSwapChainResize for explicitly handling swapchain resize events before doing any work, fixes NativeRenderingWidget.RenderScene rendering on a frame with different window size than the actual swapchain ( and then having invalid color/depth buffers) * CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling? * If cubemap has no normalization set, don't consider it for NormalizeCubeBrightness * Compiled shaders with normalization brightness fixes for cubes without SH, reenable cube normalization * Wip fast cubemap filtering ( 2.5ms > 0.09ms 😱 ) * Adjust things on fast envmap filtering, major cleanup, rename shader to envmap_filtering * Use high quality GGX filtering if baking cubemap as OnEnabled * Vulkan: Fix image transition layout when binding a mip of a cubemap that's sampleable as Texture2DArray * Don't fetch render attributes from context, that's composited over, fixes a crash * Assert when UAV Index is invalid * Flag hammer maps to always render cubemaps dynamically & always render at least one frame regardless of distance update settings * Ignore cubemap precomputed handshakes, we can add and remove cubemaps at will on scene, those do not have handshakes so the entire thing was already deprecated when we implemented maploader, this cache gets built by m_nCachedEnvMap at runtime This fixes scene cubemaps not showing on static map geometry * ANTLR: Support any dimension arrays * Use fast envmap filtering even for static ones, looks as good if not better than brute forcing if using a few more taps, delete reference_ibl_lighting.fxc (byebye) * Run filtering in two passes to eliminate any fireflies, realtime filtering looks as good as baked filtering now https://files.facepunch.com/sampavlovic/1b2911b1/465thMK9Yq.jpg * Limit number of simultanious cubemap updates on first load to not overflow transform count in large scenes * Remove S_SPECULAR_CUBE_MAP, stupid define, should just be S_SPECULAR * Extra checks on HandlePendingSwapChainResize, should fix device lost issues when trying to draw subsequently * Adjust number of threads on envmap filtering to avoid collision on accessing same source cubemap on per frame cubemap rendering, doesn't really slow this down * Fix missing textures when trying to query cubemaps from skybox, default value for EnvironmentMap should be thrown from lightbinner, not renderingpipeline * Update shaders --------- Co-authored-by: Garry Newman
10 Days Ago
Cubemapper tests Remove all ggx code for now & just copy directly to cubemap array TextureCube with mipmaps and arrays and mipmaps Move texture logic from cubemapper to c# Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU Handle all array index stuff in cubemapper Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler GGX filtering Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples Assert isn't valid anymore in ComputeImageViews since we can pass a cube array Do cubemapper processing of all faces at once without using intermediary copies, 4-8x speedup (~17ms > ~2.5ms), still needs to be faster https://i.imgur.com/b61mX1Y.png Rendersystemvulkan: Alllow binding specific cubemap [ & arrays ] mips if UAV Remove unsued, clean up Dynamic cubemap component settings Remove the old BuildCubeMaps Add WidgetUtil.CreateSwapChain NativeRenderingWidget renders in regular render path Fix RenderDeviceInfo_t wrong size Add HandlePendingSwapChainResize for explicitly handling swapchain resize events before doing any work, fixes NativeRenderingWidget.RenderScene rendering on a frame with different window size than the actual swapchain ( and then having invalid color/depth buffers) CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling? If cubemap has no normalization set, don't consider it for NormalizeCubeBrightness Compiled shaders with normalization brightness fixes for cubes without SH, reenable cube normalization Wip fast cubemap filtering ( 2.5ms > 0.09ms 😱 ) Adjust things on fast envmap filtering, major cleanup, rename shader to envmap_filtering Use high quality GGX filtering if baking cubemap as OnEnabled Vulkan: Fix image transition layout when binding a mip of a cubemap that's sampleable as Texture2DArray Don't fetch render attributes from context, that's composited over, fixes a crash Assert when UAV Index is invalid Flag hammer maps to always render cubemaps dynamically & always render at least one frame regardless of distance update settings Ignore cubemap precomputed handshakes, we can add and remove cubemaps at will on scene, those do not have handshakes so the entire thing was already deprecated when we implemented maploader, this cache gets built by m_nCachedEnvMap at runtime This fixes scene cubemaps not showing on static map geometry ANTLR: Support any dimension arrays Use fast envmap filtering even for static ones, looks as good if not better than brute forcing if using a few more taps, delete reference_ibl_lighting.fxc (byebye) Run filtering in two passes to eliminate any fireflies, realtime filtering looks as good as baked filtering now https://files.facepunch.com/sampavlovic/1b2911b1/465thMK9Yq.jpg Limit number of simultanious cubemap updates on first load to not overflow transform count in large scenes Remove S_SPECULAR_CUBE_MAP, stupid define, should just be S_SPECULAR Extra checks on HandlePendingSwapChainResize, should fix device lost issues when trying to draw subsequently Adjust number of threads on envmap filtering to avoid collision on accessing same source cubemap on per frame cubemap rendering, doesn't really slow this down Fix missing textures when trying to query cubemaps from skybox, default value for EnvironmentMap should be thrown from lightbinner, not renderingpipeline Update shaders
11 Days Ago
Update shaders
11 Days Ago
Fix missing textures when trying to query cubemaps from skybox, default value for EnvironmentMap should be thrown from lightbinner, not renderingpipeline
11 Days Ago
Limit number of simultanious cubemap updates on first load to not overflow transform count in large scenes Remove S_SPECULAR_CUBE_MAP, stupid define, should just be S_SPECULAR Extra checks on HandlePendingSwapChainResize, should fix device lost issues when trying to draw subsequently Adjust number of threads on envmap filtering to avoid collision on accessing same source cubemap on per frame cubemap rendering, doesn't really slow this down
18 Days Ago
Run filtering in two passes to eliminate any fireflies, realtime filtering looks as good as baked filtering now https://files.facepunch.com/sampavlovic/1b2911b1/465thMK9Yq.jpg
18 Days Ago
ANTLR: Support any dimension arrays Use fast envmap filtering even for static ones, looks as good if not better than brute forcing if using a few more taps, delete reference_ibl_lighting.fxc (byebye)
19 Days Ago
Ignore cubemap precomputed handshakes, we can add and remove cubemaps at will on scene, those do not have handshakes so the entire thing was already deprecated when we implemented maploader, this cache gets built by m_nCachedEnvMap at runtime This fixes scene cubemaps not showing on static map geometry
19 Days Ago
Cubemapper tests Remove all ggx code for now & just copy directly to cubemap array TextureCube with mipmaps and arrays and mipmaps Move texture logic from cubemapper to c# Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU Handle all array index stuff in cubemapper Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler GGX filtering Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples Assert isn't valid anymore in ComputeImageViews since we can pass a cube array Do cubemapper processing of all faces at once without using intermediary copies, 4-8x speedup (~17ms > ~2.5ms), still needs to be faster https://i.imgur.com/b61mX1Y.png Rendersystemvulkan: Alllow binding specific cubemap [ & arrays ] mips if UAV Remove unsued, clean up Dynamic cubemap component settings Remove the old BuildCubeMaps Add WidgetUtil.CreateSwapChain NativeRenderingWidget renders in regular render path Fix RenderDeviceInfo_t wrong size Add HandlePendingSwapChainResize for explicitly handling swapchain resize events before doing any work, fixes NativeRenderingWidget.RenderScene rendering on a frame with different window size than the actual swapchain ( and then having invalid color/depth buffers) CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling? If cubemap has no normalization set, don't consider it for NormalizeCubeBrightness Compiled shaders with normalization brightness fixes for cubes without SH, reenable cube normalization Wip fast cubemap filtering ( 2.5ms > 0.09ms 😱 ) Adjust things on fast envmap filtering, major cleanup, rename shader to envmap_filtering Use high quality GGX filtering if baking cubemap as OnEnabled Vulkan: Fix image transition layout when binding a mip of a cubemap that's sampleable as Texture2DArray Don't fetch render attributes from context, that's composited over, fixes a crash Assert when UAV Index is invalid Flag hammer maps to always render cubemaps dynamically & always render at least one frame regardless of distance update settings
20 Days Ago
Flag hammer maps to always render cubemaps dynamically & always render at least one frame regardless of distance update settings
20 Days Ago
Cubemapper tests Remove all ggx code for now & just copy directly to cubemap array TextureCube with mipmaps and arrays and mipmaps Move texture logic from cubemapper to c# Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU Handle all array index stuff in cubemapper Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler GGX filtering Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples Assert isn't valid anymore in ComputeImageViews since we can pass a cube array Do cubemapper processing of all faces at once without using intermediary copies, 4-8x speedup (~17ms > ~2.5ms), still needs to be faster https://i.imgur.com/b61mX1Y.png Rendersystemvulkan: Alllow binding specific cubemap [ & arrays ] mips if UAV Remove unsued, clean up Dynamic cubemap component settings Remove the old BuildCubeMaps Add WidgetUtil.CreateSwapChain NativeRenderingWidget renders in regular render path Fix RenderDeviceInfo_t wrong size Add HandlePendingSwapChainResize for explicitly handling swapchain resize events before doing any work, fixes NativeRenderingWidget.RenderScene rendering on a frame with different window size than the actual swapchain ( and then having invalid color/depth buffers) CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling? If cubemap has no normalization set, don't consider it for NormalizeCubeBrightness Compiled shaders with normalization brightness fixes for cubes without SH, reenable cube normalization Wip fast cubemap filtering ( 2.5ms > 0.09ms 😱 ) Adjust things on fast envmap filtering, major cleanup, rename shader to envmap_filtering Use high quality GGX filtering if baking cubemap as OnEnabled Vulkan: Fix image transition layout when binding a mip of a cubemap that's sampleable as Texture2DArray Don't fetch render attributes from context, that's composited over, fixes a crash Assert when UAV Index is invalid
24 Days Ago
Use high quality GGX filtering if baking cubemap as OnEnabled
24 Days Ago
Adjust things on fast envmap filtering, major cleanup, rename shader to envmap_filtering
24 Days Ago
Wip fast cubemap filtering ( 2.5ms > 0.09ms 😱 )
24 Days Ago
Compiled shaders with normalization brightness fixes for cubes without SH, reenable cube normalization
24 Days Ago
CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling? If cubemap has no normalization set, don't consider it for NormalizeCubeBrightness
25 Days Ago
CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling?
25 Days Ago
Be able to disable cubemap normalization without S_TOOLS_VIS on shader
25 Days Ago
Add HandlePendingSwapChainResize for explicitly handling swapchain resize events before doing any work, fixes NativeRenderingWidget.RenderScene rendering on a frame with different window size than the actual swapchain ( and then having invalid color/depth buffers)
26 Days Ago
Don't flag SceneObject and SceneModel as ESceneObjectFlags.IS_OPAQUE, the materials should dictate it, fixes translucent materials drawing in opaque passes (& drawing twice)
26 Days Ago
Cubemapper tests Remove all ggx code for now & just copy directly to cubemap array TextureCube with mipmaps and arrays and mipmaps Move texture logic from cubemapper to c# Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU Handle all array index stuff in cubemapper Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler GGX filtering Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples Assert isn't valid anymore in ComputeImageViews since we can pass a cube array Do cubemapper processing of all faces at once without using intermediary copies, 4-8x speedup (~17ms > ~2.5ms), still needs to be faster https://i.imgur.com/b61mX1Y.png Rendersystemvulkan: Alllow binding specific cubemap [ & arrays ] mips if UAV
27 Days Ago
Actually set D_MSAA combo on depth_downsample
27 Days Ago
Vulkan: Fix validation errors with MSAA disabled, this should fix a lot of crashing problems for people playing without MSAA
29 Days Ago
Cubemapper tests Remove all ggx code for now & just copy directly to cubemap array TextureCube with mipmaps and arrays and mipmaps Move texture logic from cubemapper to c# Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU Handle all array index stuff in cubemapper Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler GGX filtering Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples Assert isn't valid anymore in ComputeImageViews since we can pass a cube array Do cubemapper processing of all faces at once without using intermediary copies, 4-8x speedup (~17ms > ~2.5ms), still needs to be faster https://i.imgur.com/b61mX1Y.png Rendersystemvulkan: Alllow binding specific cubemap [ & arrays ] mips if UAV
32 Days Ago
Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples Assert isn't valid anymore in ComputeImageViews since we can pass a cube array
32 Days Ago
GGX filtering
32 Days Ago
Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler
32 Days Ago
Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders
32 Days Ago
Cubemapper tests Remove all ggx code for now & just copy directly to cubemap array TextureCube with mipmaps and arrays and mipmaps Move texture logic from cubemapper to c# Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU Handle all array index stuff in cubemapper
33 Days Ago
Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU Handle all array index stuff in cubemapper
33 Days Ago
Cubemapper tests Remove all ggx code for now & just copy directly to cubemap array TextureCube with mipmaps and arrays and mipmaps Move texture logic from cubemapper to c#
33 Days Ago
Remove all ggx code for now & just copy directly to cubemap array
33 Days Ago
Fixes local interpolation jitter Game Object Network Mode Selection https://files.facepunch.com/conna/1b0711b1/sbox-dev_G97N4pdA3q.png (#1495) [ActionGraphInclude] implies [Expose] Rename "Game Object" node category to "Scene" Expose scene tracing to Action Graph https://files.facepunch.com/ziks/2024-03-11/sbox-dev_rirZ1oi97u.mp4 Fixes Facepunch/sbox-issues#5120 ActionGraph node menu respects [ReadOnly] attributes Check all conditionals in SerializedProperty.ShouldShow, should make multiple ShowIf's work again Update Facepunch.ActionGraph Facepunch/sbox-issues#5066 Facepunch/sbox-issues#5128 OnDestroyInternal should be internal IzTriangleHull calculates center with doubles, I have no idea why this fixes triangle collision but it does handlebar_moustache small adjustments studdle colour adjustments Allow easy access to graph inputs from node menu, including "This" https://files.facepunch.com/ziks/2024-03-11/RkOMLQmLlN.png Facepunch/sbox-issues#5082 Fix copy/pasting nodes referencing graph target input. Fix NRE when deleting items from serialized list in inspector Fix removing dictionary entries not marking scene unsaved Get rid of redraw flicker when adding/removing from lists and dicts Proper fix for hull vs mesh at large coordinates (thanks dirk) Handle exceptions thrown when discovering reflection-based nodes Fixes Facepunch/sbox-issues#5157 Remove last references to lightbinnervr Readd Dynamic/Baked light settings on hammer Add Scene.Render to unify scene rendering - should fix sbox-issues/issues/4924 Strip out menu resources/startup resources - more trouble than it's worth Fix OnPreRender always getting called, even if execute in editor is false Tick UI right before render, after other updates Make ComponentTypeSelector slightly taller (fixes sbox-issues/issues/5155) Component selector search is scored, uses classname and description too Add tooltip to component selector Rename Particle System to Legacy Particle System Asset preview for fbx, obj, smd https://files.facepunch.com/layla/1b1211b1/sbox-dev_uPe3bKuNAh.png Don't preview smd for now SerializedProperty and ControlSheet support nullable values BoolControlWidget fade property when disabled Fbx serializer is too spammy Ignore unknown color formats in CMesh::CalculateInputLayoutFromAttributes Don't create model for preview mesh if there's no valid meshes Add Vector3.CatmullRomSpline, Vector3.TcbSpline Add SceneLineObject Add LineRenderer component Add line prefab Fix NRE Make joint more robust in finding physics bodies, improve the gizmos a bit Better anchor points for spring joint Fix async warning in PreviewMesh Izabu: Move triangle shifting further up the callstack so the fix gets applied to sphere and capsules too ICollisionListener & ITriggerListener have default interface methods + docs Resolves sbox-issues/issues/4852 Fix game setup's Launch Mode always falling back to default LaunchMode.Normal Resolves sbox-issues/issues/4923 Add RigidBody.MotionEnabled Fix prismatic disabling limit when it shouldn't Create slider with 2 pivots and an axis, this makes the most sense Base joint passes two physics points for joint creation Do a pass on all joints to make sure their local frames make sense Fixed joint keeps the bodies fixed where they are at the moment of joint creation instead of snapping Joint gizmo just draws a line from self to target game object Drag & drop components to change their order Resolves sbox-issues/issues/4254 EditLogs for when a component is moved Tick UI before resetting input - fixes sbox-issues/issues/5169 Fix ParticleGradient defaults not saving properly - fixes sbox-issues/issues/5144 Store lobby owner in lobby data, for access from list - fixes sbox-issues/issues/5141 Try to store package revision id in lobby Cubemapper tests Merge branch 'cubemapper' of sbox into cubemapper
34 Days Ago
Remove last references to lightbinnervr Readd Dynamic/Baked light settings on hammer
38 Days Ago
Fix build
38 Days Ago
Move light culling renderer to scenesystem and remove GetPtrValue hacks from it, we'll call it from lightbinner to pass results from light culling, layers still exist on renderingpipeline for ordering
45 Days Ago
Revert "Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on" This reverts commit 65bc314734f0003a9d2dc5c10e5f7da3a11a8db0.
45 Days Ago
Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on
56 Days Ago
GatherVisibleLightsGPU Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on Do lightbinning for light culling on render thread when a layer first wants to request lights, guarantees we have a depth pyramid by then If we are on a render thread just do a simple flush for ForceFlushGPU(), we just want the GPU to finish it's work, not clean up things Run lightbinner calculation in render thread & actually on lightbinner layer Light culling tests with depth & light radius on compute shader Flush rather than ForceGPUFlush on CReadGPUBuffer::WaitUntilRead() Finish light visibility test shader, rewrite to be cleaner, temp pass PerViewConstantBuffer_t for g_vDepthPsToVsConversion on layer
56 Days Ago
Hash view ID to FindOrCreateFrameBufferScratchTexture as well to solve collision when we have multiple views with same resolution, eg with splitscreen Fix dynamic reflections and AO in viewported views Add compiled shaders for viewport shading fixes Texture barriers for SSR in multiple viewports
59 Days Ago
GatherVisibleLightsGPU Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on Do lightbinning for light culling on render thread when a layer first wants to request lights, guarantees we have a depth pyramid by then If we are on a render thread just do a simple flush for ForceFlushGPU(), we just want the GPU to finish it's work, not clean up things Run lightbinner calculation in render thread & actually on lightbinner layer Light culling tests with depth & light radius on compute shader Flush rather than ForceGPUFlush on CReadGPUBuffer::WaitUntilRead()
2 Months Ago
GatherVisibleLightsGPU Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on Do lightbinning for light culling on render thread when a layer first wants to request lights, guarantees we have a depth pyramid by then If we are on a render thread just do a simple flush for ForceFlushGPU(), we just want the GPU to finish it's work, not clean up things
2 Months Ago
Cupertino: libpnga Cupertino: GameNetworkingSockets and SteamAPI libs on game folder Convert .dlls to platform-specific (linux/mac) equivalents on GlobalParser for nativedlls in interopgen