722 Commits over 304 Days - 0.10cph!
updated crafting ingredients
fix realmed remove on sculpture
added ice sculpture wip icon
- saving IconRender scene as it needs some setup for icon rendering
removed sign/pumpkin panel from sculpture item
added guide mesh for ice sculpture and a tool to generate one
properly disposing native structures in-editor when stopping play in editor
merge from native_mesh_simplification
cleanup and logging procedural mesh stats with a logmeshstats convar
not trying to simplify the mesh to 10% anymore
deferred mesh simplification
- sculpture waits for a period of inactivity to schedule mesh simplification
- mesh simplification is run in a background thread, while the unoptimised mesh is displayed immediately
- handles multiple enqueued simplification requests with job dependencies, preferring wasted background computation over main thread blocking
wrapped in-job profiling in a define, using a ProfilerMarkerStub with matching functions calls decorated with BurstDiscard
re-added early exit on flipped check loop
minor cleanup and crunching meshes down for 20% reduction
reduce vertex lookups in simplification
switched out normal parallel check in simplification with a dirtier cross product based one to remove a couple of normalize calls
- 75% perf improvement
more cleanup, profiling, and some micro optim
cherry pick carve radius change
dropped carve radius for testing
cleanup and correct ref access to ref readonly access where appropriate
set wip material as current ice material
added playground.sculptures test scene with its own filestorage db to store the sculpture data
server handles decoding saved sculptures from disk properly
made server file storage a convar - default behaviour retained
added playground.sculputres.sav TestSave
- grid of some differently carved sculptures for material testing
sculpture serialization
- added FileStorage type for sculpture data (lz4 compressed)
- changed sculpting data flow so changes are made on the server and then retrieved by the client
dropped block scale a little
switched out ddraw hitguide for basic prefab setup and added some lerping to target pos to offset delay from interaction tick rate
showing some visual feedback on where player will chip into the sculpture if they're holding a weapon with a compatible damage type (just ddraw for now)
prefab adjustments and cleanup
recalculating nrender bounds properly after vertices and indices assignment
giving mesh the same name as its entity
cleanup on carving function
sculpting progress
- corrected offset to align pivot to bottom of block
- basic carving, takes a small radius chunk out on-hit with piercing damage
- corrected mesh update to clear previous data correctly
- corrected physics mesh bake to assign collider back correctly
sculpture changes and cleanup
- controls for scaling and offset
- mesh collider has correct mesh assigned
- removed rpc for switching between native/managed (only native now)
introduced manager class that allows marching cubes to be enqueued and then processed in parallel (only iterating and processing thoses that have requested it)
- parallelises the marching between systems
- parallelises the physics mesh baking across job threads as well
reduced per-cube temp allocs
converted to use burst and the jobsystem
- still needs thought on multithreading, but about a 10x speedup from burst usage already
packages
burst 1.8.16->1.8.17
collections 2.5.1
further marching cubes work
- separating sculpting data from marching cubes view through a sampling interface
- pruning pass after initial generation to merge duplicate vertex data (21k verts to 3k verts in current test setup)
- some vertex generation changes that would let us interpret non-boolean datasets better