The TanvasTouch Engine is a driver for the TanvasTouch Controller, which alters friction on a display. Applications rendering haptics connect to the TanvasTouch Engine.


TanvasTouch Concepts

The TanvasTouch SDK provides the following concepts for representing haptic resources:

Texture – A Texture is a data container for haptic data, stored as a friction map. A friction map is an array of integers from 0 to 255, where 0 corresponds to no additional friction (the natural friction of the touch screen surface) and 255 corresponds to the maximum amount of friction our hardware can provide.

Material – Textures are contained within a resource known as a Material. Material contains references to zero or more Textures. A Material also states how the Texture should be applied to a Sprite (1:1, zoomed in, tiled, etc.). Therefore, Material is considered to be the the enhancement of texture mapping for haptic rendering.

Sprite – Sprites represent the individual haptic objects on the screen. Similar to graphical sprites, our haptic sprites have properties like size and location on screen. Instead of graphical content, however, they contain haptic media that convey how each element should feel. The Texture and the Material are resources that are used by the Sprite, and the Sprite is the actual instance that is on screen.

View – A View is a view container. It contains references to all the currently rendered Sprites. Multiple Views can be onscreen simultaneously. An application can host multiple views at the same time, an example use case of which is one view for the persistent menu on the left side of an application, and a second view that corresponds to the specific menu item that is selected on the right side of the screen. Since there isn’t a real hierarchy or grouping outside of the view, the View is also used at times to group a set of Sprites into a single object that can be enabled and disabled as a group.

More detail is available in the TanvasTouch Engine Manual.