|
Runtime and Dynamic Object Model
|
The Blade3D core runtime is built on a highly dynamic class based object model. This object model supports adding and removing properties, multiple inheritance, super-classing and sub-classing. Links between objects in the system are kept up to date as changes are made to the schema. This means that referential integrity is maintained at all times and there is no need to worry about orphaned objects. The object model is the basis by which all objects in the system can communicate and interact uniformly.
The highly modular architecture of Blade3D allows 3rd party developers to create add-on extensions that seamlessly integrate into the entire system. No modifications of the Blade3D source code are necessary thereby preserving the functionality of existing modules when new services are added.
The Blade3D runtime also provides many other core services such as background timers, property interpolation and state serialization (to both XML and binary streams). Because everything in the system is accessed uniformly, it is easy to configure exactly which objects and properties collaborate in a networked setting.
| Scripting System
|
Blade3D provides direct support for the C# programming language. The integrated script editor supports syntax coloring, error highlighting, tool-tips, parameter help and automatic statement completion. This means that programmers will feel comfortable working inside a familiar, professional editor.
Scripts have full access to the same API calls that are available in the Blade3D SDK. This means that you only have to learn a single interface to interact with the entire system. Additionally there are no restrictions on interacting with external libraries or networks.
Scripts are exposed to the rest of the system as game components and therefore can be added to any object in your scene. All script components are dynamically integrated with the Blade3D design environment in the same way as other objects.
|
Visual Programming
|
The Visual Programming System is an alternative way to program in Blade3D. It allows game designers, artists and developers to add game logic without the need to write code. Any object in Blade3D may be dropped on to the design surface and be connected to any other object. Additionally, you may add other functional blocks (known as operators) to the design surface. These operate on the data as it passes between objects adding dynamic behavior.
The visual programming system in Blade3D can also be used to create particle effects, AI steering behaviors and complex animations. This feature is a fast and easy way to add new functionality to your game and prototype.
|
|
HLSL Support
|
Blade3D directly supports the High Level Shader Language (HLSL) standard and was designed from scratch to take advantage of modern shader based graphics cards.
For those comfortable with writing HLSL based shaders the development environment provides a powerful HLSL editor. As with the script editor, this features syntax coloring of HLSL keywords, error highlighting and tooltips. For more advanced users the shader output window provides an assembly level view of the compiled shader so that you can quickly see the instructions generated.
As you make changes to the HLSL code, any materials that reference your shader are immediately updated in real-time. Additionally, any public parameters defined will be automatically exposed to the rest of the system. This allows shader parameters to be controlled by script, logic diagrams or through the property sheet interface.
|
| |
|
|