17,083 Commits over 1,308 Days - 0.54cph!
Transform.Add uses scale correctly
Tweak Control.Position, Control.Rotation to make more sense
Revert time node, a constant time variable shouldn't serve 5 different functions
Fix position dragging being wrong when ancestors have transform scale (in maybe the worst way possible)
Add description to tests
Fix line selection test
Rename IMScene to Gizmo
Final cleanup
Disable debug default
Add world's worst scale gizmo to prefabeditor
https://files.facepunch.com/garry/821d4b14-032a-4fd2-99f7-37e1ac18ea7e.mp4
ShaderGraph: Document remap node
ShaderGraph: Document Voronoi node & add Worley parameter
ShaderGraph: Document noise nodes
ShaderGraph: Redo Screen Position node so it returns a nicer result. Document World Position, View Direction, Normalize, Polar Coordinates, TIle and Offset, Blend
Shader Graph: Add more of the common outputs to time node & add allow a constant multiplier
https://files.facepunch.com/ognik/1b0611b1/sbox-dev_oBbyOvLWXQ.mp4
Citizen/clothing: converted Posh Dress to new rig setup
Citizen: moved height scale preview sequences into debug prefab
Made OnButton internal while we're at it
Don't try to pass NativeEngine.ButtonCode to Sandbox.Input.OnButton. Gets rid of needless casting further down the line
If we don't have any keyboard modifiers set, let people press them and still recognize that input - ex: when sprinting and hitting an input action, we'd reject it.
Code cleanup, made a bunch of stuff internal
Restrict some keys from being used as input actions (windows keys, function keys, caps lock, etc), added readable titles for editor
Add support for displaying keyboard binding for input actions w/ GetButtonOrigin
https://files.facepunch.com/devultj/1b0511b1/sbox_aFn6pH6wV3.png
Get glyphs working with Input Actions, added Input.GetButtonOrigin( string action ), Input.GetGlyph( string action, ... )
https://files.facepunch.com/devultj/1b0511b1/og0aKbvpTS.png
Make sure user is always notified of graph errors, clear errors on new and open
SteamInput: Generate group source bindings in gamepad manifest, which now links the groups properly and lets us set our action bindings. Make GroupEntry constructor internal.
Evaluate all nodes for preview they can be previewed even if they're not part of the graph
If project is an addon, add package.base to compiler - lets people use stuff from base in their addons
Squashed commit of SSR branch
Finish denoising
Don't use single pass downsampling for depth downsample without having memory barriers, optimize it to accept writing to a single channel rather than 4
Add downsample material for c++ side of downsampler
Some final tweaks and compile optimized shaders
Copy back last denoised frame so that we don't collide with memory in CS
Fix pixel fraction sampling on Catmull-Rom sampling
Cleanup, add Complex shader with SSR support
Fix noising with catmull-rom function
Cleanup, move ReprojectFromLastFrame to common code
Do half pixel offset on intersection reprojection
Actually add ReprojectFromLastFrameSs to common.fxc
Update game/addons/base/shaders/reflection_denoise_cs.shader
Co-authored-by: Chloe <25727384+ogniK5377@users.noreply.github.com>
Cleanup
Rebase tweaks
Add SoftShadowPenumbra to pixel.raytrace.sdf, correct SSR tracing cone, add gaussian post processing step
Use GGX importance sampling for intersection
Some adjustments on denoising with GGX sampling, compile shaders
Fix SDF reflections having wrong roughness
Do contact hardening on SSR reflections, better reconstruction
https://i.imgur.com/lY5VTE5.png
Remove shitty artifacts while in motion, do denoising reconsruction much better
Remove neighbors that aren't reflected in our buffer, compile optimized shaders
Start implementing AMD DNSR
Support for multidimentional arrays on vfx
Simplify how we pass reflection layers, setup extra rendertargets for new denoiser
Setup and all 3 denoise passes in a single shader
Fix UAV assignment and reprojection delta
Make WorldNormal, ScreenPosition, WorldPosition and ViewDirection all previewable
Make component outputs of texture node be constant results, no need to make local vars for these
Generate preview shader code using our own time attribute so we have control over it
Update preview camera in PreFrame so we're not running frame event twice
ShaderGraph: Allow node results to be marked as constant so result funcs can return without creating a local variable for it
Remove F_TEXTURE_FILTERING in generated shader, not used here
Delete TestWindow.cs
Make scale control work
Documentation pass for texture and texture coord nodes
Property sheet can grow, fixes dodgy layout
Give texture node group and subgroup settings
Citizen: part 2 of the recent rig update (see commit comments for details)
- Further improvements to skinning: much better deformation between spine0 and pelvis, refinements to the upper arm to shoulder to neck regions, a gentler blend from thorax to neck to head (which also better matches up with the "chin" of the character), and slightly better volume preservation for elbow and kneecap helpers. All of these changes also allow the height scaling feature to hold up better.
- Fixed a small angle drift that had devilishly sneaked into the leg bones (this is the part where I sarcastically profess my love for 3ds Max and Autodesk software in general)
- Fixed the kneecap helpers being the children of leg_lower_*_twist0 instead of leg_lower_*
- Updated the "all-in-one" FBX source file
- Following this model update, there may be very minor seams showing up in some clothing items under specific circumstances; these will be addressed in separate commits
Better position of initial result node on new graph
Add UI options to branch node
Add select all to toolbar
ShaderGraph: Add Ctrl+A to select everything in the graph because I keep trying to do it and realizing I haven't added it yet
ShaderGraph: Fix input value editor not getting restored when node with connection to it is deleted
ShaderGraph: Allow named constants to full customize group and subgroup UI
ShaderGraph: Disable tint mask input, isn't used and seems pointless so get rid
ShaderGraph: Add mask to texture ext types
Move saturate node to transform category + document it
ShaderGraph: Default branch results to both zero, fix shader error when no conditions are plugged in
Removed EventFilter (unused)
Remove nicknamegenerator
Suppress keyboard shortcuts when in firstperson camera mode
Update Vulkan SDK + Volk
Stub old vrad3-gpu, incompatible from using beta vk headers
rendersystemvulkan: fix raytracing being required, remove VK_EXT_debug_report for VK_EXT_debug_utils
vfx_vulkan HLSL compiler using dxc and spirv-tools; rendersystem_vulkan support for how dxc does $Globals / register offsets
Sam's shader changes, most of this should just go to master now
vfx_vulkan: compatability with shadergraph
vfxcompile: display shader compile time in ms
[hack] don't deal with instancing on SboxVertex for now, need some additional code around input layouts
Add -renderdoc cli option for early renderdoc hooking
Don't needlessly set g_TransformBuffer or g_TiledLightBuffer on Submit, already set on init
vfx_vulkan sets correct offsets & more reflection info for compute shaders, refactor rendersystemvulkan to use valve's new helpers, bump max samplers to 64, loads of other fixes
spir-v remapper (size reduction)
Compiled most shaders (including complex)
Added some extra utility functions to Line
Add Hitbox.LineScope, cleaned up rotation gizmo
ShaderGraph: Add option to preview result of selected node, useful for debugging https://files.facepunch.com/layla/1b0411b1/sbox_tzN9VDd1be.mp4
Don't color plug text, not a fan of how this looks
ShaderGraph: Allow named constants to configure material editor UI
Add SelfIllum to texture ext types
Limit graphics view zoom to reasonable amounts
Cleanup LineCircle, Rotation widget uses lines
Fix arrow cone stretched
Remove whitespace in texture parameter name
Add delete button to node UI
ShaderGraph: disable filtering on background pattern
Adjusted colour on handles to be more clear
https://files.facepunch.com/louie/1b0411b1/sbox-dev_0BuTFk5GxC.png
Simplify LobbyFrontPage flow, clicking game / map will open their browsers