The Drop Spider Framework
namespace dsF::
This is a common C++ library for both engine and tool sets.
It includes:-
- A 3D maths library.
A library that provides the fundamentals for manipulating vectors, points, spheres and matrices.
- File handling.
File handling is seamlessly virtualized to allow access to either the native filesystem or files contained within an EFS.
- Resource management including:-
- A loader for BRF files.
Binary Relocatable Files provide a single step solution for asset loading and management. Memory allocation, decompression and relocation are handled in a reboust simple manner.
- An associated smart pointer class.
A 'Handle' and 'Grasp' system provide 'smart' pointers that are also resource file aware, meaning you don't even have to worry about when to unload assets.
- Memory management.
Memory allocation is virtualized to provide a cross platform interface and provide richer debugging capabilities.
- Compiled XML iterator.
XML files can be compiled into a more compact format, and an iterator class used to parse them. This format is provided by the BRF tool and requires a magnitude less overhead compared to a full DOM implemtation, which is not required for simple reading of XML based meta-data.
- Locale management.
Time and Text localization built in at the 'kernel' level. This means all systems in the engine can be localization aware, via a single interface.
Venom C++ Engine
namespace dsV::
This is a C++ cross platform 3D gaming engine. It is intended to be lightweight, not requiring cutting edge hardware, yet at the same time scalable to make full use of more powerful machines.
It includes:-
- Deferred shadow/lighting system
This is an optional, but highly preferable, scene based rendering system. An overview to this technique can be found here.
- Blended skeleton animation
A multi-track animation system and efficent boneing/skinning engine.
- Extendible Camera base class
Build your own camera concepts on the point of view class, which is used by the viewport system and scene culling.
- 'Glue-able' shader model, runtime compiled and cached.
Venom provides both a flexible shader model but also the ability to provide custom shader code as well. Thus being ready to roll but also extendable.
- Render types:- 3D Static Mesh/Skeleton/Height map/Particle System, 2D image and font rendering.
The usual game primitives, all using the same shader model and sensibly sub-classed for common interfaces.
- 'Taskcard' meta game logic stack.
Proper game structure is provided from the ground up, dealing with the non-atomic nature of video game state changes.
- XML stylesheet driven GUI/HUD built on 'Taskcard's
A stylesheet driven GUI class, built on the Taskcard API.
|