Releases: tixl3d/tixl
v4.1.0.4
v4.1.0.1 - alpha
This is an intermediate release.
Please consider using v4.0.6.
v4.0.6
Release notes
Watch release video:
Installer & Releases
- Install to "Program Files" by default
- Simplify compilation without ProcessCommander and ProcessRunner
Working with projects and Export
- Fix creation of new projects
- Excluded large files (>100mb) from backup
- Fix copying of resources when exporting player
- Update tests to and copy them to AppData in release mode
- Added licenses folder
Improvements to the magnetic graph
- Connections are no longer disconnected when unsnapped
- Vertical lines can be dragged
- Add operator output views when hovering outputs and tweak look of curve line
- Implementing GraphHoverModes for MagGraph
- Prevent accidental graph layout adjustments when replacing connections
- Tweak annotation rename interaction
- Fix incorrect connection line warning when inserting multiinput
- Snap ops horizontally enabled by default
- Improve searching with Ctrl+F focus into view behaviour
- Indicate connections that are about to be removed
- Fix undo/redo when replacing a connection on an input
- Add add Node to graph context menu
- Operator names are properly scaled with UI scaling
Timeline improvements
- Automatically resolve overlapping for new timeclips
- Height of TimeClip layer area can be adjusted
- Non-connected TimeClips are not highlighted when within current time
- Reduce default timeline clip height
- Improve autoscaling of non-scalar dope sheet curves
- Increase width of updated curves
- Fix glitch in recount keyframe values
- Fix view adjustment when shift clicking on dope sheet parameter background
- Fix accidental deletion of unselected TimeClips
- Refactor DopeSheet and timeline to reduce allocations and improve display of curve animation lines
User Interface / New features and improvements
- Add HDR indicator to color swatches
- Add gradient editor curve overlays
- Tweak symbol search order
- Updated default layouts
- Refactor Value input UI to support separate clamping of min and max
- Converted more Custom Operator Uis
- Improve Infinity slider with UI scaling
General Fixes and improvements
-
Composition (background) can be pinned if nothing selected
-
Fit background image into graph (without timeline) and disable fading/clear on left edge
-
Fix rotate camera view breaking view target vector distance
-
Fix context menu in project list
-
Project list can be scrolled
-
Don't update project modification time if no symbols were changed
-
Fix toggle mute audio button in the time controls bar
-
ui-minor Display keyboard shortcut for pinning
-
Prevent multiple instanced for file resources in dropdown list
-
Prefer integrated graphic cards over MS basic render graphics card emulation
-
Initialize new gradient inputs so no more reload is required to change them from null
-
Support filenames with spaces when opening files or folders externally
-
Fix camera keyboard control while pressing mouse button
-
Fix potential crash when switching "Bypassed" failed
-
Fix exception when input for NdiOuput contains mipmaps
-
Fix dragging from Symbol Library on to Legacy Graph
Output and rendering
- Increase max bandwidth when exporting videos
- Fix graph visualization in floatList and intList grid output
Working with audio and live performances
- Fix update of audio background image
- Add Playback volume project setting
- Fix beat-tapping without disabled beat lock
- Increase max BPM rate for tapping from 200 to 600
- Clean up export soundtrack code
- Implemented reload of audio images
Performance improvements
- Optimize curve implementation
- Made Instance Outputs and Inputs from IReadOnlyList -> List to avoid allocations
- Tweak display of metrics (only show damped values)
Working with variables
- [SetVar...] operators show reference lines
- Add [SetBoolVar] [GetBoolVar]
Operators updates
Fields and shader graphs
-
Add [HeightMapSdf]
-
Add [InvertField]
-
Add [TranslateUV]
-
Add [JonBakerSDFLoader] generator. -This node is loading the jbaker sdf's
-
Add [SdfToVector] to define procedural vector fields for particle forces
-
Fix [SdfToColor] when used with particle effects
-
Fix [CustomSDF] mod definition because some presets depend on it
-
Optimize [BoxSDF] scale implementation
-
Fix [BendField]
-
Fix [PlaneSDF] transform gizmo for negative axis
-
Fix [TransformField] uniform scaling and add RotateFieldVecs parameter
-
Refactor [GenerateShaderGraphCode] to directly read template file
-
Fix [FractalSdf] to correctly initialize UVs
-
Add [CombineFieldColor] Mix mode
-
Fix [SdfToColor] combining multiple ops
Points
- New: Cleaned up [SelectPointsWithSdf] and added nice examples
- Add [ApplyVectorField]
- Update [RandomizePoints]' Fix color randomization and add Scale parameter. Not longer clamps HDR colors when not randomizing color HSB
- Update [MapPointAttributes] increase default resolution of gradient, supports amount factor, and fix color factor implementation
- Update [RadialPoints] (add color and remove obsolete parameters)
- Update [MeshFacesPoints] Cleaned up (added parameters and example)
- Update [SetPointAttributes] supports amount factor
- Fix incorrect [PointsOnImage] Fx2 default
- Fix [PairPointsForGridWalkLines] and added example
- Breaking change [SnapPointsToGrid] now uses StrengthFactor parameter
- Refactor and rename [PointTrail] -> [PointTrailFast] and [PointTrail2] -> [PointTrail]
for Particles
-
We cleaned up the namespaces. You'll now find all particle ops under Lib/particle/
-
Add [VelocityForce]
-
Add [ToroidalVortexForce]
-
Add [RandomJumpForce]
-
Add [VectorFieldForce]
-
Update [ParticleSystem] tweak settings and parameters and add EmitVelocityFactor parameter
-
Update [FieldVolumeForce] add ReflectOnCollision option
-
Update [FieldDistanceForce] add Decay parameter
-
Update [TurbulenceForce] supports ValueFields for amount
-
Update [FieldDistanceForce] clean up parameters, formatting and presets
-
Update [ReconstructiveForce] adjust default strength of
Mesh and Rendering
-
Add [Icosahedron]
-
Add [DrawSphere] helper
-
Align PBR-implementation with color fields for [DrawMesh], [RaymarchField], [DrawPointsShaded], [DrawMeshAtPoints]
-
Update [DrawLines] add FadeTooLong parameter
-
Update [DrawPointsShaded] fade out near points parameter and align it with common PBR implementation
-
Update [DrawMeshAtPoints] implementation and add ColorField support
-
Update [RaymarchField] using local space instead of position for specular lighting; add
EnableDepth parameter -
Update [DrawMesh] specular implementation
-
Update [SetEnvironment] has some useful defaults for fallback
-
Update and fix [RepeatMeshAtPoints] to support correct scaling and fx
-
Update [TransformMeshUV] adjust Pivot parameter default
-
Fix [SplitMeshVertices]
Working with animation
-
Add [AnimBoolean] including custom ui
-
Add [AnimFloatList] generator
-
Add [SetKeyframes] operator
-
Rename DelayTrigger -> DelayTriggerChange
-
Fix update of [HasTimeChanged] with multiple connections out
-
Fix Trigger OnlyOnDown
-
Fix [SetSpeedFactors] assignment
-
Add [Time] Frozen mode that enables implementing caching for animated ops
-
Fix [AnimValue] trigger timing
-
Fix [HasValueChanged] when rewinding time
-
Fix [Once] with multiple outputs
-
Renamed [Time2] to [Time]
-
Fix [SetBpm] and [GetBpm] updating
IO
- Add Banidu's IO ops for handing artnet, dmx, serial ports
- Add [VideoDeviceInput] webcam support
- Add [ArtnetInput] node for listening artnet
- Update [ArtnetOutput] with raw networking without library. Added unicast and artsync. Theres poll functions now.
- Update [SpoutInput] add UpdateCount output to help sync with frame effects
- Update [PointsToArtNetLights] Improve Nan correction and Add WhiteChannel parameter. Pan/Tilt possible to disable with channel 0.
- Update [OscOutput] supports integers
- Update [OscOutput] add FloatList input
- Fix [NDI] dependencies to support in exported executable
- Fix [Spout] required a ConvertFormat, let's try to failover to a safe default format
- Fix [MidiInput] wasTrigger update
Working with colors
- Change [RgbaToColor] default Alpha to 1
- Add [KeepColors], [PickColorFromList], [OKLChToColor] and [BuildGradient]
- Add [ColorListToInts]
- Fix excessive line in [ImageLevels]
- Add List type and [ColorList] and [StringList] can be editted in the parameter window
- Add [SampleGradient] override interpolation option. If disabled using the intrinsic gradient interpolation
- Increase gradient editor curve resolution
- Fix gradient slider context menu with multiple SampleGradientNodes
working with numbers and math
-
Add [SetVec3] and [GetVec3]
-
Add [IntListToFloatList]
-
Add [FloatListToIntList]
-
Add [RemapFloatList]
-
Add [IntsToList] and [PickIntFromList]
-
Add [DivideVector2]
-
Update [IntValue] now as beautiful op ui
-
Update [PickFloat] implementation
-
Fix [PickFloat] caching
Help and examples
- Add [HowToUseColors] tutorial
- Cleaning up ChunkInstancingExample
- Update/Fix SamplePointColorAttributesExample
Image operators
-
Add [DetectMotion] helper
-
Add [ReactionDiffusion] with an nice example
-
Update [Sketch] (uses project resource directory and handles better page interaction)
-
Update [CheckerBoard] caching
-
Update [LoadImage] to shows thumbnails in mag graph
-
Update [SinForm] to support caching
-
Update [Grain] now to ony uses local time, has a new Animation parameter and implements caching if static
Other improvements
- Update [OrthographicCamera] add Roll parameter
- Updating [VisualTest] to support waiting for async operations; Add [IoTests] ...
v4.0.5.0
v4.0.4
Release Notes 4.0.4
Another preview release of TiXL focused on stability.
Feature Highlights
- Rewrote the compilation of projects and assemblies. This should fix custom UI for most operators.
- Added rotate and scale gizmos.
- Improved editing with time clips (see Documentation).
- Added horizontal snapping of operators to improve connection layout.
- Added keybinding editor (♥ @newemka).
Fixes
- Fixed crash when deleting snapped operators.
Timeline Editor
- Time clips can be split with
Ctrl+X. - After splitting, clips are automatically reconnected.
- Improved dragging and snapping interaction.
- Improved layout of the context menu.
- New: Edit Clip Times editor.
- Time clip changes can be undone.
UI Fixes
- Improved memory performance (♥ @mrvux).
- Improved UI scaling in the graph toolbar (♥ @newemka).
- Added [VideoClip] proof-of-concept.
New Operators and Improvements
- Renamed [SetCommandTime] → [SetTime].
- Fixed [Counter].WasStep output with multiple connections.
SDF, Fields, and Raymarching
TiXL v4.0.3
Release 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).
TiXL v4.0.2 - Preview3
Another preview release that should address a lot of issues of v4.0.1
Release video: https://www.youtube.com/watch?v=7L7h3EXdF34
Updates Since v4.0.1
🧠 Improvements
- Better layout in Help → About dialog
- Early support for automatically detecting and using dedicated graphics cards
- [RemapUi] can now be dragged to adjust bias and gain
Vec2parameter controls now support undo/redo- [MagGraph] now supports Focus Mode (F12)
- [MagGraph] now supports parameter popups
- Most "Tooll" references updated to TiXL
🧩 MagGraph Improvements
- Fix: dragging an op from horizontal snaps no longer breaks connections
- Split horizontal connections at drag position
- Improved collapsing of horizontal stacks after ungroup
- Snapped connections to additional inputs can now be split
- Correctly collapse disconnected input lines
- Connected inputs can now be replaced via snapped connection line
🆕 New Operators
- [GetScreenPos] — helps with 2D annotations (check out the example!)
- [TwistField] — a new field operator
- [ScreenCloseUp] — a post-effect simulating content shown on a digital screen
🛠 Fixes
- Fixed: hovering/updating Presets and Snapshots caused unwanted operator changes
- Prevented project creation with duplicate names
- Fixed: bypassed operators remained active after reload; bypassing again broke their update
- Fixed: interaction issues with [AnimVec2] and [AnimVec3] in the graph
- Fixed: symbols with only one child couldn’t be opened
- Fixed: connecting input-output sockets in some cases led to crashes
- Fixed: inserting invalid ops between vertically snapped ops caused crashes
- Prevented camera movement via keyboard while editing input fields
- Fixed stride size handling for [CombineMeshes]
- Fixed: [PlayVideo] now correctly picks local
.mp4files and handles nullables more cleanly
TiXL v4.0.1 - Preview2
Another preview release that should address a lot of issues of v4.0.0
Release video: https://www.youtube.com/watch?v=7L7h3EXdF34
TiXL v4.0.0 - preview
An early pre-release for TiXL.
v3.10.8-preview
This is a preview release. Consider it an experimental nightly build.
The purpose of this release series is to identify and address compatibility issues across various systems and to give the community a sense of what's coming in the next major version.
Do not use this productively! Expect breaking changes in the format, meaning projects created with this version might not be loadable in future releases.
The installer should install all dependencies.
First Steps (These may change in the near future)
- Run Editor.exe.
- Click the + to create a new project.
You might want to use Windows -> Settings to change the Graph style to Legacy.
Please Help
Report all issues on Discord in the #dev-main channel.
