78 Commits over 61 Days - 0.05cph!
Updated shaders after Facepunch/sbox#1041
Null mesh check in Sdf2DMeshWriter
Updated addon tags / descriptions
Use 3D white texture as a default for 3D chunks
Documented all public members of libsdf
Only delete blob tool preview on server
Refactored triplanar shader
Fixed garbled triangles when subtracting
Fixed subtract just lasering in a straight line
Deleted old marching cubes stuff
Added 3D SDF primitives
Some 2D refactoring
Tabify
WorldQuality refactor to support 3D worlds
Abstracted out SdfArray from Sdf2DArray
Implemented Sdf3DArray
Added Sdf3DVolume resource
Big abstracting refactor
Mining demo renaming SDF materials to layers
Sdf3D Array, Chunk, World, stubbed MeshWriter
Sdf3DMeshWriter structs and enums
Break up MeshWriter classes, basic example for generated 3D cases
3D cases code gen boilerplate
First pass at finding edge loops
Generate code for adding triangles
Fixed degenerate triangles
Fleshed out the rest of Sdf3DMeshWriter
Flipped triangles
Updated blobtool
Fixed some bugs with generated vertices
Mesh generation is multithreaded again
Smoother normals
Sdf modification methods are now async
Allow synchronous modifications too
Some thread safety, including copy samples before generating mesh
Use a lower resolution collision volume
Limit how much work is done on the main thread each tick
Fixed garbled triangles when subtracting
Fixed subtract just lasering in a straight line
Limit how much work is done on the main thread each tick
Use a lower resolution collision volume
Allow synchronous modifications too
Some thread safety, including copy samples before generating mesh
Sdf modification methods are now async
Fixed some bugs with generated vertices
Mesh generation is multithreaded again
Fleshed out the rest of Sdf3DMeshWriter
Flipped triangles
Updated blobtool
Fixed degenerate triangles
Generate code for adding triangles
3D cases code gen boilerplate
First pass at finding edge loops
Break up MeshWriter classes, basic example for generated 3D cases
Sdf3DMeshWriter structs and enums
Mining demo renaming SDF materials to layers
Sdf3D Array, Chunk, World, stubbed MeshWriter
Added Sdf3DVolume resource
Big abstracting refactor
Deleted old marching cubes stuff
Added 3D SDF primitives
Some 2D refactoring
Tabify
WorldQuality refactor to support 3D worlds
Abstracted out SdfArray from Sdf2DArray
Fixed texture source layers not clearing properly client-side
Fixed errors when clearing a world
Fixed layer _Params attribute not being set correctly for absent chunks
Fixed possible warning on client
Some more asset cleanup
Updated README.md
Layer texture referencing cleanup, example shader has full material control
Big refactor, allow passing SDFs as texture attributes between layers
Deleted old marching cubes stuff
Added 3D SDF primitives
Added pivot parameter to TextureSdf constructor #1
Fixed crash on deleting an Sdf2DWorld
Fixes sboxgame/issues#3276
Allow more control over SDF layer quality
Added TexCoordSize material property, fixed duplicate collision mesh faces
Added a little demo game for the 2D SDF stuff
Each layer can have a different quality
Can now leave front / back / cut materials as null to skip generating the respective geometry
Added LineSdf
Fixed collision mesh of offset layers
Added Sdf2DMaterial.Offset
Useful for background layers
Chunk physics shapes now belong to the Sdf2DWorld