Click here to try the online Ink Designer
The Ink Designer is a web app that demonstrates the rendering capabilities of the WILL technology. The raster vs. vector rendering can be configured and tested.
Please note that the Ink Designer uses WebGL which is not fully supported in all versions of Edge
The web app (see Figure 1) consists of a simple ink canvas with three predefined background images. There are two tools available, an eraser and an inking tool.
The Ink Designer uses the current configuration, which can be changed using the configuration menu in the upper right.
After opening the pipeline configuration menu, there are several parameters to modify. Descriptions of all parameters follow in the tables, below.
Parameters
Figure 1: Ink Designer user interface for RASTER MODE.
Raster configuration
Brush
Parameter | Type | Description |
---|---|---|
shape | image (PNG) | The shape parameter specifies the shape of the particle. It accepts an image in which the non-transparent pixels define the particle shape. You can also pass a sequence of images to this parameter. In this case, the method interprets them as mipmaps. |
fill | image (PNG) | The fill parameter specifies the fill pattern of the shape. It accepts an image from which the pattern is sampled. You can also pass a sequence of images in this parameter. In this case, the method interprets them as mipmaps. |
rotation | enum | The rotation parameter specifies the rotation of the particle. It accepts three possible values: none indicates that the shape will not be rotated. random indicates that the shape will be rotated randomly before it renders. trajectory indicates that the shape will be rotated to match the path trajectory. |
max blend | boolean | Enables the maximum blending effect. |
scattering | float | The scattering parameter specifies the maximum offset in a direction that is perpendicular to the path trajectory in which the particle is positioned. The actual position of the particle is randomly determined within the interval defined by this parameter. |
spacing | float | The spacing parameter specifies the distance between different particles along the path trajectory. |
Velocity
Parameter | Type | Description |
---|---|---|
min velocity | integer | Velocity is clamped to this value if velocity is below the value. |
max velocity | integer | Velocity is clamped to this value if velocity is above the value. |
min width | integer | Min width value |
max width | integer | Max width value |
start width | boolean | Using start value. |
end width | boolean | Using end value. |
start width size | integer | Start width value. The initial value is returned as a result of the function when p1 is null (beginning of stroke). |
end width size | integer | End width value. The final value is returned as a result of the function when p3 is null (end of stroke). |
min alpha | float | |
max alpha | float | |
start alpha size | float | |
end alpha size | float |
Pipeline
Parameter | Type | Description |
---|---|---|
interpolate | boolean | |
split count | integer | Determines the number of iterations for the discretization. |
moving average size | integer | The default value of moving average window size is 15, which is tuned for hand writing data (sequence of xy positions) at 60Hz. If the input is for example 120Hz, set movingAverageWindowSize to 30. |
epsilon | float | Threshold value that determines the level of simplification. Greater values result into polygons with less segments. |
Vector configuration
Figure 2: Ink Designer user interface for VECTOR MODE.
Shape
Parameter | Type | Description |
---|---|---|
shape mode | enum | Switches between different pre-defined polygon. |
shape polygon | points[] | List of points to describe a closed polygon. |
spacing | integer | Specifies the spacing between two successive sample. |
Velocity
Parameter | Type | Description |
---|---|---|
min velocity | integer | Velocity is clamped to this value if velocity is below the value. |
max velocity | integer | Velocity is clamped to this value if velocity is above the value. |
min width | integer | Min width value |
max width | integer | Max width value |
start width | boolean | Using start value. |
end width | boolean | Using end value. |
start width size | integer | Start width value. The initial value is returned as a result of the function when p1 is null (beginning of stroke). |
end width size | integer | End width value. The final value is returned as a result of the function when p3 is null (end of stroke). |
alpha | float |
Pipeline
Parameter | Type | Description |
---|---|---|
interpolate | boolean | |
split count | integer | Determines the number of iterations for the discretization. |
moving average size | integer | The default value of moving average window size is 15, which is tuned for hand writing data (sequence of xy positions) at 60Hz. If the input is for example 120Hz, set movingAverageWindowSize to 30. |
epsilon | float | Threshold value that determines the level of simplification. Greater values result into polygons with less segments. |