branchsbox-scenestaging/maincancel
503 Commits over 458 Days - 0.05cph!
Update Viewmodel scene with ssao also showcasing proper prepass
Remove GTAO include code from scenestaging
DynamicReflections component stub
Scene testing dynamic action graph properties
Fix water shader scene name
Update Test Scene
https://files.facepunch.com/lolleko/2025/January/10_18-17-TornAllosaurus.mp4
Cleanup spline component & tool naming
Base SplineModelRenderer of ModelRenderer
Allows Tint, MaterialOverrides and other options to be used on spline models
Enable Global Scale for spline models
https://files.facepunch.com/lolleko/2025/January/10_11-16-TintedAfricanparadiseflycatcher.png
Some Model Deformation optimization
Still only on the CPU but it's surprisingly fast
https://files.facepunch.com/lolleko/2025/January/09_21-39-VacantIridescentshark.mp4
Add spacing parameter
https://files.facepunch.com/lolleko/2025/January/09_23-00-AngelicVipersquid.mp4 🚂
Update Spline Collider to match new SplineModel Deformation
https://files.facepunch.com/lolleko/2025/January/09_23-59-LinearAlligator.png
Delete legacy/unused deformation code
More customization for tangent frames/up vectors
This is useful for stuff like loops.
1. Default Up Vector (0,0,1) -> twisting artifacts:
https://files.facepunch.com/lolleko/2025/January/09_17-52-OrangeredCowrie.png
2. Automatic up vectors using rotation minimizing frames (RMF)
https://files.facepunch.com/lolleko/2025/January/09_17-53-DesertedClam.png
3. Manual up vectors/frames:
https://files.facepunch.com/lolleko/2025/January/09_17-52-MisguidedWryneck.png
Move spline deformation away from vertex shader to allow deformation of arbitrary models
Deform spline models on the CPU like a cavemen.
Use RMF to avoid twisting artifacts.
Will move this to a compute shader eventually.
https://files.facepunch.com/lolleko/2025/January/08_10-35-AgileHectorsdolphin.png
Play around with tangent frame calculation using Parallel Transport / RMF
https://files.facepunch.com/lolleko/2025/January/07_20-51-CriminalBlackfish.mp4
Fix some NREs in spline model renderer
Binary search for accessing splines at a distance
Remove GetNormal function from spline component for now
There are so many different ways to calculate normals for splines (Frenet-Serret-Frame, Fixed Up Vector, RMF/Parallel Transport...)
Not sure yet, which one we want to offer.
Fix spline loop (de)serialization
Cleanup spline components and test scene
Scene reproducing Facepunch/sbox#1756
Rename some vars in spline math
Bump hitbox of spline line
Align tangent mode names with exiting curve class
Fix roll and scale changes not invoking spline changed
More spline undo improvements
Revert "fix PlayerSquish collision"
This reverts commit 18ba5597c624789e8e8b999e7b64bd33ae33e4ae.
fix PlayerSquish collision
Improve spline editor undo
Bounding box calcualtion for spline components
Defocus input when switching spline point
Cleanup Spline Editor
Proper undo support for gizmo initiated changes
Frustum cull Gizmos as they are fairly expensive to create.
Optimize Gizmo drawing.
Spline Collision Support BoneTransforms and Rotation
Spline collider now provides accurate collision for any shape and any rotation.
Deformed/Twisted citizens with collisions:
https://files.facepunch.com/lolleko/2024/December/23_12-34-DishonestQuagga.png
https://files.facepunch.com/lolleko/2024/December/23_12-34-HorribleNightheron.png
Spline collider now supports all collision shapes
Added custom subdivision logic for each shape.
How much subdivision/collision geometry is created can be controlled by the user via property.
Performance still sucks, but optimization should be easy going forward.
Individual bone/shape transforms are currently not working.
https://files.facepunch.com/lolleko/2024/December/19_18-49-AnotherDrongo.png
https://files.facepunch.com/lolleko/2024/December/19_18-48-SecretNuthatch.mp4
Update terrain scene, adjust things, envmapprobe had inverse scale (wtf), use ibl, should be a good starting point to have a terrain with nice lighting setup
https://files.facepunch.com/sampavlovic/1b1911b1/NLZEcHl7Uh.jpg
Filter duplicate vertices after spline deformation and before qhull
Hull based spline collisions
Allows proper physics simulation of the spline models.
Works okay for boxes, still need to figure out why izabu quick hull struggles with more complex shapes.
https://files.facepunch.com/lolleko/1b1811b1/sbox-dev_YFlVR7whUv.mp4
PoC spline collisions
Currently just super hacky static mesh/model collision
https://files.facepunch.com/lolleko/1b1711b1/sbox-dev_03QtKgtfYW.mp4
Deform spline model bounds to ensure accurate frustum culling
https://files.facepunch.com/lolleko/1b1611b1/sbox-dev_FuFEWnL2FA.png
https://files.facepunch.com/lolleko/1b1611b1/sbox-dev_xrWVBJicsC.png
Use sceneobjects for spline model instances instead of Graphics.Draw
Fix duplicating a spline point with shift not copying roll & scale
Remove stackalloc (it's not whitelisted)
First pass on spline model deformation
https://files.facepunch.com/lolleko/1b1611b1/sbox-dev_pXP1R0vFzj.mp4
https://files.facepunch.com/lolleko/1b1611b1/sbox-dev_1SBGUutgNa.png
Use WorldTransform/LocalTransform
Add roughness test scene, Compares if IBL GGX Filter matches reference
Nav Basic: Reduce rotation on test slope to account for floating point inaccuracies
Splines: Add working state from a couple of months ago (pre FP)
Basically a port of my C++ spline library wrapped with a component + editor tool.
Still requires some API and Editor UX cleanup.
https://files.facepunch.com/lolleko/1b0911b1/sbox-dev_0KaDTZAF7l.mp4