usermattcancel
reposboxcancel

1,495 Commits over 1,157 Days - 0.05cph!

3 Months Ago
Clamp dirty regions within terrain bounds Explicit updates for Terrain material buffers since we're not uploading this every frame like a mad man now TerrainMaterial.Metalness range 0.0f - 1.0f
3 Months Ago
Terrain: Make texture paint & holes also work with new undo
3 Months Ago
RectInt: your favourite Rect struct but with integers Texture.GetPixels: Able to specify dstRect fully Terrain optimizations, better undo/redo, clean up * Implement new undo/redo system, track delta changes instead of full snapshots (faster, more reliable) * Don't upload buffers every frame in OnPreRender * Stop using MakeDirty, each property only updates what it needs to * Only create SceneObject when we can actually use it * Don't over expose public methods & properties, remove dead methods Optimize TerrainStorage.GetDominantControlMapIndices 400ms -> 1ms Pass in a buffer we get from ArrayPool instead of allocating and returning, also preresolve some getters Vector3: Aggressive inlining on aggressively inlined System.Numerics.Vector3 methods TerrainClipmap mesh gen optimize 266ms -> 26ms
3 Months Ago
Don't recreate Edit menu, just update the undo options - fixes Facepunch/sbox-issues#6539
3 Months Ago
steamApiDll wasn't being populated properly, so it'd never free Dynamic edit menu, show top undo/redo entry name, disable if nothing on stack https://files.facepunch.com/matt/1b0111b1/0jX7JegPIJ.png
3 Months Ago
Revert "If Graphics.RenderTarget is not overriden, let it return the actual output rendertarget so you can fetch MSAA textures without copy ( you're going to shoot your own balls using this if you dont know what you're doing )" This reverts commit 3d84d6b56d8d948c5212e13e69ab82a2fc4af264.
3 Months Ago
Let's not have 2 KeyBind razor components, use same styling as settings for BindModal, fixes not being able to bind properly Fixes Facepunch/sbox-issues#6421
3 Months Ago
Use PackageManager to LoadAllGameResource from active packages instead of explicitly calling it everytime we need to after Package.MountAsync() Fixes Facepunch/sbox-issues#6206
3 Months Ago
RenderTarget.From throws an exception if the passed textures were not created as render targets. This then fixes crashes when you're trying to use these invalid RenderTargets. Fixes Facepunch/sbox-issues#6463
3 Months Ago
Avoid cyclic library references when publishing libraries Fixes Facepunch/sbox-issues#6414 Fixes Facepunch/sbox-issues#6410
3 Months Ago
MeshComponent updates meshsystem & sceneobject flags when setting a new model, this is usually automatic but it's a semi-procedural workflow
3 Months Ago
TreeView nodes do not call OnItemActivate when double clicking the expand/collapse button Fixes Facepunch/sbox-issues#6487
3 Months Ago
Use EditorTypeLibrary for Hammer PrimitiveBuilders (bonus: you can define these in your own editor libraries too) Fixes Facepunch/sbox-issues#6499
4 Months Ago
-allowlocalhttp works for WebSurface in editor only. Also limit Http local http to editor and headless (dedicated server), players should never be able to accidentally opt in Facepunch/sbox-issues#5774
4 Months Ago
Handle WebSurface.Url null, remove duplicate private url check Fixes Facepunch/sbox-issues#6380
4 Months Ago
Optimize TextureBuilder creations with no initial data * Use vkCmdClearColorImage instead of allocating a big empty buffer in managed * Texture.CreateInternal also passes a nullptr if the span is empty, so we don't do additional unnecessary setdata It's weird all of this stuff has an API of Span<T> & int length, but hard to fix without API breaking changes DrawIndirectArguments should be LayoutKind.Sequential
4 Months Ago
Backport some more gpu profiling for scenesystem
4 Months Ago
Backport scenesystem GPU profiling
4 Months Ago
Restore these deleted attributes to Valve core shaders, where we ended up only including them accidentally only in reflection mode in complex..... (fixes missing world mapping and other features in complex & more) sbox/pull/736/commits/bca14ecb2bba7d5410a2b971ab1f9a9c406a41d3 We should not be removing core stuff from core shaders because we're accidentally including our material api. The material api should depend on core, not the other way around compiled complex
5 Months Ago
ComputeBuffer.GetData - 0 count is illegal Add Model.GetIndexCount( int ) Model.GetIndexStart( int ) Model.GetBaseVertex( int ) Shadow map layers set proper ELayerEnum::Shadow, fixes SceneCustomObject not casting shadows
5 Months Ago
git blame ignore "Copy over changes for shader resources"
5 Months Ago
5 Months Ago
ComputeBuffer methods use the current render context if applicable, otherwise stuff is in weird shit orders Match upstream m_bIsReadOnlyDepthStencil Don't bind ShadowDepthBuffer as an input whilst we're writing to it as a render target (drawing shadows)... 🤯
5 Months Ago
Add ComputeBuffer.SetCounterValue( uint ) for Append buffers
5 Months Ago
Add ComputeBufferType.IndirectDrawArguments Public Graphics.DrawModel(Instanced)(Indirect), prefer Span<Transform> to Transform[T]
5 Months Ago
Terrain:GetHeight() multiplies by heightscale
5 Months Ago
compiled complex.shader_c with stripped combos 259MB -> 102MB... there's more we can do but let's see if anyone whines first
5 Months Ago
complex.shader: remove F/S_OVERLAY, we have specialized overlay shaders already complex.shader: drop texture animation, way too specialized complex.shader: half combos by making S_REFLECTIONS it's own shader variant since it doesn't really use 99% of the other combos shaders: drop D_BAKED_LIGHTING_FROM_VERTEX_STREAM complex.shader: combo rules for F_PARALLAX_OCCLUSION (insanity that we added this to this shader) Drastically reduce unlikely combos by disallowing with: - Translucent - Alpha Test - Cloth Shading - Bent Normals - Diffuse Wrap - Additive Blend - Detail Texture - Metalness Texture - Retro Reflective
5 Months Ago
Fix crash from trying to upload too many envmaps to the GPU, missing range check but also why are there this many envmaps being binned @samzanemesis
5 Months Ago
Add Scene.RenderAttributes for global render attributes for usecases similar to Unity's Shader.SetGlobal...( ) Terrain buffers are global scene attributes (that actually work this time)
5 Months Ago
Remove max thread count from pooled dynamic vb/ib, fixing crash when used from too many threads (.net threads with unreliable ids)
5 Months Ago
Fix open_asset crashing in non-tools Don't show lobby cards for games marked as hidden (unless you're in that org)
5 Months Ago
Another out of memory fatal error
5 Months Ago
Validate descriptor bindings of a shader (for real this time, not in a dead method) - prevent crashing by not loading these invalid shaders
5 Months Ago
Tag map for sentry too (if launched with a map)
5 Months Ago
Fix exception with no camera
5 Months Ago
Some error reporting breadcrumbs/tag for identifying game package Breadcrumb pipeline creation to see what shaders crashing us
5 Months Ago
Running out of video and system memory is a fatal error
5 Months Ago
Move all terrain attributes into 1 structured buffer, create a Terrain class any shader can use to provide things like Terrain::GetHeight( worldPos ) Use an AssetPicker for browsing terrain materials instead
5 Months Ago
UI: Do not render invalid texture background images Fix missing map select button
5 Months Ago
Disallow np2 textures, crashes the DXT compressor we use, plus disables mips etc.
5 Months Ago
CRenderDeviceBase::AsyncSetTextureData2: Fix nullptr crash with invalid rects Don't completely fail to start with an invalid controller plugged in, needs to be properly fixed in C++ though
5 Months Ago
Fucked debug code
5 Months Ago
Terrain: Add Hole tool This is a seperate R8 texture currently, but will be JsonUpgrade and folded once the splat map becomes an index map. https://files.facepunch.com/matt/1b2111b1/0pGQXMLbc2.png
5 Months Ago
Browse cloud terrain materials button Can drop terrain materials onto terrain in scene
5 Months Ago
Terrain Materials accept dragged cloud assets
5 Months Ago
TerrainMaterialList: Double clicking a material opens its editor (single click selects for use still) Terrain settings hide Collider properties which we force, can we have Terrain not inherit these at all @aylaylay Terrain: larger default clipmap extents (fine but can be smarter without a clod mesh), remake clipmap mesh on dirty properties Terrain: Add MaterialOverride for custom shaders using terrain shader api
5 Months Ago
DynamicSceneObject: AddVertex( Span ) should not accept a count, internalize ptr only method, VertexSceneObject adds range
6 Months Ago
Reverse Z (#1581) Every other modern engine uses a reversed depth buffer, Unity DX11+ UE4+ Godot It brings a massive improvement to depth buffer precision helping to prevent z-fighting and other depth precision issues. Source 2 has always had support for it but was not forced because of DX9. We should have turned this on long ago and will have to rip the band aid off at some point. It will break peoples custom shaders. The other ways their shaders would break that I'm unsure if we could provide compatability are rare: Interact with the depth buffer directly or through Depth::Get etc. Perform operations in clip space like gizmo_grid.shader does. I don't see why we'd ever change clip space direction again after this.
6 Months Ago
EditorPreferences.CameraZNear minimum range 1 please stop Resolves Facepunch/sbox-issues#5696 Box select works in ToolVis modes (ui_cssbox shader) Resolves Facepunch/sbox-issues#5699