1,586 Commits over 1,127 Days - 0.06cph!
Remove GetShaderFullPath legacy shader replacement hacks, nothing should be relying on this
encoded_normals.fxc fixes
postprocess_standard_p*.shader fixes
Update dxc & add pdbs ( I was gonna debug a crash with these pdbs, but updating seems to have fixed it 🤷 )
Delete debug code
Fix mem leaks in vfx_vulkan, use smart ptrs to not fuck ourselves over again
[pick] encoded_normals.fxc fixes, we shouldn't be using PixelInput in core stuff anywhere
New rendersystemvulkan & vfx_vulkan
Shader resource v2 has dxbc and spirv blocks, if a block doesn't exist will use a fallback shader
[hack] don't deal with instancing on SboxVertex for now, need some additional code around input layouts
[pick] GetShaderFullPath: remove shader replacements and legacy prefix substitutes
[pick] Minor shader fixes where DXC is more strict about you being stupid
Tag rendersystem for Sentry
Use compute shader for bloom on Vulkan & fix uav barriers
[temp] Disable crashing water so I can stabilize everything else first
[squash] rendersystemvulkan: fix minor deprecated warnings
[squash] rendersystemvulkan: Match renderthreadvulkan changes 1:1 w/ Valve
[pick] compile fixes for postprocess_standard_p*.shader
Compiled core shader resources with DX11 & Vulkan blocks
Compiled base shaders (spirv only)
Remove device extension entrypoints & add volkLoadDevice
Fix crash when minimzing with a fake swapchain when swapchain extents are 0,0 - higher level code assumes there is always a valid HRenderTexture
[squash] more parity with Valve's code making it easier for future changes
Remove device extension entrypoints & add volkLoadDevice
Fix crash when minimzing with a fake swapchain when swapchain extents are 0,0 - higher level code assumes there is always a valid HRenderTexture
New rendersystemvulkan & vfx_vulkan
Shader resource v2 has dxbc and spirv blocks, if a block doesn't exist will use a fallback shader
[hack] don't deal with instancing on SboxVertex for now, need some additional code around input layouts
[pick] GetShaderFullPath: remove shader replacements and legacy prefix substitutes
[pick] Minor shader fixes where DXC is more strict about you being stupid
Tag rendersystem for Sentry
Use compute shader for bloom on Vulkan & fix uav barriers
[temp] Disable crashing water so I can stabilize everything else first
[squash] rendersystemvulkan: fix minor deprecated warnings
[squash] rendersystemvulkan: Match renderthreadvulkan changes 1:1 w/ Valve
[pick] compile fixes for postprocess_standard_p*.shader
Compiled core shader resources with DX11 & Vulkan blocks
Compiled base shaders (spirv only)
Fix minor old assert breaking debug builds
Map missing asset resolver ignores _bakeresourcecache
Remove FSR from renderingpipeline ( been gone from settings forever )
ShadingModel: use classes instead of structs where we have member functions
Glass shader: be explicit with Material::lerp usage
Fix ShadingModelStandard not using adjusted alpha to coverage opacity
Use compute shader for bloom on Vulkan & fix uav barriers
Fix visualize_depth shader
Disable crashing water so I can stabilize everything else first
Fix minor deprecated warnings
Tag rendersystem for Sentry
Remove FSR / Passthrough
Fix weird classes shit in shaders
Fix tiled light builder (fucked on master too????)
this shader include is so fucked, work around it
New rendersystemvulkan & vfx_vulkan
Shader resource v2 has dxbc and spirv blocks, if a block doesn't exist will use a fallback shader
[hack] don't deal with instancing on SboxVertex for now, need some additional code around input layouts
GetShaderFullPath: remove shader replacements and legacy prefix substitutes
Minor shader fixes where DXC is more strict about you being stupid
Compiled core shader resources with DX11 & Vulkan blocks
Compiled base shaders
Plug into our shadingmodel
Hard code low/med/high cbuffers
Add depth prepass, hardcode some more tree cbuffers
Implement WindSdk code, setup cbuffers manually at 50% speed for now, add uv data
Just use floats for poc, I can't believe how difficult it is to pass a R8G8B8A8 format attribute to a shader
Shader with all the vertex data
Soundscapes always transmit, should fix long initial delay
speedtree sdk + vpc scripts
binaries
Speedtree SDK to DMX serializer for RenderMeshFile node
* convert stsdk compressed vertex stream to our own, 32 bytes is good
* compressed vertex stream contains packed normals & wind data
* imports each lod & material
Fix some more questionable crap I did
Fix texture compiles being dark, typoed SrgbGammaToLinear instead of SrgbLinearToGamma 🤦
Fix threading issue in navgen too
Delete some unused tier0 files
Fix threading issue in raytraceenvironment, be more explicit and capture the lambda parameters earlier when the job is queued not executed
New tier0 threadpool code from Valve
* Functor processors removed in favor of std::function jobs (lambdas)
* QueueJob always returns a SmartPtr now
* JF_PER_FRAME flag added for scheduling jobs to be completed this frame
* Improvements to contention by putting stuff on cachelines
* New simple ParallelFor usage:
```cpp
ParallelFor( 0, 10, []( int n )
{
Msg( "%d\n", n );
} );
```
The fun part: replaced all functor thread jobs with lambdas, and make it work with SmartPtrs
This is just done manually by me and isn't from Valve, so there's likely
a few cock ups - but everything I've tested has been good.
Fix all occurences of WaitForFinishAndRelease() on smart ptrs
Fix all occurences of WaitForFinishAndRelease() on smart ptrs
New tier0 threadpool code from Valve
* Functor processors removed in favor of std::function jobs (lambdas)
* QueueJob always returns a SmartPtr now
* JF_PER_FRAME flag added for scheduling jobs to be completed this frame
* Improvements to contention by putting stuff on cachelines
* New simple ParallelFor usage:
```cpp
ParallelFor( 0, 10, []( int n )
{
Msg( "%d\n", n );
} );
```
The fun part: replaced all functor thread jobs with lambdas, and make it work with SmartPtrs
This is just done manually by me and isn't from Valve, so there's likely
a few cock ups - but everything I've tested has been good.
Remove ui test that doesn't exist
Delete native saverestore systems
Saved myself a 5 minute change by spending hours deleting code, and I
don't think I even got it all
remove some unused convars cl_team, cl_class, (versus_)stats_highlight_interval, mapcyclefile and some debug concmds
missed rubikon and navlib for threadpool api updates
New tier0 thread pooling code, should schedule better with less contention, slightly changed API
Lots of API changes here I've replicated to the rest of our code base,
I'd imagine I've fucked at least one thing up though.
Functor jobs are replaced by IThreadPool::QueueJob(WithFlags) which
accepts a std::function, much simpler to use and execute
Delete all this saverestore shit
remove convars: cl_team, cl_class, (versus_)stats_highlight_interval
ui: onmousedown triggers from middle mouse too, seems accidental that it wasn't
make antlr codegen more sane, hopefully fixes it on build server
Delete generate_decal_normals.vmat
New rendersystemvulkan & vfx_vulkan
[hack] don't deal with instancing on SboxVertex for now, need some additional code around input layouts
GetShaderFullPath: remove shader replacements and legacy prefix substitutes
Shader fixes where DXC is slightly less forgiving on bad syntax (has a bad hack for material api in it)
Rip up Material API to get it compiling
Shader resource v2 has optional dx11 and vulkan blocks, if a block doesn't exist will use fallback shader
bare bones video code using video.dll for ref
Initial commit
Create README.md
Added concrete + stone + pavement + plaster materials
Added wood plank hs
.meta for uploaded materials
Added materials + blend
concrete floor_tile_blend_02
dirt_ground_02
plaster_b_hs
plywood_panels tileable
plywood_hs
naming updates
Shader
Add red dot scope shader https://i.imgur.com/e2uQIMT.mp4
Test for rick
Added IridescenceScale
Allow rendering only sights, increase red dot default brightness, let iridescence absorb albedo
Added materials
concrete_polished + plywood_panels_painted mats and blends
Ceiling plaster
Added tarpaulin mats
missing .meta
cinderblocks tileable + hotspot (wip)
https://files.facepunch.com/jason/1b1411b1/sbox_jbXhR8KBM5.jpg
Added USP (from sbox game)
Fixed 9mm eject particle
missing .meta
Update README.md
silencer_9mm: explicitly bind to a "silencer" bone
v_usp: viewmodel set-up + barebones animgraph
beer_cask asset files
Fixed plaster 2 hs
added cast concrete hs
updated cast concrete hs
Use git lfs
Add Asset.GetUnrecognizedReferencePaths() - returns a list of paths this asset references that can not be resolved (missing from disk)
Missing asset resolver when loading Hammer maps
If your map contains missing assets when you load your map
(after EditorReferences have been resolved), we will check if there are
matching assets on asset.party and prompt the user to install them.
We don't have to worry about updating EditorReferences here either,
as this is automatically done on save if any asset refs have a linked
package.
After the assets are installed the user will be prompted to reload the
map - this is needed to reload the missing assets.
https://files.facepunch.com/matt/1b1811b1/image%20%281%29.png
Fix Gizmo.Draw.SolidCircle transforms
Hammer: display download progress of cloud assets using gizmos
Can publish shaders & shader graphs
Hammer undos for sndscape and sound drops
Hammer: cloud materials don't stick to everything they've hovered, and can be undone now
History API for Hammer
Hammer: add undos for asset.party models & dragged entities
SceneSunLight transform sets the correct direction now
Add cloud path to CONTENT search path, fixes hotspot rects not working but probably loads of other weird stuff too
Gizmo.Model shouldn't cast shadows
Make sure we have a Filesystem.Content early even though LocalProjects aren't added yet, fixes asset type icons not registering
Rebuild content path and open editor window on PostBootstrap since LocalProject are added in Bootstrap now, otherwise Qt doesn't know where any files are
tools_sprite shader: can use in standard mode
Gizmo.Draw.Sprite correct transform
Gizmo sprites draw the right texture although this generic shader is shit
Update MapEntity.TypeDescription when class is changed from native
Oops not a string, return enum
CMapView m_pToolManager can be nullptr when rendering thumbnail
Add MapNode.Visible property, don't call DrawGizmos for hidden entities