TiXL v4.0.3
Pre-releaseRelease Notes 4.0.3
Another preview release of TiXL that comes with a lot of improvements and new features.
Feature Highlights
-
Based on the support from @banidu, @nr4, @Messy, and @yoda, we implemented and tested how to control stage lights via Art-Net/DMX with TiXL. This allows you to combine visuals with tightly synchronized and controlled stage light effects.
-
In live performance mode, TiXL uses advanced audio analysis to follow the current music tempo and automatically adjust phase and BPM to stay in sync.
-
Added scale gizmo to most operators.
Mag Graph Interface
- Improved visibility of snapped connection arrows.
- Horizontal snapping when dragging operators to avoid overlapping connections.
- Operators can be added by clicking on vertical inputs. Improved insertion between vertically snapped operators.
- Improved dragging and snapping of annotations (♥ @newemka).
- Slightly tweaked output picking (now also works with click).
- Mag Graph now supports focus mode interaction.
- Output nodes rendered with their type and additional styling.
- Input nodes are highlighted if updated (i.e., prevent caching).
- Added right padding in operators with custom UI to avoid interfering with additional output indicators.
- Prevent background dragging while adjusting infinity slider position.
- Fixed editing of embedded gradient sliders.
Parameter window
- FloatLists can now be edited in the parameter window and reordered by dragging indices.
- Parameter names with PascalCase are shown as separate words (can be toggled in Settings).
- Bypass buttons are disabled if not available.
- Optional parameter edit smoothing (see Settings) to improve live performances.
- Multiline string input fields grow with content.
- User settings for connection style (♥ @newemka).
UI Improvements
-
Added FloatList and IntList output styles with new grid view.
-
Prompt before exiting the editor.
-
Link to releases in the Help menu.
-
Improved image sequence rendering and screenshot support (♥ @newemka).
-
Show elapsed compilation time in the console (♥ @newemka / @mrvux).
-
Option to disable keyboard shortcuts (useful for live performances).
-
Increased resolution of sample images.
-
Fixed Shake disconnect on high frame rate displays.
Even More...
- Parameters can be excluded from presets.
- Strings can be part of presets.
- Added monospaced font (for multiline text).
- Increased minimum canvas scale factor for greater zoom-out.
- Show custom titles of symbols in pinned view (♥ @nikki).
UI Fixes
- Fixed unintended creation of connections while dragging operators.
- Fixed item hovering and clicking of animated properties in the dope sheet to center the animated operator.
- Fixed theme dropdown (♥ @newemka).
- Fixed issues related to modifying certain numbers.
- Fixed value output graph scaling with UI scaling.
- Fixed Undo/Redo of transform gizmo actions.
- Editor now ignores mouse if it's on the output window (♥ @newemka).
- Fixed crash when connecting from the parameter window.
- SpaceMouse can control locked camera without output window focus.
- Fixed camera interaction with keyboard while holding the left mouse button.
- Fixed preset thumbnail rendering.
- Canvas grid color uses theme color (♥ @newemka).
- Fixed potential exception when curves were modified while saving (also cleaned up curve code).
- Screenshot button now displays the save location.
New Operators and Improvements
- Almost all operators now have documentation (♥♥♥ @1x-vision).
- Added [Spout] support (♥♥♥ @nikki).
- Fixed spelling mistakes in all operator documentation.
⚠ Breaking Changes
- Removed [DepthOfField] command input.
- [TorusSDF] uses separate parameters for radii.
- Replaced [RepeatWithMirror] with [RepeatAxis] and a mirror parameter.
SDF, Fields, and Raymarching...
- New [CustomSDF] for live coding and converting shaders, with many effects.
- New [PlaneSDF].
- New [MovePointsToSDF], a versatile point modifier.
- New [FieldToImage] to convert a 3D field slice into a texture.
- New [Image2dSDF] for using 2D textures to create SDFs.
- New [RotateAxis] to improve performance.
- Added [VisualizeFieldDistance] transform gizmo.
- Refactored and cleaned up [TwistField].
- Added uniform scale to [BoxSDF].
- Added mirror parameter to [PolarRepeatSDF] (reduces artifacts and looks nice).
- Fixed [TorusSDF] axis update issue.
- Fixed [RaymarchField] behavior inside scaled transforms.
- [RaymarchField] now respects group color overrides.
More
- New [AnimInt] to switch random seeds on beat.
- New [ParticleSystem] Update trigger to freeze simulations.
- New [Dot] and [Cross] product ops (♥ Martin K).
- New [HSE] (Hue, Saturation, Exposure).
- Added TextureFormat parameters to [LinearGradient], [RadialGradient], and [FractalNoise].
- Added amount parameter to [VolumeForce].
- [SetEnvironment] now implements proper caching and auto-converts to cubemap if needed.
New Examples
- [TorusMeshExample]
- [PointTrailExample]
- [SimForceOffsetExample]
- [MoveToSDFExample]
- [EaseExample]
- [PointsToArtNetLightsExample]
- [Image2dSDFExample]
- Improved [SimForceOffsetExample]
- Updated [CombineSDFExample]
- Updated [DrawBillboardExample]
Fixes
- Fixed pixel glitches with [LinearGradient] and [RadialGradient] in ping-pong repeat mode (♥ @newemka).
- Improved [Distort] image parameters and options.
- Improved [GetPointLightOcclusion] parameters.
- Fixed [DrawMeshAtPoints] AlphaCutOff.
- Fixed [RepeatMeshAtPoints].
- Fixed [LinePoints] Twist parameter.
- Fixed [NumberPattern] (♥ @newemka).
- Fine-tuned AudioReaction parameter ranges (♥ @sense).
- Fixed [IntsToBuffer] caching issue.
- Clarified undefined [MidiInput] device names until configured.
- Fixed caching for [PointsOnMesh].
- Refactored [GetTextureSize] to return IsCubeMap.
- Fixed [SpreadLayout] with a single child.
- Fixed [SelectPointsWithField].
- Fixed [SequenceAnim] triggering with multiple connected ops.
- Fixed [LoadObj] status icon messages.
Performance Improvements
- TextureReadAccess now buffered to avoid frame drops.
- Audio analysis now applied directly after receiving the audio buffer, improving latency slightly.
- Fixed JSON document exporter.
- Added typeless support for Output (♥ @mrvux).
- Fixed null reference due to incorrect build version (♥ @mrvux).
- Fixed GPU memory leak in the editor (♥ @mrvux).
- Backup and restore tessellation and geometry shader stages during UI drawing (♥ @mrvux).
- Added option to disable DirectX debug mode for the device (♥ @mrvux).