meetup.20260727 - tixl3d/tixl GitHub Wiki
TiXL Meetup 2026-07-27 / Output Management, Projection Mapping & Custom Point Shaders
A 3h31m TiXL developer meet-up previewing the 4.3 output-management and projection-mapping system (content, surfaces and outputs, photo-based calibration, shareable setups), with extended CustomPointShader live-coding for recoloring and selecting points, extending BlendPoints on stream, and a first drone-show prototype built with particle forces.
๐ new feature ยท ๐ ๏ธ improvement ยท ๐ operator ยท ๐ walkthrough ยท ๐ง deep dive ยท ๐ฟ showcase ยท ๐ฏ planned ยท ๐ฌ discussion ยท โ ๏ธ heads-up
Chapters
- 0:00 ๐ Warm-up: a text scan-line particle emitter (Text, PointsOnImage)
- 8:11 ๐ฌ Why output management: too many output windows
- 10:27 ๐ Recoloring point buffers with CustomPointShader
- 13:20 ๐ง f, t and bias/gain: shaping per-point values
- 18:00 ๐ Live-coding a hue shift (RGB to HSV and back)
- 24:00 ๐ ๏ธ Saving shader snippets as presets
- 25:06 ๐ Output management: design goals and scope
- 29:40 ๐ง Logical outputs vs. unstable display numbering
- 33:22 ๐ Demo: publish content, create outputs, bind displays
- 36:17 ๐ Slices, surfaces and homographic projection
- 49:20 ๐ง Projects, setups and machine bindings
- 53:02 ๐ฌ Where Spout senders belong; update pitfalls
- 55:28 ๐ A virtual debug-overview setup
- 57:21 ๐ง Calibrating projectors from a reference photo
- 1:02:39 ๐ฏ Edge blending and wall-color compensation
- 1:09:02 ๐ฌ Community feedback on the output UI
- 1:23:00 ๐ฟ A beat-reactive ceiling projection in ten minutes
- 1:26:52 ๐ง Why MapPointAttributes takes a gradient, not a texture
- 1:31:55 โ ๏ธ The FX-texture input only samples luminance
- 1:34:10 ๐ Sampling an image in a compute stage (SampleLevel)
- 1:40:18 ๐ Writing FX1 data for downstream operators
- 1:42:49 ๐ Selecting points by color similarity
- 1:51:15 ๐ BlendPoints: the sliding-range mix
- 1:57:34 ๐ How to read a GPU operator's shader source
- 2:04:00 ๐ Live-extending BlendPoints with mapping modes
- 2:18:40 ๐ฌ Design debate: blend modes and wrap-around pairing
- 2:33:30 ๐ฏ Attribute-driven transitions (F1 wipes)
- 2:39:55 โ ๏ธ Backwards compatibility locks published parameters
- 2:45:10 ๐ฌ Drone-show constraints and export format (Sketch)
- 2:50:45 ๐ A 100-drone stand-in: mesh vertices to points
- 2:54:10 ๐ Speed-limited transitions via ReconstructiveForce
- 2:58:20 โ ๏ธ CollisionForce: sizes, cell size and misfires
- 3:05:00 ๐ฏ Baking and validating a show with PointTrailFast
- 3:14:17 ๐ VelocityForce: min/max speed clamps
- 3:16:39 ๐ง Inside CollisionForce: spatial hashing passes
- 3:26:33 ๐ Debugging collision sizes with sphere instances
