Simple
User friendly, yet fully functional API, designed in every step to be logical and obvious for any user. SilverMotion's
software architecture wraps the abstract logic and mathematics of 3D into a user API, aimed at purely practical tasks,
the very most of which require no previous knowledge of 3D mechanics from the developer. Silvermotion's goal is to deliver
immediate 3D to anyone who simply wants to have it.
Multi-core CPU utilization
The very base of SilverMotion's rendering engine is a genuine multi processing system, that utilizes the fullest potential
of modern multi-core CPUs. It is a next-level technology, that works fine on the simplest single-core processors as well as on
the most modern ones.
Automatic keyframe animation
SilverMotion supports model keyframe animation, which gives the rendered scene dynamic look, enables the rendered models
to perform specific predefined animation sequences or even play a whole scenario that the user can interact with. Putting the
animation in motion is easy and simple one-step action.
Variety of spatial transformation approaches for easy manipulation of objects in 3D space
All basic transformations are incorporated. Including local and global rotation around base or given axis, translation and
scaling.
Variety of automated motions
Motions automatically perform a given action with scene contents. Defining the action is intuitive. You basically need
to point the type of motion - be it some transformation, animation or a custom one - and indicate its continuity or desired
ending state.
Smooth groups support
Smooth groups provide the ability to render specific edges of an object smooth or sharp. For example a diamond or also
many technical geometries have sharp edges, while curved surfaces and most natual geometries should appear with smooth edges.
Also smooth groups provide the ability to render meshes with both sharp and smooth edges.
Importing entire scenes with models, materials, lights and cameras
Importing entire scenes with models, materials, lights and cameras directly from 3D modelling environment (Blender, 3DS Max,
Maya and etc) via .3ds files - it's the easiest thing. You just provide the address to the .3DS file. SilverMotion then
internally manages loading of the required resources, cameras and lights, creates materials with textures and shaders and
creates an hierarchical object structure. If cameras are encounterd, one is automatically set, so the environment is immediately
ready to be rendered.
Fully dynamical cameras
Cameras with dynamically adjustable position, target, FOV, lens focal distance, screen aspect ratio and projection type. Cameras
in SilverMotion can be freely rolled, moved and targeted anywhere and are equipped with the standard properties of an actual filming
camera as their aspect ratio, lens' focal distance and Field Of View, enabling to perform different real-time camera motion effects.
Unified Dynamic Lighting for vertex and pixel shading
SilverMotion provides a single set of lights, that unify vertex and pixel lighting. That means these same lights will illuminate
in vertex and pixel shaders.
Unlimited complexity of the scene environment
You can load and keep active as much objects as you want in SilverMotion and interact with them. The scene hierarchy tree has
no limit of complexity and is optimized so that its complexity itself has little impact on performance.
Unlimited number of texture layers
Unlike hardware rendering engines, SilverMotion has no limit of the texture layers that can be mapped onto a mesh in a
single pass though many textures mean more CPU demand.
Unlimited number of dynamic lights in the environment
Unlike hardware rendering engines, SilverMotion supports unlimited number of active lights.
Hierarchical structure of environment
Environment in SilverMotion has hierarchical structure, which enables assembling of complex logical objects.
Scene rendering optimizations
SilverMotion internally performs a variety of scene and rendering optimizations in order to deliver
maximum performance and provide the ability to display as rich and complex scenes as possible.
Between-shader alpha and color blending
SilverMotion can perform alpha and color blending between shaders. Basically, that means blending between textures, lighting and
any other shader-generated layers.
Fog
A standard effect that can be used for simulating fog or other effecs like depth-fading or smoothly culling distant objects in
scene.
Bilinear texture filtering
By default SilverMotion renders textured meshes with full-frame bilinear filtering. However, texture filtering can be switched
at any time with nearest neighbour if performance is preferred than visual quality.
StackShading
This is SilverMotion's shading architecture. Although shading in its essence is a complicated and a highly technical matter,
StackShading is SilverMotion's approach in delivering a versatile and in the same way naturally easy way for creating custom shaders
by anyone without the need of additional training. It represents shaders as simple-logic layers that perform some effect and that
can be intermixed together.
Normal map bump mapping
Shading capability that renders an object as having a bumpy surface. This is a technique used in modern games for achieving
more realistic look. SilverMotion supports both normal and bump maps. Recognition and managing the two types is automatically
handled internally.
Automatic normal map generation
SilverMotion can automatically generate normal map from a bump or color map, which means you can have normal mapping on an
object even if you initially don't have the required normal map.
Refraction mapping
Shading capability that renders an object as translucent with optical refraction, appearing as it is made of glass-like
material.
Reflection mapping
Shading capability that renders an object as having a shiny and reflective surface. Sometimes referred to as sphere
mapping.
Cell shading
Special set of shaders in SilverMotion that provide a cartoon-like effect on rendered meshes. Also cell shaded environment mapping
is available. Cell shading is a techniquie supported by most of the modern hi-end graphic engines and is commonly used when aiming
to deliver more than the typical visual experience in 3d graphics. A typical example of cell-shading game is Zelda Wind Waker for
Nintendo GameCube.
Fast and easy screen picking functionality
Just by specifying a set of screen coordinates (in 2D) you can get exact and thorough information for the object there among
the whole scene geometry
Rendering onto a user-defined background picture or color gradient
A simple functionality, providing the ability to render onto a user-defined background image or onto a four-point color gradient.
If necessary, the given background image is automatically interpolated and filtered in order to fit the screen.
Purely Software
SilverMotion's rendering engine is entirely in software, which means it's 100% compatible and independable from any GPU
hardware. No matter what shaders you're using, how many lights you have, what are the textures' sizes and etc, you can be sure
the 3D content you're displaying will look the same on any machine.