Skip to content

Releases: tooll3/t3

v3.9.1

14 Feb 22:46
Compare
Choose a tag to compare

Download

tooll-screenshot

Installation and setup

  • Download end extract the zip-file from the Assets below
  • and follow the installation guide

Highlights

Documentation Improvements

As more and more users discover Tooll3, we recognize the need to enhance the discoverability of its features. Despite having numerous video tutorials (with @a1x-unicorn doing a commendable job of adding even more), many of the awesome possibilities remain obscure due to inadequate documentation.

Initiated by @alixcarolan to address this issue, we invested significant time in polishing the documentation interface and content. Now, when hovering over the help icon, operators present their help. We've increased font size and contrast, and now provide detailed documentation for parameters.

While it's possible to create impressive projects without delving into the documentation, you might be surprised by the power and flexibility of many Tooll's operators. With the luxury problem of having too many cool operators, we've made a start with contributions from @ylmrx, @a1x-unicorn, @newemka, and many others for the most important building blocks. We'll continue this effort in future releases.

Wiki-page: Realtime rendering for artists

While documenting the building blocks, we realized that there's a lot of terminology that might be unclear or intimidating to artists. Fear not! We've created the [Realtime rendering for artists](https://github.com/tooll3/t3/wiki/help.RealtimeRendering) page to guide you through everything you need to know. And if you still have questions, join us on Discord. We'll answer your questions and add them to the page.

New Features

Super Fast Rendering with Audio

We've implemented a compute shader to automatically convert image buffers into a format optimal for rendering MP4s and screenshots. This results in a 10× performance improvement and, depending on your hard drive speed, allows rendering MP4s in real-time. Additionally, @HolgerFoerterer has implemented audio support for export, enabling the rendering of audio-reactive videos without the need to stitch them with ffmpeg.

To enhance the video rendering experience, we've added an increment version number checkbox. Now, you can keep the render video window open as a docked window and repeatedly hit "Start Render" to render out intermediate work steps.

Support for glTF File Format

With glTF steadily becoming the de facto file format for exporting 3D file assets, we've expanded Tooll3's capabilities beyond the traditional OBJ format. Powered by the [SharpGLTF package](https://github.com/vpenades/SharpGLTF), Tooll now supports a wide variety of glTF formats and features. We automatically load and combine textures into correct channel maps for [Physically Based Rendering (PBR)](https://github.com/tooll3/t3/wiki/help.RealtimeRendering#physically-based-rendering-pbr) shading. To support scenes with multiple materials, we've introduced the [DrawScene] operator, which handles the required draw calls to the graphics card.

Based on this first implementation, we plan to support more features, especially animation, rigging and driving the position and animation of mesh with by Points. We also plan to extend the SceneSetup handling to the OBJ-file format.

We really recommend checking out the official [Gltf examples](https://github.com/KhronosGroup/glTF-Sample-Models).

Synching to Ableton Link™

You can now use the [AbletonLinkSync] operator to connect to any application in your network that sends Ableton-Link™ synchronization. Because Ableton made this protocol available as a free standard, there is now a [wide range of applications](https://www.ableton.com/en/link/products/) that support this feature. Besides Ableton Live, there are Traktor, BitWig, Touch Designer, VVVV, and DJ hardware by Denon, Numark, Akai, Native Instruments, and many more.

This is huge, because AbletonLink not only sends the tempo (I.e. BPM rate) but also the syncing within a measure. And because all timing in Tooll3 is using bars, everything(!) now is syncing perfectly: Connect a [AnimValue] to a [Blob.Radius] -> voila: perfect sync. No more tapping at VJ acts!

Enhanced Point Structure

We've completely overhauled the point structure to support colors and stretching. This expansion significantly broadens the possibilities by combining various point operators. Read all about it [here](update.BetterPoints).

Bias and Gain + Vector2 Controls

What might initially seem like technical jargon for math enthusiasts actually reveals itself as a highly adaptable parameter that can be utilized across various operators. Its versatility is such that it would be nearly impractical to use without the addition of a fantastic new user interface we've integrated into the Parameter window. This interface allows for simultaneous dragging of both parameters and provides visual representations of the settings through distribution curves and weights.

We've already incorporated BiasAndGain into [Remap], [RandomizePoints], [FractalNoise], [RemapColors], [Tint], [LinePoints], [RadialPoints], [PerlinNoise], [ImageBasedForce], and numerous other operators. For a more comprehensive understanding of its application and potential, please refer to the linked video above.

Further Interface Improvements

  • You can now rename input parameters from the Editor.
  • Beat tapping interaction has been improved with added keyboard shortcuts Z (tap) and X (resync measure start).
  • UI scale and display scale settings have been improved for better compatibility with Windows' display scale settings like 125%.
  • Evenly distributing gradient steps with Hold interpolation now also shows the last step.
  • Formatting presets have been added to float and vector parameters for quick optimization of display, scale, and ranges.
  • Parameter window layout has been redesigned for easier reading, with parameter groups and long parameter names no longer cut off.
  • Switching between foreground and background control in focus mode is now easier.
  • Midi-Devices can be rescanned from the settings window without restarting Tooll.
  • Duplicating a symbol now keeps dropdown definitions.
  • A new Multiply Alpha blend mode has been added to most image operators for powerful masking.
  • Gradient manipulation now supports undo/redo.
  • Default camera position precision has been increased to perfectly align [Layer2d] pixels for feedback effects.

New and improved Operators

Image and Effects

  • [Dither] - Converts images into bitmap graphics.

  • [AdvancedFeedback2] - An alternative 2D feedback for fluid-like animations.

  • [ShardNoise], [WorleyNoise] - Generates abstract patterns.

  • [NdiInput] @mrvux contributed significant performance improvement and stability.

  • [RemapColors] now supports cycling and the new Bias parameter.

  • [ChromaKey] supports new output modes and improved quality.

  • [Tint] is enhanced with Bias and Gain for flexible color adjustment.

  • [GodRays] avoids stretching by the render target aspect ratio.

  • [DefineLensFlare] and [DrawLensFlares], [DrawLensGlares] these operators where previously hidden behind the [LensFlareSetup]. We cleaned them up and added documentation and presets to make it much easier to build customized lens flares.

Rendering

  • [LoadGltfScene] - Loads a glTF scene with all materials as a SceneSetup

  • [DrawScene] - Draws a scene.

  • [DefineMaterials], [UseMaterial] allow for more flexible material graphs.

  • [KeepBoolean] - Maintains the status of a boolean until reset to a default.

  • [FindKeyframes] - Allows access to keyframe positions and values for queue management.

  • [ConvertTime] - Converts between bars, seconds, and frames using the current BPM.

  • [DampAngle], [SubVec3], [Vec3Distance] - Vector manipulation operators.

  • [IndexOf] - Returns the position of a search string.

Points and Particles

  • [ParticleSystem] we overhauled the live-time and aging behavior of particles to make it more intuitive.
  • [RandomizePoints] - is a new super powerful method to apply deterministic variations to a point buffer. We built it from scratch to avoid homogenous non-periodic distributions (a fancy term for "no patterns or artifacts for large set of points"). To keep backwards compatibility for old projects, the we keep
  • [SnapVelocityForce] can be added to particle systems to snap align points to 45° or 60° angles which resulting in fancy looks especially when combined with [PointTrail].
  • [VolumeForce] now supports a cylinder type.
  • [RepeatMeshAtPoints] now supports stretching.

Utilities

  • [AbletonLink] - see above
  • [HasVec2Changed] - returns true is the change of a vector exceeds a threshold.
  • [RemapVec2] - remaps the value range of a vector

Internal Improvements

  • @domportera is making tremendous progress on refactoring Tooll to allow for more stable and flexible project setups. Eventually, this will enable the use of package management and the separation of user operators and resources.
  • We have made progress on the new magnetic graph that will be included in an upcoming version.
  • We have sped up keyframe acces...
Read more

v3.8.2

27 Nov 00:28
Compare
Choose a tag to compare

v 3.8.2 includes a couple of hot fixes and minor improvements.

Installation and setup

  • Download end extract the zip-file from the Assets below
  • and follow the installation guide

New Features

  • InfinitySlider for value manipulation
  • We added our new shader-based particle system. Check the [HowToUseParticles] and other examples to get started.
  • We aligned PBR rendering and material settings with Blender.
  • Fullscreen can be toggled with F11.
  • Focus Mode can be toggled with F12.

Documentation and Help

We understand that documentation and help are essential to getting the most out of Tooll3. That's why we spent significant time on this release improving the situation:

  • Comments can be added to operators. We completely reworked all howtos and added hundreds of comments that explain in more detail what's going on and what to pay attention to.
  • Operators can have external links to tutorial videos or documentation.
  • We made a new introduction video and tweaked a lot of usability features on the fly.
  • Cleaned up documentation for all [HowTos] tutorials.
  • We implemented an exporter to utilize machine learning-based spelling correction on all description and documentation texts.
  • We aligned the namespaces and names of many operators to make them more accessible.

Working with Graphs...

We spent a lot of time perfecting the graph workflow:

  • Clicking operators in the Symbol Library will insert them into the graph.
  • Operator inputs can be clicked to open the symbol browser.
  • Scroll canvas to avoid the open browser close to the edge.
  • Console log now shows startup messages.
  • Improved tooltips for many data types (show buffer size, types, and other details).
  • Improved design of annotations.
  • Improved font scaling of operator nodes.
  • Operators with string, Vec2, and Vec3 can be bypassed.
  • Tweak visual design of interactive operators such as Gradient, Value, String, SampleCurve.
  • Connected values are now correctly displayed.
  • Parameter values, curves, and AnimValue shapes are now correctly displayed on the graph before the first update.
  • Add a user setting to (disable) suspend rendering when the editor window is minimized.
  • Update Roboto font files to improve font rendering in the editor and tweak font sizes.
  • List keyboard shortcuts in settings.
  • Improve switching of focus mode.
  • Show playback speed multiplier when pressing L or J multiple times.

Further Improvements

  • Improve the layout of Settings windows to make it easier to navigate and scan.
  • Clicking a parameter resets to default and removes animations.
  • Drastically (10x) improve video export performance with the BRGA format converter.
  • Show helpful warning messages if Windows Diagnostic Tools are not installed.
  • Show a warning if "T3Editor.exe" is started instead of "StartT3.exe."
  • Add a popup editor for sample curve.
  • Add a user setting to reset playback position after stop.
  • Clear the parameter name after adding with the parameter dialog.

Fixes

  • Fix saving after "Fix files."
  • Fix 20+ crashes and exceptions reported by crash reports.
  • Restore window size after toggling fullscreen.
  • Fix the visibility of the time marker on 4k displays.

Development

  • Cleanup Utilities window and implement asset management with usage and renaming.
  • Align consistency of all shaders and folders.
  • Cleanup default images and folders.

New Operators

  • [ParticleSystem] with tons of forces and examples.
  • [MidiOutput].
  • [StartGlowStreak].
  • [GetBpm].
  • [DrawMeshCelShading].
  • [DisplaceMesh].
  • [CombineMaterialChannels] can be used to combine multiple images for Metallic, Reflectivity, and AmbientOcclusion into packed image for [SetMaterial]

Improved Operators

  • [Boolean] features color and improved design and usability.
  • [DirectionalBlur] now offers a refine pass for nicer creation of abstract designs. Also, check the new example.
  • [ImageLevels] now visualizes negative colors.
  • [PairPointsForSplines] computes orientation along the spline.
  • [Steps] has improved highlighting and offset.
  • [Blob] With improved scaling.
  • [SetMaterial], [DrawMesh], [DrawMeshAtPoints] now feature much improved rendering.

Noteworthy New Examples

  • [HowToUseParticles].
  • [BooleanExample].
  • [DirectionalBlurExample].
  • [CamPositionExamples].
  • [ParticleCollisionExample].

Fixes

  • [SSOA] now uses correct default values for new/far clipping.
  • [Camera] roll parameter now uses degrees.

v3.8.1

14 Nov 02:01
Compare
Choose a tag to compare

New Features

  • InfinitySlider for value manipulation
  • We added our new shader-based particle system. Check the [HowToUseParticles] and other examples to get started.
  • We aligned PBR rendering and material settings with Blender.
  • Fullscreen can be toggled with F11.
  • Focus Mode can be toggled with F12.

Documentation and Help

We understand that documentation and help are essential to getting the most out of Tooll3. That's why we spent significant time on this release improving the situation:

  • Comments can be added to operators. We completely reworked all howtos and added hundreds of comments that explain in more detail what's going on and what to pay attention to.
  • Operators can have external links to tutorial videos or documentation.
  • We made a new introduction video and tweaked a lot of usability features on the fly.
  • Cleaned up documentation for all [HowTos] tutorials.
  • We implemented an exporter to utilize machine learning-based spelling correction on all description and documentation texts.
  • We aligned the namespaces and names of many operators to make them more accessible.

Working with Graphs...

We spent a lot of time perfecting the graph workflow:

  • Clicking operators in the Symbol Library will insert them into the graph.
  • Operator inputs can be clicked to open the symbol browser.
  • Scroll canvas to avoid the open browser close to the edge.
  • Console log now shows startup messages.
  • Improved tooltips for many data types (show buffer size, types, and other details).
  • Improved design of annotations.
  • Improved font scaling of operator nodes.
  • Operators with string, Vec2, and Vec3 can be bypassed.
  • Tweak visual design of interactive operators such as Gradient, Value, String, SampleCurve.
  • Connected values are now correctly displayed.
  • Parameter values, curves, and AnimValue shapes are now correctly displayed on the graph before the first update.
  • Add a user setting to (disable) suspend rendering when the editor window is minimized.
  • Update Roboto font files to improve font rendering in the editor and tweak font sizes.
  • List keyboard shortcuts in settings.
  • Improve switching of focus mode.
  • Show playback speed multiplier when pressing L or J multiple times.

Further Improvements

  • Improve the layout of Settings windows to make it easier to navigate and scan.
  • Clicking a parameter resets to default and removes animations.
  • Drastically (10x) improve video export performance with the BRGA format converter.
  • Show helpful warning messages if Windows Diagnostic Tools are not installed.
  • Show a warning if "T3Editor.exe" is started instead of "StartT3.exe."
  • Add a popup editor for sample curve.
  • Add a user setting to reset playback position after stop.
  • Clear the parameter name after adding with the parameter dialog.

Fixes

  • Fix saving after "Fix files."
  • Fix 20+ crashes and exceptions reported by crash reports.
  • Restore window size after toggling fullscreen.
  • Fix the visibility of the time marker on 4k displays.

Development

  • Cleanup Utilities window and implement asset management with usage and renaming.
  • Align consistency of all shaders and folders.
  • Cleanup default images and folders.

New Operators

  • [ParticleSystem] with tons of forces and examples.
  • [MidiOutput].
  • [StartGlowStreak].
  • [GetBpm].
  • [DrawMeshCelShading].
  • [DisplaceMesh].
  • [CombineMaterialChannels] can be used to combine multiple images for Metallic, Reflectivity, and AmbientOcclusion into packed image for [SetMaterial]

Improved Operators

  • [Boolean] features color and improved design and usability.
  • [DirectionalBlur] now offers a refine pass for nicer creation of abstract designs. Also, check the new example.
  • [ImageLevels] now visualizes negative colors.
  • [PairPointsForSplines] computes orientation along the spline.
  • [Steps] has improved highlighting and offset.
  • [Blob] With improved scaling.
  • [SetMaterial], [DrawMesh], [DrawMeshAtPoints] now feature much improved rendering.

Noteworthy New Examples

  • [HowToUseParticles].
  • [BooleanExample].
  • [DirectionalBlurExample].
  • [CamPositionExamples].
  • [ParticleCollisionExample].

Fixes

  • [SSOA] now uses correct default values for new/far clipping.
  • [Camera] roll parameter now uses degrees.

v3.8.0

09 Nov 21:43
Compare
Choose a tag to compare
v3.8.0 Pre-release
Pre-release

Release notes pending

v3.7.1

23 Aug 21:21
Compare
Choose a tag to compare

This release fixes a number of possible exceptions and introduces some new features:

  • It now ships with a selection of gradient presets.
  • It allow create custom output resolutions.
  • You can enable an interaction overlay that visualizes pressed mouse or keyboard buttons which can be useful for recording tutorials.

V3.7.0

13 Aug 14:58
Compare
Choose a tag to compare

Installation and setup

  • Download end extract the zip-file from the Assets below
  • and follow the installation guide

v3.7 Highlights

Improved Exporting

The player exporter now uses a published combined .NET binary. Although this binary is slightly larger, it contains all .NET references and dependencies, greatly improving the compatibility of the exported project.

Search Dialog

Ctrl+F now opens the search dialog, which allows you to quickly search the current composition, your project, or everything and quickly navigate between the results.

Quick Navigation

In Focus mode, you can use the cursor keys to quickly navigate between operators.

Midi Indicator and "IO Events" Window

The new IO indicator shows if any Midi devices send signals. On hover, you see a nice visualization of the inputs. Clicking the indicator will open the new "IO Events" window, allowing you to further inspect the data. We plan to extend this to OSC data and allow saving and replaying this data as animation tracks in the timeline.

Themes

You can now switch between different UI themes or customize the colors to your own taste:

Warning Indicators

We show small warning indicators on operator problems like shader compile errors or missing resources:

Crash Reporting (Safety First)

Well, sometimes things go bust. To improve stability, we now integrate sentry.io crash reporting. When you decide to submit a crash report, we will receive an email and look into the problem. As a bonus, we slightly improve the user experience by letting you know that there are always backups and where to find them.

Fixes and Improvements

  • Improved layout and usability of Add Input and Add Output dialogs.
  • Improved snapping to selected elements in Timeline.
  • Fixed accidental dragging of canvas elements when adjusting colors.
  • The activated blend snapshots are now highlighted.
  • In user settings, you can now prevent midi devices from being captured. This can be useful when working with DAWs while running Tooll.
  • You can set the step-through time speed in the user settings.
  • We fixed the save screenshot tool in the output window.
  • Improved the usability of curve editing.
  • Fixed the opening of the hidden main menu in Focus Mode.
  • Long strings and string lists can be scrolled in the output window.

More Notable Fixes

  • #279
  • We fixed file hooks and shader updating if those resources were not valid on startup.

Operators

Trigger Animations with MIDI

[MidiInput] has a new WasHit output that is useful for triggering animations.

New Operators

  • [GodRays]
  • You can use [CombineMeshes] to combine meshes and then use those for other effects like [DrawMeshAtPoints].
  • [VisualizeMesh] shows vertex IDs, normals, and other details.
  • [OpticalFlow] and [KeepPreviousFrame] can be used for nice effects. See example.

Operator Improvements

  • [MouseInput] now supports different output ranges for viewport or world space and the XY plane.
  • Many image Operators now support BlendModes like ColorDodge.
  • [ParticleSimulation] uses a better cycling algorithm.
  • Fixed line endings in [LoadObjAsPoints].
  • Renamed [PickPoints] -> [FilterPoints].
  • Improved the performance of [SimpleLiquid2].
  • Fixed the random distribution of [DrawBillboard].
  • [MidiInput] now shows a warning indicator if the selected device is currently not connected.
  • We greatly improved the precision of [PlayVideo]. This works especially well with frame-wise time stepping (see above). Rendering projects with videos will now produce consistent results.
  • [RandomizePoints] now supports a consistent RandomPhase parameter that is great for fast deterministic animations.
  • [VisualizePoints] is now visible by default (not just when toggling Gizmo Visibility in the output window).
  • [DrawLines] now supports parameters to implement dashed lines.
  • [VisualizePoints] now supports options to indicate vertex IDs.
  • Fixed the spreading of atlas texture in [DrawBillboards].

Behind the Scenes

  • We're continuing our effort to restructure the code into packages that will bring us closer to a Vulcan port. This will open the way to bring T3 to Linux and MacOS.
  • We're in the process of refactoring the particle simulation to support collisions and other effects.

v3.6.1

11 Jun 19:21
Compare
Choose a tag to compare

Installation and setup

  • Download end extract the zip-file from the Assets below
  • and follow the installation guide

Updates to v3.6

This release focuses on improving stability, performance, and quality of work. By caching certain operations and only updating objects when required, we've been able to more than double the performance for complex projects. Additionally, @domportera has significantly optimized the startup speed.

In addition to these improvements, there are tons of other features and enhancements in the 400 commits since v3.5. Here are the highlights:

New Features:

  • Playback settings are now stored differently, making it easier to switch between projects with timelines or external audio devices
  • Operators can be bypassed
  • ImageFx shader template
  • The Symbol Browser now uses statistical analysis to sort suggestions depending on your current selection and project. Pressing space after a search instantly switches to searching presets, making creating new Operators much faster
  • Improved user interface scaling when using T3 with custom DPI display settings
  • Significant improvements to the Undo/Redo behavior of many operations, including modifying parameters, key frames, and connections
  • Ability to connect multiple selected outputs with the same output at once
  • The Color Picker now shows color swatches used in your project, making it easier to align your design
  • The render speed indicator in the application header now prints statistics like Face Count / Draw-Calls, etc.
  • Added the “auto pin keyframes” mode to the Timeline Toolbar
  • Operators using a file picker can filter their options by type
  • Improved layout of the parameter view, making it easier to scan operators with many parameters
  • Gradients now support cubic spline interpolation for smoother color transitions
  • Tweaks to the graph render, including highlighting connection lines when hovering and highlighting all incoming and outgoing connections when hovering an operator
  • Optimized startup performance so much that you barely have time to see the new splash screen!

New Operators:

  • lib.3d.mesh.modify.BlendVertices: This operator blends the vertices of a mesh with matching topology, making it especially powerful with the RangeBlendSmooth modes.
  • lib.3d.mesh.modify.TextureDisplaceMesh: Use projected planar textures to display a mesh.
  • lib.3d.mesh.modify.WarpMesh2d: A simple helper that assists with projection mapping.
  • lib.3d.transform.RotateAroundAxis: Rotate the subgraph around an axis.
  • lib.3d.transform.RotateTowards: Rotate the subgraph towards a position or camera.
  • lib.img.fx.BlendImages: Smoothly blend between two connected images.
  • lib.img.fx.CustomPixelShader: A super-fast way to write fragment shaders from a string input.
  • lib.img.fx.MosaicTiling: This operator subdivides the incoming image into recursive tiles.
  • lib.img.fx.RgbTV: A realistic TV glitch effect.
  • lib.img.use.RenderWithMotionBlur: Render multiple passes of the connected graphs, resulting in super-crisp motion blur.
  • lib.io.file.LineTextPoints: Read SVG line fonts so they can be used for line renderings and animation effects. Check the example for more details.
  • lib.io.input.NDIInput (preview): Connect to available NDI sources.
  • lib.io.midi.LinkToMidiTime: Control the playback time by MIDI timing events.
  • lib.math.bool.DelayTrigger: Hold or delay a trigger signal.
  • lib.math.bool.FlipFlop: Hold a boolean value until it is reset to its default value.
  • lib.math.float.SmoothStep: Create a smooth step blending.
  • lib.math.float.Lerp: Linear interpolation between two float values.
  • lib.point.draw.DrawBillboards: A highly versatile new option for drawing points with random variations. It supports different billboarding methods and atlas texture.
  • lib.point.modify.CustomPointShader: A very fast method to experiment with compute shaders to manipulate points.
  • lib.point.transform.PairPointForSplines: Connect pairs of points and use their orientation to connect them with splines (think airplane flight paths).
  • lib.point.transform.PolarTransformPoints: Transform a planar point set into a cylindrical or sphere coordinate system. With this, you could take a world map SVG and turn it into a globe.
  • lib.point.transform.TransformSomePoints: Transform a set of points allowing for gaps. This can be used, for example, to scale every second point.
  • lib.string.BuildRandomString: A very versatile method to create random text effects. Explore the presets and get inspired.
  • lib.3d.gizmo.PlotValueCurve: A simple value that renders a value curve of the history of a value.

Improved Operators

We have made improvements to over 100 operators. Here are some of the highlights:

  • lib.io.midi.MidiInput now supports controller and key events sent by the same device.
  • lib.img.fx.FractalNoise now supports displacement by normal maps.
  • lib.3d.draw.Layer2d has been completely refactored to support different scale modes, such as fit height, fit cover, cover, etc.
  • lib.img.generate.RadialGradient now supports polar layout.
  • lib.point.modify.SamplePointAttributes now supports different transform spaces for translations, scaling, and rotation.
  • We have aligned and improved the readability of the names for [GetIntVar], [SetFloatVar], and [GetFloatVar] on the graph.
  • lib.img.fx.Blend has new and improved blend modes.
  • lib.3d.transform.Transform now has a pivot parameter.
  • Many image generators and effects, such as [Ringes], [Blob], [RadialGradients], [LinearGradients], have received blend modes and overall improved render quality.

v3.6.0

07 May 22:41
Compare
Choose a tag to compare

Installation and setup

  • Download end extract the zip-file from the Assets below
  • and follow the installation guide

Updates to v3.6

This release focuses on improving stability, performance, and quality of work. By caching certain operations and only updating objects when required, we've been able to more than double the performance for complex projects. Additionally, @domportera has significantly optimized the startup speed.

In addition to these improvements, there are tons of other features and enhancements in the 400 commits since v3.5. Here are the highlights:

New Features:

  • Playback settings are now stored differently, making it easier to switch between projects with timelines or external audio devices
  • ImageFx shader template
  • The Symbol Browser now uses statistical analysis to sort suggestions depending on your current selection and project. Pressing space after a search instantly switches to searching presets, making creating new Operators much faster
  • Improved user interface scaling when using T3 with custom DPI display settings
  • Significant improvements to the Undo/Redo behavior of many operations, including modifying parameters, key frames, and connections
  • Ability to connect multiple selected outputs with the same output at once
  • The Color Picker now shows color swatches used in your project, making it easier to align your design
  • The render speed indicator in the application header now prints statistics like Face Count / Draw-Calls, etc.
  • Added the “auto pin keyframes” mode to the Timeline Toolbar
  • Operators using a file picker can filter their options by type
  • Improved layout of the parameter view, making it easier to scan operators with many parameters
  • Gradients now support cubic spline interpolation for smoother color transitions
  • Tweaks to the graph render, including highlighting connection lines when hovering and highlighting all incoming and outgoing connections when hovering an operator
  • Optimized startup performance so much that you barely have time to see the new splash screen!

New Operators:

  • lib.3d.mesh.modify.BlendVertices: This operator blends the vertices of a mesh with matching topology, making it especially powerful with the RangeBlendSmooth modes.
  • lib.3d.mesh.modify.TextureDisplaceMesh: Use projected planar textures to display a mesh.
  • lib.3d.mesh.modify.WarpMesh2d: A simple helper that assists with projection mapping.
  • lib.3d.transform.RotateAroundAxis: Rotate the subgraph around an axis.
  • lib.3d.transform.RotateTowards: Rotate the subgraph towards a position or camera.
  • lib.img.fx.BlendImages: Smoothly blend between two connected images.
  • lib.img.fx.CustomPixelShader: A super-fast way to write fragment shaders from a string input.
  • lib.img.fx.MosaicTiling: This operator subdivides the incoming image into recursive tiles.
  • lib.img.fx.RgbTV: A realistic TV glitch effect.
  • lib.img.use.RenderWithMotionBlur: Render multiple passes of the connected graphs, resulting in super-crisp motion blur.
  • lib.io.file.LineTextPoints: Read SVG line fonts so they can be used for line renderings and animation effects. Check the example for more details.
  • lib.io.input.NDIInput (preview): Connect to available NDI sources.
  • lib.io.midi.LinkToMidiTime: Control the playback time by MIDI timing events.
  • lib.math.bool.DelayTrigger: Hold or delay a trigger signal.
  • lib.math.bool.FlipFlop: Hold a boolean value until it is reset to its default value.
  • lib.math.float.SmoothStep: Create a smooth step blending.
  • lib.math.float.Lerp: Linear interpolation between two float values.
  • lib.point.draw.DrawBillboards: A highly versatile new option for drawing points with random variations. It supports different billboarding methods and atlas texture.
  • lib.point.modify.CustomPointShader: A very fast method to experiment with compute shaders to manipulate points.
  • lib.point.transform.PairPointForSplines: Connect pairs of points and use their orientation to connect them with splines (think airplane flight paths).
  • lib.point.transform.PolarTransformPoints: Transform a planar point set into a cylindrical or sphere coordinate system. With this, you could take a world map SVG and turn it into a globe.
  • lib.point.transform.TransformSomePoints: Transform a set of points allowing for gaps. This can be used, for example, to scale every second point.
  • lib.string.BuildRandomString: A very versatile method to create random text effects. Explore the presets and get inspired.
  • lib.3d.gizmo.PlotValueCurve: A simple value that renders a value curve of the history of a value.

Improved Operators

We have made improvements to over 100 operators. Here are some of the highlights:

  • lib.io.midi.MidiInput now supports controller and key events sent by the same device.
  • lib.img.fx.FractalNoise now supports displacement by normal maps.
  • lib.3d.draw.Layer2d has been completely refactored to support different scale modes, such as fit height, fit cover, cover, etc.
  • lib.img.generate.RadialGradient now supports polar layout.
  • lib.point.modify.SamplePointAttributes now supports different transform spaces for translations, scaling, and rotation.
  • We have aligned and improved the readability of the names for [GetIntVar], [SetFloatVar], and [GetFloatVar] on the graph.
  • lib.img.fx.Blend has new and improved blend modes.
  • lib.3d.transform.Transform now has a pivot parameter.
  • Many image generators and effects, such as [Ringes], [Blob], [RadialGradients], [LinearGradients], have received blend modes and overall improved render quality.

v3.5.1

11 Dec 00:58
Compare
Choose a tag to compare

Installation and setup

  • Download end extract the zip-file from the Assets below
  • and follow the installation guide

In the last three months of Tooll we focuses on usability, quality and life and stability. But of course we snug in plenty of new features and effects too. The list is long so let's jump right in:

Interface

  • We added a New dialog the provides a selection of Operator templates to get you started: from a simple empty project to a ready made compute shader setup. It will create, name and setup all dependencies and directories for you.

  • You can now migrate your projects from other versions of Tooll: Open the dialog with Files > Import, select a directory with a Tooll installation. Tooll will then use your nickname to detect Operators that can be imported. It will also copy all your resources from the other version.

  • We completely overhauled the interface system: Window panels can how be docked and grouped making it much more intuitive to setup the perfect layout.

  • We rewrote the parameter editing gizmo to improve usability and readability.

  • Gradients can now be stored as presets.

  • In the rare event that something prevents the correct startup, Tooll will offer to restore the last backup. Backups are stored every 3 minutes and kept with decreasing frequency so not to clutter your hard drive.

  • We improved the layout of the Symbol Browser window to make it easier to discover useful Operators.

  • The console log window now shows an unlimited amount of lines and can be easily filtered. Hovering over a console log line will show its source which then can be clicked and focused.

  • Required inputs with a missing connection have a small indicator.

  • We restructured the application menu to for better readability.

  • Parameters can now have format overrides to display indicators for degrees, units or factors.

  • Rendering Video Sequences or Videos can now use the selected loop range.

  • We improved the design and usability of the Settings window.

  • Pressing the BPM? button will try to detect the current bpm for an audio input.

  • We improved the pixel alignment of key-frames in the timeline.

  • The Symbol browser now fades out non-relevant internal or Operators by other users.

  • We improved countless smaller details like icons, colors and layout and we added a small application icon.

  • Fixes

  • preview thumbnails are now properly scaled

  • We added a cycle check to prevents crashes.

  • Invalid value inputs will fall back to default instead of NaN.

Relevant Operators changes

We restructured the namespaces for all operators, wrote documentation and

  • [AnimValue], [AnimVec2] and [AnimVec3] now have a consistent set of animation types and new modes like endless, random and noise.
  • [Value] now can be used like a slider.
  • You can share textures with other applications through[SpoutInput] and [SpoutOutput].
  • Updated [LoadSvg] to support more svg primitives, corner rounding, better closing on shapes and optimization factor and supports translation for rectangles.
  • [Camera] now supports viewport shifting for anaglyph rendering.
  • Add [CustomPointShader] for live editing compute shaders.
  • Add [PickColorFromImage] to pick colors from textures
  • [SliceViewPort] and [DrawAsSplitView] can be used to slice the rendering into rasters.
  • [Sketch] can be used for annotations, feedback and storyboarding.
  • [FadingSlideShow] plays back the images in a folder with transitions and other effects.
  • [Group] supports color override for the complete subgraph which can be used to fade out graphs.
  • [ReprojectToUV] can be used for complex project mapping.
  • Renamed [RandomCamera] to [OrbitCamera]
  • [TextSpritePoints], [DrawPointSprites] and [DrawPointSpritesShaded] can be used for GPU accelerated text animations.
  • [GridPoints] now supports triangular and honeycomb tiling.
  • Add [SimpleLiquid] and [SimpleLiquid2] simulation effects.
  • [GetPosition] can be used to reuse a world space location.
  • [Blend] now supports Resolume like 50% blending (I.e 0% - 50% using selected blend mode and blending to normal above.)
  • [RenderTarget] has a new .IsEnabled parameter that can be used for caching
  • [DepthOfField] has an improved behavior and additional parameters.
  • [SetPointW] now supports textures.

Internal & Development

  • We switch to .net6
  • We restructured all namespaces and added a project wide T3 namespace
  • We added additional statistics that calculates the usage and dependencies for operators so we can faster sort out not-used obsolete Operators.

v3.4.0

27 Sep 23:43
Compare
Choose a tag to compare

Release notes for v3.4

Despite the summer holidays we pushed the project forward, focusing on stability, usability and documentation.

The highlights

Operator/Types/ folders is structured by namespaces

This makes it much easier to migrate between versions. From now on you can copy "your namespace" to the new Tooll release to transfer all your projects. This is also the basis for automatic migration features planned for with v3.5.

Copying Older projects to new T3 version

You may copy your old files from Operators\Types\user\yournamespace to the same directory in the new version of Tooll3 once your namespace is created there..

Render Sequence and Video

We can finally render content, Video and Still images with arbitrary frame rates and higher resolutions!.

We're busy working on the documentation

We've added "HowTo..." playgrounds for animation, operator types, points image effects an many more. This makes it much easier to pick up the basics.

User Interface improvements

The user-interface can now be scaled dynamically

r3 4-scale-ui

Your personal workspace

Tooll now asks for your username at startup and automatically sorts it in new operator types, Add -> User -> yournamespace is where you will find all your Types created in Tooll, they will also of course show up when you press TAB and begin entering the name of your custom made operators.

Welcome

The new HomeCanvas operator welcomes users with a short introduction and a list of interactive starter "HowTo's".

Improved color picker

The Color picker now has a cleaner layout and supports hex values.

Improved value ladder

Users can now use a value ladder, to quickly manipulate parameters in the parameter window anywhere they find them in Tooll.

Better Gradients

Gradient interpolation can now be set with a context menu and gradient presets can be stored in user settings.

Fast Screenshots

You can now quickly take screenshots from the output window toolbar.

Minimap for graphs

Enable the new mini-map feature to keep the overview in large graphs, you'll never lose your operators on the graph again!.

Scroll Canvas with keyboard

You can now navigate the graph canvas with keyboard shortcuts WASD.

Give me examples!

Operator descriptions in the parameter window are now searched by the quick create widget (TAB key). This allows you to search for synonyms like "LFO" for [AnimValue] or "filter" for [Damp]. It also lists related operators below the description so you can drag them right into your graph.

Even more...

  • Dragging the transform gizmo is more stable now.
  • Working with nested time clips has been improved significantly.
  • Nested annotations are now moved with their parents.

Performance

  • Many compute shader buffers are now only rebuilt when required.

Stability

  • As always we're committed to making Tooll more stable and user friendly. We've fixed countless crashes, bugs, inconsistencies and documentation.

Project documentation

As more and more people are joining the project we're refining our documentation on the wiki pages. Yes, there is a long way to go (we could definitely use some help on that front) but we're making progress. We're also working hard on sorting and prioritizing bugs and feature-requests into the Roadmap. Check it out, if you are curious about what we have planned for the next release. And don't hesitate to submit feature requests or join the discussion on Discord.

New Operators

Here are some noteworthy new building blocks:

  • lib.3d.mesh.LoadGltf - is a first basic implementation the we're going to expand in the next versions.
  • lib.3d.mesh.Ngon - generate circular meshes.
  • lib.points.PointsOnMesh - a very powerful feature that uses CDF to evenly distribute points on arbitrary meshes. It also supports mesh selections.
  • lib.point.SetPointW - allows to control point weights from an input curve.
  • lib.point.OrientPoints - can be used to make points rotate towards a point.
  • lib.point.SnapPointsToGrid - moves points onto a virtual grid. The produces very interesting effect, esp. when partially applied and combined with [SelectPoints].
  • lib.point.MeshAsSpheres - draws points as PBR shaded spheres.
  • lib.anim.SequenceAnim - a very nice operator for procedural animations.
  • lib.img.fx.Combine3Images - a flexible swiss army knife for image combination.
  • lib.img.fx.BubbleZoom - a bubble zoom! try it out
  • lib.img.fx.ColorGradeDepth - a new color grading tool that uses depth buffer for advanced adjustment effects.
  • lib.exec.Group - combines the multiinput of [Execute] and with the transform parameters of [Transform].
  • lib.io.VideoClip - plays video clips and allows basic non-linear editing.
  • lib.io.MidiClip - a first proof-of-concept for importing and using value channel clips to drive animations.
  • lib.mesh.LoadObj - now supports quad-meshes without texture coordinates and a scale factor.
  • lib.math.bool.Trigger - shows up as nice little button on your graph canvas. Nice for testing.
  • lib.math.float.DetectPulse - can be helpful to detect sudden movements in sensor values like Osc or Audio levels,perfect to detect beats or hits.
  • examples.howto.HowToAnimate
  • examples.howto.HowToUseTooll
  • examples.howto.HowToUseOperators
  • examples.howto.HowToUseImageEffects
  • examples.howto.HowToDrawThings
  • examples.howto.HowToDrawPoint

Contributions

As the main contributor this release was everything I have hoped for! We now had 35 pull requests from 10 contributors with more and more sophisticated features like Video Playback, Video rendering, Midi file import, mesh generation, OSC performance, documentations and of course many many bug fixes.

Here are just and few: dddd, mrvux, noice, sphynxcolt, 1x, imdom, nodeus, hollyhook, r8bhavneet, Thomas Helzle, Alkama, and... wait for it... deadmau5.

We also want to thank the active, lovely community on discord with people like: Sense, Gaspode, rawr!, SonikBuster, dBiz, veiss, raztaman. It's incredible to be part of this crowd.