TenGine® middleware features

Cross-platform
  • PC DirectX® 9
  • PC DirectX® 11
  • PSP®
  • Playstation® 3
  • Playstation® Vita
  • PS4™
World
  • TenGine format world loader that loads and creates meshes, sub meshes and materials.
  • Portal and frustum culling to skip rendering meshes that are not visible.
Models
  • TenGine format model loader that loads and creates meshes, sub meshes and materials.
  • Frustum culling to skip rendering meshes that are not visible.
Scene
  • Camera class that calculates all camera matrices and the frustum.
  • Supports 2D ortho, 3D ortho and perspective projection matrices.
  • Camera manager class for keeping track of multiple cameras.
  • Light manager class that keeps track of lights and their states.
Material
  • Texture manager that keeps track of loaded textures with a reference counter.
  • PC and PS3™: Supports loading DDS and TGA textures
  • PSVita: Supports loading GXT textures
  • Material class that keeps track of textures, colors and shaders.
Vertex and index buffers
  • Cross-platform vertex and index buffer management.
Shaders
  • Shader manager that keeps track of loaded shaders with a reference counter.
  • Ability to have different shaders and render callbacks on a per material basis.
Collision
  • Collision class using KDTree collisions (line and sphere) against both world and model meshes.
Animation
  • TenGine format animation loader
  • PC and PS Vita: GPU / CPU skinning on skeletal animations.
  • PS3™: CPU / SPU skinning on skeletal animations.
  • Sub-hierarchical animations.
  • Animation blending.
  • UV-Animations.
Threading
  • Cross-platform thread class.
  • Cross-platform mutex class.
Math
  • 2D, 3D, 4D Vector classes, a Quaternion class and a Matrix class.
  • Math header with assembler versions of useful math functions for faster calculations.
Converter
  • Easy to use converter to create TenGine format files from *.fbx files.
Physics
  • Easily integrated with commercial physics engines.
Sound, music and video
  • Easily integrated with commercial sound engines.
Misc
  • File management class for loading files etc.
  • Plugin support.
  • Transform hierarchy system that allows making hierarchies of models, meshes, joints, cameras, lights and anything else that has a transform.
  • Macros for endian swapping.
Debug
  • Log listener system with builtin support for logging messages to console and txt files.
  • Assert functions that can specify if it should Break, Log or do nothing.
  • Memory manager that keeps track of all allocated memory and tries to catch buffer under/overruns.
Current Plugins
  • Console Plugin. For enabling dropdown console with programmable commands.
  • Input plugin. Easy to use input checking plugin.
  • Skydome Plugin. For rendering a skydome with custom shader.
  • Sun Plugin. For calculating the sun position based on location, date and time.
  • UV Animation plugin. Easy to use plugin for animating UV Coordinates.
  • Window Plugin. To be able to setup a Window easily.



TENSION GRAPHICS AB - TROTZGATAN 29, 791 72 FALUN - +46 (0)23 298 55 - INFO@TENSION.SE