1,728 Commits over 1,491 Days - 0.05cph!
Run mat_recompileoutdatedshaders in a thread
Fix SDF trace functions
Use UINT32 for transformation indexes on shaders, adjust multiview instancing functions to use nInstanceTransformID instead, support for it in legacy transforms too
Reenable Sructured Buffers for transformation
Bump up VFX ABI version
Add mat_recompileoutdatedshaders, Iterates and recompile shaders from previous ABI version.
Change color format of InstanceTransformUv from Float16x2 to R32 UINT, also on managed vertex objects
Adjustments to transform system, iterate, cleanup, do byte alighment fixes to work on AMD
Shader objects for core shaders
Shader objects for core addon shaders
Update shader object files
Add mat_recompileoutdatedshaders, recompiles shaders from previous ABI version
Better describe rationale when doing alignemnt adjustments when describing the transformation buffer to GPU
Match the same amount of transforms as valve
Fix multiview instancing adjustment offset with new transform code, add GetTransformDataForSlot helper
Bump VFX API version
Fix byte alignment for transform buffer on AMD cards
fix instancing_legacy to support structured buffers
Set vertex layout for instance id as uint32 on c++
Change vTransformTextureUV to nInstanceTransformID
Reenable constant buffers until I fix AMD driver bug
Revert shaders to be compatible with cbuffers
Flag that shaders should be compiled with cbuffers until amd fix
Squashed merge structured transform buffers
Cleanup
Use precision padding to make up for low precision upload to GPU, fix instancing padding on vr_lighting
Allow usage of VS_INPUT in geometry shaders
Add new shaders with new transform slot sequence strategy
Adjustments, refactoring, cleanups and new strategy to bind transform buffers
Rename BindTransformTextureAndInstanceIDBuffer to something friendlier
Use thread safe allocations for transforms, fix transform alignment
Temp disable multiview instancing combo to speed up compiles
remove F_UNLIT and F_DISABLE_TONE_MAPPING from Complex, unlikely to help
Trim complex a bit more
Yank the internal includes out of foliage shader, make it work in our API
Make Water compile with our new API, optimize it, have more accurate reflectance constant
Add USE_CUSTOM_SHADING flag to skip default combos
Make ToMaterialMultiblend compatible with our new API
Object compile of base shaders with structured buffers working as intended 🙏
Use MSAA friendly discard for foliage, cleanup
Object files for base addon shaders
No need for a mutex on AllocateTransforms
No need for a mutex on AllocateTransforms
Use MSAA friendly discard for foliage, cleanup
Object files for base addon shaders
Yank the internal includes out of foliage shader, make it work in our API
Make Water compile with our new API, optimize it, have more accurate reflectance constant
Add USE_CUSTOM_SHADING flag to skip default combos
Make ToMaterialMultiblend compatible with our new API
Object compile of base shaders with structured buffers working as intended 🙏
Temp disable multiview instancing combo to speed up compiles
remove F_UNLIT and F_DISABLE_TONE_MAPPING from Complex, unlikely to help
Trim complex a bit more
Adjustments, refactoring, cleanups and new strategy to bind transform buffers
Rename BindTransformTextureAndInstanceIDBuffer to something friendlier
Use thread safe allocations for transforms, fix transform alignment
Allow usage of VS_INPUT in geometry shaders
Add new shaders with new transform slot sequence strategy
Add toon example shader
Iterate example toon shading, add outlines
Squashed merge structured transform buffers
Merge branch 'master' of sbox
Add toon example shader
Cleanup
Use precision padding to make up for low precision upload to GPU, fix instancing padding on vr_lighting
Refactor and detangle instancing and transform buffer shaders, makes much better use of hlsl SIMD
Remove unused EXTRA_SHADERDATA_TINTRGBA32, some other unused methods
Remove any other references to a 2D transformation buffer, make transformations use CUtlMemory for cleaner memory lifetime
Further refactoring
Make TypeLibrary.Create<T>( int ident ) public so we can create types from their (int) ident again
Merge branch 'master' of github.com:Facepunch/sbox
Merge branch 'master' of sbox
Fixed MinMaxAttribute not working in Hammer
Fix static/dynamic colors not working on [EditorModel] ( This is only used for light modes, weird fucking place? )
No point in having EnvironmentLightEntity derive from ModelEntity
Hammer property titles once again generate with spaces
[HideInEditor] works on asset properties
Give [GameResource] a default question_mark icon so it's not null by default (also fix DrawMaterialIcon shitting the bed with null)
Fix classes with [Net] malfunctioning if they have child classes
Add TypeLibrary.FindStaticMethods
Add PropertyDescription
Fix MenuAttribute
Support copying graphemes outside TextEntry too
Improve console text selection
Improve behaviour of label selection if drag rect is negative size
Add GameResource to Recent opened list when saving in inspector
Add GameResourceEditor
Fix Replicated ConVar's not replicating locally
Fixed certain types being displayed as structs in Inspector
Namely double and int64
Fixed non public methods not working as Hammer inputs
Trim all the unused addon stuff out of IApplication etc
Fix error in JsonSerializerOptionsUpgrader on hotload
Don't give alternate flags when querying DX11 display mode list
Fix crash when registering the minidump handler due to addon stuff being removed
Fixed verbose hotload log formatting
Improve tonemap controller preview in Hammer
Pain day 3 for game template
Network Client.IsUsingVR
New Outfit Piece! - Summer Shorts
New outfit for a hot day out for terry, as well as some needed adjustments to the leather gloves skinning and rigging.
Summer shorts also have LODs.
https://files.facepunch.com/daniel/1b2411b1/Photoshop_4cUauBlWsq.jpg
Make [UseTemplate] work properly on consolidated builds (used for s&works) - instead of the generator trying to guess root directories feed it a map of physical paths -> virtual paths for all the cs files
Fixed MinMaxAttribute using min as max in Hammer
Display( Description = .. to Description( .. in engine
Merge in drawhud
Draw2D.TextSize returns a Rect
Vector3.ToScreen can take a ScreenSize, returns nullable Vector2
Citizen/animgraph: second draft of big weapon branch refactor
intercom
pallet - tweaks
fixed broken normal map on pallet
Revert changes to SetupPhysicsFromUnscaledModel - Some users have been reporting overlap tests etc sometimes failing. This change was to fix slow downs when loading maps with triggers covering the map, the fixes were only needed on the trigger entity, not native code
Remove vconsole tools we're definitely never gonna use
.. and some more
Fix clothes showing in wardrobe multiple times
Add morph inheriting for in game models
Mouse wheel zoom in and out of face on avatar dresser
LOD override dropdown
Add sbox_feature_inheritlods
Update material icons
Balaclava LOD fixes
Fixes to Lods so no longer clipping in the head model!
Add clear context menu to asset property
Add DressSceneObject to ClothingContainer, to condense code repetition
SceneObject can replace materials based on attribute value
Clothing has EyeMaterial
Add gown clothing item
Add replacement attribute to citizen skin/eyes
Fix skins to use new system
Allow right click > open in editor for asset properties
Delete junk
Fix dress layers
Skin5 eyes
Citizen/animgraph: pelvis additive now uses "proper" on-the-fly compositing + gets disabled when sitting
& more comments
Fix NRE in WaterController if PhysicsGroup is not valid
Citizen: added note about citizen.SetMaterialOverride on MaterialGroupList prefab
Added failing hotload test for static initonly HashSets
Added ConcurrentQueueUpgrader
Fixed in-place hotload of a HashSet<T>
Allow individual types to be added to hotload SkipUpgrader
Skip hotload for types in System.Net.Http and System.Text.RegularExpressions
Fixed some false negatives when checking if a type is blittable
Added ConcurrentDictionaryUpgrader, fixed ConcurrentQueueUpgrader
Only start addon worker threads when first needed
Make sure hotload verbose log works with and without -tools
Cache which static fields need to be watched in hotload
Some extra timing info for hotload
Added InstanceUpgrader.GetUpgraderOrDefault<T>()
DefaultUpgrader field caching, now uses auto-skip
Update groups.vgc
Added networked attribute based material replacement to ModelEntity
Don't force GC collect on hotload, since we're doing it 3x for every compile
More persistent caching between hotloads
HotloadManager name consistency
More timings
Revert "Disabled transform structured buffer by default, will be reenabled soon"
This reverts commit 72c3854218d52e769ba267ad84d8e6e0394e7f22.
Fix instance ID buffer on structured buffers
Reenable multiview instancing on shader
Update core shaders with structured buffers
Cleanup some things and set baseline before major transformation logic refactor
Part 2 of baseline cleanup
Merge branch 'structured-transforms' of sbox into structured-transforms
Remove m_transformAllocator, trim most redundant code out of transfomation
Cleanup some things and set baseline before major transformation logic refactor
Part 2 of baseline cleanup
Update core shaders with structured buffers
Make TypeLibrary.Create<T>( int ident ) public so we can create types from their (int) ident again
Fixed MinMaxAttribute not working in Hammer
Fix static/dynamic colors not working on [EditorModel] ( This is only used for light modes, weird fucking place? )
No point in having EnvironmentLightEntity derive from ModelEntity
Hammer property titles once again generate with spaces
[HideInEditor] works on asset properties
Give [GameResource] a default question_mark icon so it's not null by default (also fix DrawMaterialIcon shitting the bed with null)
Fix classes with [Net] malfunctioning if they have child classes
Add TypeLibrary.FindStaticMethods
Add PropertyDescription
Fix MenuAttribute
Revert "Disabled transform structured buffer by default, will be reenabled soon"
This reverts commit 72c3854218d52e769ba267ad84d8e6e0394e7f22.
Fix instance ID buffer on structured buffers
Reenable multiview instancing on shader
Revert "Disabled transform structured buffer by default, will be reenabled soon"
This reverts commit 72c3854218d52e769ba267ad84d8e6e0394e7f22.
Merged new-shader-api
Disabled transform structured buffer by default, will be reenabled soon
Update base.vfx with the base from standard.vfx
Cleanup
Update thirdpartylegalnotices
More cleanup
Add ExtraLightData for area lights and LightTypeAreaType_t to make it easy to expand
Add Area Light postprocessing methods
Iterate lighting and shading data
Fix spazzing on structured buffers on unskinned meshes
Some rework on structured transform buffers, pass correct offsets (in theory)
Fix sphere reflection, add smooth fade
Add adjustable roughness and metalness configuraiton to lpv debug grid
Merge branch 'light_probe_volume_debug_grid' of sbox into light_probe_volume_debug_grid
Fix some shading problems
Ball impostors for layla
https://cdn.discordapp.com/attachments/967087958266114048/970305957269762048/unknown.png
C++ part of ball impostors
Merge branch 'light_probe_volume_debug_grid' of sbox into light_probe_volume_debug_grid
Add class and interface language support to VFX Compiler
Make base class an optional parameter for VFX classes
Allow members to be static or have other identifiers on VFX
Add class_member_definition to VFX variable parser on ANTLR
Flag to renderdevice that we want to use structured buffers
Adjustments to structured buffer transforms
Tag code as NOT using constant buffers, as we are using structured buffers now
Support for both Constant and Structured buffer
Strip texture transform entirely from scenesystem
Fix shader code related to structured buffer transforms
Move away from a cbuffer to a structured buffer
Set the config on transform_buffer correctly
Merge branch 'new-shader-api' of sbox into new-shader-api-premerge
Iterate on shading, cleanup internal sbox_pixel
Add new standard.vfx ubershader
Merge branch 'master' of sbox into new-shader-api-premerge
Mixed light support
Iterate on new shader api, make inputs take preprocessed shaderparams rather than pixelinput and material data
Boost ambient occlusion on hemispheric light coming from up-down
Merge branch 'master' of sbox into new-shader-api-premerge
Lightmapped direct light support, better define shading struct
Merge branch 'master' of sbox into new-shader-api-premerge
Merge branch 'master' of sbox into new-shader-api-premerge
Start using classes for shading itself
Merge branch 'master' of sbox into new-shader-api-premerge
Remove warnings, iterate on class-based shading, cleanup
tidy up api
Strip ShadeParams from lighting data, that should be exclusive to shading classes
More indirect lighting work
DFG Lookup table
Unclustered seamless cubemaps, fix view ray
Add DFG texture sampler to shader
Add shading methods, cleanup api
Use world normals for material, start implementing IndirectLight, MixedLight and StaticLight, cleanup, move ambient occlusion to IndirectLight
Iterate over new lighting api, cleanup, add stubs for MixedLight and IndirectLight, add LightShade struct
Make base class an optional parameter for VFX classes
Allow members to be static or have other identifiers on VFX
Use classes for dynamic light
Add class_member_definition to VFX variable parser on ANTLR
Add multi select combo box, use it for enum flags in property editor https://files.facepunch.com/layla/1b0511b1/sbox-dev_bxdOgE3sui.png
Remake multi select combo box for enum flags in pure C# (needs styling)
Adjust input settings layout to scroll
Input settings style tweaks
Fix out of range exception
Fix map & resource path lists shrinking in addon editor
Fix CheckBox not pulling package meta bool binds
Fix up/down arrow caret navigation on multiline inputs
Fix caret position on newline characters
Previous fix missed an edge case and did not work with emojis, hope this way isn't shit
Documentation and other minor code adjustments
Prop gibs now inherit material group
Delete engine break commands, and replace some useful ones with c# implementations
ModelDoc: Give the user a chance to copy a model into an addon dir if they try to import a model from outside an addon dir
Remove engine break commands code
Citizen: updated unicycle pedaling animation
Switch to new api urls
Tools doesn't need its own package query function
Force CBasePlayer transmit always
Fix NRE when deserializing a dictionary that ends up with a null key
Citizen/unicycle: added sequences for fast pedaling and leaning
Citizen/unicycle: updated pedaling animations so that feet are always flat relative to pedals
Citizen/unicycle: updated balance sequences
Citizen/unicycle: fixed a couple mistakes
Recompile sbox_glass
Remove usage of PropertyAttribute in Decal asset
Get rid of Alpha/RenderFX properties from base.fgd in favor of RGBA color properties
Removed Hammer inputs/outputs from all engine entities to stop confusion, since they do not work anyway
Theme consistency
Fix StartLobby errors
Upgrade "Use IDictionary<{1}, {2}> instead of Dictionary<{1}, {2}>" to an error instead of a warning
Ignore ResetLatched in IV_PHASE_RENDERING
Populate main menu screen with trending games
SceneSystem - ignore objects with invalid bounds
if it ain't in this spawn group, how can it be in the pvs?
Fast return if setting model but model didn't change
Fix menu exception when gameicon doesn't have info yet
ContainsInterpolationVarsForPhase return false if rendering
Package Updated/Created is DateTimeOffset
Icon showing updated within last day
Simplify switching to local api
Fixed client not knowing particle names
Add class and interface language support to VFX Compiler
Iterate on lighting for new api, split baked and dynamic lighting
Trim core shader code, add pixel.lighting.hlsl