PixelBlast


Hardware Accelerated SceneGraph Driven Framework

Torque Game Builder's scene graph is a data structure which manages the paramaters of your game. The hierarchical nature allows you to change game-wide properties, or only those pertaining to a specific class of objects. Scene graphs provide an excellent framework for maximizing performance and productivity. TGB culls the objects that won't be seen on screen, and sorts properties such as textures and materials by state, so that all similar objects are drawn together. The culling of off-screen objects prevents unnecessary drain on the CPU, buses and GPU, while state sorting alleviates strain on the GPU, keeping the graphics pipeline clear and graphics throughput running efficiently. As GPU's get faster and faster, keeping that pipeline clear becomes more and more important to maintain speed and efficiency.








Full Sprite Support

TGB has a very impressive sprite system. Sprite rendering in TGB is ultra-fast and sprites, like all TGB objects, can be scaled and rotated in graphics hardware. Sprites are divided into two main kinds: those with complex animation capabilities, and those without.

Animated sprites (and animated tiles and particles) rely on animation datablocks and animation controllers in order to play animations. Animation datablocks can load frames from an image map and define an animation as a chain of frames, and can then define the play time of the animation, and set whether the animation cycles, and even whether the animation should start playing with a random frame. The Animation Controller controls and plays the animations of sprites (as well as tiles and particles). These two utilities manage the process of defining, setting up, playing, and manipulating animations. This encapsulation of behavior allows you to easily define your own custom animation classes which can be attributed to each of the multiple kinds of animated objects in TGB.

Those without complex animation capabilities are referred to as static sprites, and are perfectly free to move about the scene, can have full collision and physics, and their rendering frames can even be changed, but they dont have a powerful animation interface. Of particular importance is that static sprites have none of the animation overhead incurred by animated sprites. Thus, while all sprites could really be animated sprites with no animations defined or played, the specialized static sprite class limits extra calls for functionality and contributes to an increased efficiency.

Parallax Scrolling

Parallax scrolling is defined as different planes of graphics and/or animation which scroll at different rates depending on their perceived relation to the viewer and camera, creating an illusion of depth. This is easily achieved in TGB by defining multiple scrolling backgrounds, which you can then sort and assign to different rendering layers with different scrolling speeds. The effect is a simulation of a 3D scrolling environment.

Layers

Objects can be assigned to layers, and you can specify that layers be sorted for rendering. In fact, the sort order for layers can be changed at will, and objects can be re-assigned to different layers at any time. Also, objects on the same layer can be assigned intra-layer z-ordering, and this ordering can be changed at any time. In this way, TGB gives you very fine-grained control over the z-ordering and rendering of your objects. In addition, TGB doesn't limit you to using a small number of rendering layers, which makes it easy, for example, to set up amazing looking parallaxed backgrounds with lots and lots of layers.

Camera

The camera system in TGB is extremely flexible. Set windows to cover a given area of the scene with a specific zoom level, then zoom and pan the view any time. Give the view window a target position or area and have it move there smoothly over time from its current position, or mount the view window to any object as you would any other object mount. This mount can be rigid or force-based, so you can make the camera follow an object (such as a player avatar) from a fixed distance, or react to collision or other forces on the object. In addition, camera effects such as shaking in response to a specified interaction are implemented in TGB, with adjustable parameters. You can also undo / revert the view's move, returning to the old position. In fact, the last 64 view target calls are stored in TGB, so you can revert / undo up to 64 view moves. This system allows for many cool possibilities for creating complex camera paths and scenes.

Multiple Scenes

Run multiple scenegraphs at the same time, and multiple windows on any scenegraph. So, you can have multiple separate scenes, and/or multiple views of the same scene.