usermattcancel
reposboxcancel

1,563 Commits over 1,247 Days - 0.05cph!

Yesterday
Cube texture creates array slice image views allowing each face to be treated as a framebuffer Visualize depth uses screen space coords [stash] Foundations for VK_KHR_multiview and cubemap render targets Scene system listeners I'll need later New shadow mapper: spot and point lights so far * Move all logic to c# for full ownership, delete old native code * Bindless shadow map textures, delete old shadow atlas * Spot Lights * Point Lights: cube textures with hw pcf poisson sampling * Add user setting r.shadows.quality (0-3) low->high for better filtering * Scale shadow map resolution based off of screen size the light occupies * Debug system
Yesterday
Revert "What if we explicitly r2r sbox.exe only" This reverts commit 4e8078b86f52d37d663f5fe4da8dc1dc33a862f1.
Yesterday
Clean up old dead code Collect and pass around SceneLightObjects instead of the LightDesc ptr Remove CSceneView::m_bIsThirdPerson Add "Cast Shadows" property to MeshComponent
5 Days Ago
Restore adding per frame stats from updating upstream code
5 Days Ago
Whitelist System.Private.CoreLib/System.ParamArrayAttribute
5 Days Ago
AccessControl touches method parameter custom attributes types Whitelist System.Diagnostics.CodeAnalysis.* Whitelist CollectionsMarshal.AsSpan<T> and CollectionsMarshal.SetCount<T> ( closes Facepunch/sbox-issues#6905 )
8 Days Ago
Fix ClothingList regression
12 Days Ago
Unused CSceneSystem::m_nTransformTextureRowCount ParentPackage installs to asset system so we can use prefabs, gameresources, etc. Show parent package in asset browser
15 Days Ago
Fix bindless lightmap crashes why are we never checking nullptrs ( closes Facepunch/sbox-issues#7705 )
29 Days Ago
Fix DOF erroring on non-msaa vfx_vulkan: SV_ViewID is a built in semantic Update CSceneSystem::SubmitDisplayListsForView removing multi-submit VR junk vulkan: unfuck image views for cube textures Shaders compile for shader model 6.1
30 Days Ago
Scene system listeners I'll need later Clean up old dead code Collect and pass around SceneLightObjects instead of the LightDesc ptr Managed shadow mapper, entry point from lightbinner, creates and renders shadow frustums Set gpu light data from c#, pass shadowmap bindless texture id, use it from lighting shaders Visualize depth uses screen space coords vfx_vulkan: SV_ViewID is a built in semantic fucking with VK_KHR_multiview and cubemap render targets
30 Days Ago
Don't return a new list each light gather, reuse the already allocated memory
30 Days Ago
Unused SceneView methods Remove ISceneView::AddSceneObjectToRenderList ISceneView::GetWorldToRender & related return ISceneWorld not CSceneWorld Add CommandList.Set( StringToken, Texture ) Dispose of AssetPreviews after we've rendered their thumbnail. PreviewScene.Dispose destroys it's Scene
31 Days Ago
Restore accidentally deleted CreateTexture2D macros.. for now restore ui shader which was blitting text Delete some more shit resourcemanifests Fix bloom blur using wrong sampler causing bleeding over edges
32 Days Ago
Base shaders: stop using macros for texture creation + sampling, use standard HLSL syntax Core shaders: stop using macros for texture creation + sampling Build shaders yuv_resolve.shader should use explicit register positions (it's sampler was never being properly bound!!)
33 Days Ago
Unused materials using those unused shaders
33 Days Ago
Delete unused (or should be unused) shaders * ui * ui_texture_on_model * visualize_cloth * visualize_nav * visualize_physics * blur * unlit (ui shader) Deleted unused non-compute gaussian blur shader Delete pre SM4/DX10 compatability code Don't try to disable these shader warnings
33 Days Ago
Decals gradient uv scales off the proper axis (stops mipmapping way too soon)
34 Days Ago
fucking with VK_KHR_multiview and cubemap render targets
35 Days Ago
Decal: Update transform when dirty too Fixes Facepunch/sbox-issues#7518
35 Days Ago
Add missing shader include Build shaders
35 Days Ago
Gpu decals point towards forward and not left 🤦 Fix Gpu Decals normals not transforming to world space New decal component - https://sbox.game/dev/doc/reference/components/decals/
37 Days Ago
Don't return a new list each light gather, reuse the already allocated memory Collect and pass around SceneLightObjects instead of the LightDesc ptr Stubbed managed shadowmapper appsystem (this is such bullshit for a simple interface for scenesystem) Managed shadow mapper stub, entry point from lightbinner Add CommandList.Set( StringToken, Texture ) Dispose of AssetPreviews after we've rendered their thumbnail. PreviewScene.Dispose destroys it's Scene ISceneView::GetWorldToRender & related return ISceneWorld not CSceneWorld Clean up old dead code Create and render shadow frustums from managed Scene system listeners I'll need later Remove native shadow rendering Set gpu light data from c#, pass shadowmap bindless texture id, use it from lighting shaders Depth bias shadows Visualize depth uses screen space coords
43 Days Ago
Add r_gpu_decals toggle
43 Days Ago
Skin applies new decals (uses non-shared rendering path so Decals::Apply has to be inserted here) https://files.facepunch.com/matt/1b2711b1/sbox-dev_PM9LtJUEwM.png Build shaders
46 Days Ago
Forward+ Decals (#1606) GPU driven tile culled decals that modify their surfaces PBR properties. No additional draw calls for any decals. * PBR modification: Albedo, Normal, Roughness, Metal, AO * Works with transparent surfaces as it's not projecting based on depth * Color Tinting + Opacity * Angle attenuation * Automatic sort order + override * Future compataibility with extra data flags to add 100 more things * Decal::Apply( ... ) API
46 Days Ago
Fix
46 Days Ago
Clean up, remove unused properties, destroy buffer, 64 decals per screen tile
46 Days Ago
Forward+ Decals GPU driven tile culled decals that modify their surfaces PBR properties. No additional draw calls for any decals. * PBR modification: Albedo, Normal, Roughness, Metal, AO * Works with transparent surfaces as it's not projecting based on depth * Color Tinting + Opacity * Angle attenuation * Automatic sort order + override * Future compataibility with extra data flags to add 100 more things * Decal::Apply( ... ) API
46 Days Ago
add octohedral_encoding.fxc include
48 Days Ago
Revert "Bindless lightmaps/Lightmap Combo Removal (#1765)" This reverts commit 1fdcdeab689851f1093853faa8d8b4d6041d63f7. # Conflicts: # game/addons/base/Assets/postprocess/ObjectHighlight/objecthighlight.shader_c # game/addons/base/Assets/shaders/atmosphere_sky.shader_c # game/addons/base/Assets/shaders/blendable.shader_c # game/addons/base/Assets/shaders/foliage.shader_c # game/addons/base/Assets/shaders/fur.shader_c # game/addons/base/Assets/shaders/gizmo/gizmo_grid.shader_c # game/addons/base/Assets/shaders/gizmo/gizmo_line.shader_c # game/addons/base/Assets/shaders/glass.shader_c # game/addons/base/Assets/shaders/line.shader_c # game/addons/base/Assets/shaders/lpv_debug.shader_c # game/addons/base/Assets/shaders/sprite.shader_c # game/addons/base/Assets/shaders/terrain.shader_c # game/addons/base/Assets/shaders/terrain_brush.shader_c # game/addons/base/Assets/shaders/terrain_preview.shader_c # game/addons/base/Assets/shaders/tiled_light_culling_cs.shader_c # game/addons/base/Assets/shaders/ui_backdropfilter.shader_c # game/addons/base/Assets/shaders/ui_basic.shader_c # game/addons/base/Assets/shaders/ui_borderwrap.shader_c # game/addons/base/Assets/shaders/ui_cssbox.shader_c # game/addons/base/Assets/shaders/ui_cssshadow.shader_c # game/addons/base/Assets/shaders/ui_dropshadow.shader_c # game/addons/base/Assets/shaders/ui_filter.shader_c # game/addons/base/Assets/shaders/ui_text.shader_c # game/addons/base/Assets/shaders/vertex_color.shader_c # game/addons/base/Assets/shaders/water.shader_c # game/core/shaders/black_unlit.shader_c # game/core/shaders/cables.shader_c # game/core/shaders/complex.shader_c # game/core/shaders/complex_reflections.shader_c # game/core/shaders/cs_volumetric_fog.shader_c # game/core/shaders/debug_wireframe_2d.shader_c # game/core/shaders/decal.shader_c # game/core/shaders/depth_only.shader_c # game/core/shaders/eyeball.shader_c # game/core/shaders/generic.shader_c # game/core/shaders/hair.shader_c # game/core/shaders/post_process.shader_c # game/core/shaders/projected_decals.shader_c # game/core/shaders/projected_sheet_decals.shader_c # game/core/shaders/simple.shader_c # game/core/shaders/skin.shader_c # game/core/shaders/sky.shader_c # game/core/shaders/spritecard.shader_c # game/core/shaders/static_overlay.shader_c # game/core/shaders/tools_shading_complexity.shader_c # game/core/shaders/tools_solid.shader_c # game/core/shaders/tools_visualize_collision_mesh.shader_c # game/core/shaders/tools_wireframe.shader_c # game/core/shaders/ui.shader_c # game/core/shaders/visualize_cloth.shader_c # game/core/shaders/visualize_nav.shader_c # game/core/shaders/visualize_physics.shader_c # game/core/shaders/vr_tools_shading_complexity.shader_c Build shaders
49 Days Ago
Don't try to use shaderFloat16 either since this is only avaliable on gtx1660+
49 Days Ago
don't require everyone to have a raytracing capable gpu (:
49 Days Ago
Enable vulkan 1.2 features (scalarBlockLayout, bda, descriptor indexing, etc.) instead of using all the extensions
49 Days Ago
Build shaders
49 Days Ago
Vulkan 1.2 is minimum requirement, device support remains the same. We already required several extensions that are core in 1.2 such as descriptor indexing Shaders compiler uses scalar layout instead of std140/std430 layout (VK_EXT_scalar_block_layout is core in 1.2) This is a much less confusing layout for structures in HLSL, allowing for tighter packing and generally matching their C++/C# counter parts. e.g: ```hlsl struct T { float a_float; float3 b_float3; } ``` The size of struct T was previously 32 bytes with GL layout and is now 16 bytes. The offset of b_float3 was previously 16 bytes and is now 4 bytes with scalar layout. More info on rules (previously GL, new Scalar) microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst#memory-layout-rules https://maraneshi.github.io/HLSL-ConstantBufferLayoutVisualizer/
50 Days Ago
Optimze Pixmap.FromTexture (don't swizzle the format 3 times) 4096x4096 339ms -> 115ms 2048x2048 90ms -> 50ms 1024x1024 20ms -> 10ms Bottleneck is going to be the data read from GPU -> CPU, not much else to do
53 Days Ago
Materials store the shader version they were compiled against, added Source( ShaderVersion ) for shaders to query what the current material was compiled against for backwards compatability Blendable: Use hemi octahedron encoded normals same as complex for better quality, remove a redundant texture lookup per layer, remove the 5th unused blend layer because wtf https://files.facepunch.com/matt/1b1811b1/mspaint_qIv6MYpn8Y.png
55 Days Ago
Fix failing to start game if VRSystem returns nullptr for extensions
55 Days Ago
Material.FromShader uses path and not just name - allows shaders of same name in different folders
57 Days Ago
Forward+ Decals * Decals get binned by the lightbinner from OnSceneObjectVisibleInView (all lights should start using this callback too) * Tiled culling checks decals within each tiles frustum * Decal::Apply( ... ) is used to mix decal's albedo, normal, etc. into surface Our shader includes are a cyclic dependent mess, I have no idea how to not make this simple thing simple
57 Days Ago
Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView CSceneObject::GetCTransformUnaligned() Delete random Hammer shit
57 Days Ago
Don't use shadercache if we're force recompiling. Output total time.
57 Days Ago
Leftover log, useless include
57 Days Ago
Fix race condition with GetTemporaryFolder() where we'd end up with a .source2.source2.source2 folder Mount cloud maps from snapshot too (repeated logic from MapInstance bleh)
2 Months Ago
Add referenced resources in the Scene to the vmap. Fixes Facepunch/sbox-issues#6839
2 Months Ago
2 Months Ago
Hide/Unhide works on Hammer GameObjects Resolves Facepunch/sbox-issues#7200
2 Months Ago
Delete all this dota grass code
2 Months Ago
Add dump_scene concmd, puts a clone of the current scene onto the clipboard for debugging MapInstance: Don't delete all our children we've just received from the network snapshot Mounted VPKs are part of the snapshot, we need these mounted before we deserialize the received scene / networked objects