Fabric Resources

Kevin TureskiKevin Tureski Posts: 126 ✭✭
edited December 2016 in General

Fabric Resources

This post is intended to be the definitive source for the most relevant and helpful reference material for Fabric, including anyone programming in KL or Canvas - many of the tools that ship with Fabric Engine are available as source. Together with the open source tools and extensions that are developed by the Fabric community, there are lots of great examples to draw upon.

There are tags on each item to make it easy to quickly identify what kind of a resource it is and who developed it; while most are developed by Fabric, some come from the Community. We've clumped related things together and listed them roughly in order from most-likely-to-be-useful-to-most through to will-be-helpful-to-some.

NOTE: For all the github resources from Fabric, you will want to use the Burrows branch in order to be compatible with the current release (2.3.0 / 2.3.1).


Getting Started With Fabric Engine (Videos, Fabric)
* Getting Started: Download & Licensing
* Getting Started: Fabric for Maya
* Getting Started: UI Overview
* Getting Started: Node Creation
* Getting Started: Canvas ports
* Getting Started: Canvas ports inside other applications
* Getting Started: Reporting and Polymorphic nodes
* Getting Started: Caching graphs
* Getting Started: Subgraphs
* Getting Started: Presets
* Getting Started: Daily builds
* High Level Presets 1: Creating Polygon Meshes
* High Level Presets 2: Deforming Polygon Meshes
* High Level Presets 3: Instantiating
* High level presets: Smooth deformer
* High-level presets: Geometry Attributes

Morris the Multipede (Example, Fabric)
* Morris is a detailed example of how to approach a procedurally character, both in defining the number of segments, number of legs but also the movement. Aimed at both artists and technical users, this example illustrates an effective use of Blocks. It will also be extended to illustrate other Fabric concepts. Morris is discussed in detail here


Kraken (Tool, Fabric)
* https://github.com/fabric-engine/Kraken
* An open-source, cross-platform, cross-DCC rigging solution
* Originally developed as a collaborative project between Hybride, Fabric, Phil Taylor and Eric Thivierge, Kraken is now being maintained and extended by Fabric
* There's a great blog entry about Kraken here
* This post in the Fabric Forums contains links to a whole series of videos about Kraken

Tutorials and Examples for Programmers

Fabric 101 for Programmers (Tutorial, Fabric)
* http://fabricengine.com/fabric-101-for-programmers/
* If you're a programmer looking to jump into Fabric for the first time, this blog is aimed at you. We've been producing a lot of introductory material for less technical people (check out the tutorial forums) but we wanted to produce something that would serve as a good general introduction for coders that are familiar with graphics programming.

Training Material (Example, Fabric)
* https://github.com/fabric-engine/TrainingMaterial
* A collection of C/C++ Tutorial files
* Useful when learning KL, learning the C/C++ APIs as well as learning how to integrate Canvas into existing DCCs

Canvas Standalone (Tool, Example, Fabric)
* canvas.py can easily be modified to create special-purpose apps
* See this blog for more, including a video that walks you through the process of creating a simple asset viewer from canvas.py


* Kludge is our work in progress tool to wrap C++ libraries into KL extensions.
Kludge repository is open and you can clone it from
We have a Kludge category where you can discuss all things Kludge related here

Dart Throwing / Scattering (Tool, Psyop)
* https://github.com/Psyop/psyop-fabric-exts
* A robust dart throwing and scattering tool courtesy of Jonah Friedman of Psyop.
* Watch Jonah's presentation at Siggraph 2015 Fabric User's Group for details (starting at 13:00) here

DCC Integrations and Related Libraries

Fabric for Maya (Integration, Fabric)
* https://github.com/fabric-engine/SpliceMaya
* A plugin that provides the power of the Fabric Core (via KL and Canvas) inside Maya
* Some studios with custom versions of Maya may need to compile Fabric for Maya; if you are one of those, then the source is available

Fabric for 3ds Max (Integration, Fabric)
* https://github.com/fabric-engine/Splice3DSMAX
* A plugin that provides the power of the Fabric Core (via KL and Canvas) inside 3ds Max
* Should you want to know more about how Fabric and 3ds Max are integrated, you can look at the source

Fabric for Softimage (Integration, Fabric)
* https://github.com/fabric-engine/SpliceSoftimage
* A plugin that provides the power of the Fabric Core (via KL and Canvas) inside Softimage
* Should you want to know more about how Fabric and Softimage are integrated, you can look at the source

Fabric for MODO (Integration, Fabric)
* https://github.com/fabric-engine/SpliceModo
* A plugin that provides the power of the Fabric Core (via KL and Canvas) inside MODO
* Should you want to know more about how Fabric and MODO are integrated, you can look at the source

FabricUI (C++ lib, Fabric)
* https://github.com/fabric-engine/FabricUI
* Fabric UI widget library
* A UI library required to build the Fabric integrations

FTL (C++ lib, Fabric)
* https://github.com/fabric-engine/FTL
* Fabric Template Library
* A template library required to build the Fabric integrations

VR Extensions

Oculus Rift (VR Extension, Fabric)
* https://github.com/fabric-engine/Oculus
* Exposes the Oculus Rift virtual reality glasses SDK to KL
* Support for projection rendering for the Oculus VR headsets, including an integration of rendering passes for the InlineDrawing extension.

Leap Motion (VR Extension, Fabric)
* https://github.com/fabric-engine/LeapMotion
* Exposes the Leap Motion controller to KL
* Provides access to hand tracking as well as gesture inputs. Very useful for VR scenarios in conjunction with Oculus Rift.

Razer Hydra (VR Extension, Fabric)
* https://github.com/fabric-engine/RazerHydra
* Exposes the Sixense Razer Hydra controller
* A mapping of the Razer Hydra tracking device SDK for KL. This can be useful for VR scenarios, for example using a physical object to control a virtual camera.

Xbox Controller (VR Extension, Fabric)
* https://github.com/fabric-engine/Xbox
* Exposes the Microsoft Xbox controller
* Provides access to the joysticks, axes and buttons of the XBOX controller in KL. Useful for interactive and VR scenarios.

MIDI (Extension, Fabric)
* https://github.com/fabric-engine/midi
* Access to generic MIDI devices
* A complete mapping of the jmidi library, providing access to reading and writing MIDI channels within KL. Useful for custom hardware support within KL.

IDE Tools

KL.vim (IDE, Fabric)
* https://github.com/fabric-engine/kl.vim
* KL syntax highlighting for Vim

Sublime Text Package Control (IDE, Fabric)
* https://github.com/fabric-engine/kl.vim
* KL language support for the Sublime text editor

Clang Format for Sublime text for KL (IDE, Fabric)
* https://github.com/jonahf/SublimeClangFormatKL
* It's a modified version of SublimeClangFormat to format Fabric Engine KL code. http://forums.fabricengine.com/discussion/839/clang-format-for-sublime-text-for-kl#latest

zBug (Tool, Fabric)
* https://github.com/fabric-engine/zBug
* A front end for LLBD that allows source-level debugging of KL programs under Linux (only)
* See also the zBug documentation

KL Syntax Highlighter (IDE, Community)
* Highlighting module for KL
* Includes modules for Notepad++, TextWrangler and BBEdit

Sign In or Register to comment.