Leadwerks Engine Features
From Leadwerks Developer Wiki
Contents |
Rendering
- Unified per-pixel lighting system with dynamic soft shadows; Every object casts and receives shadows.
- Point, spot, and directional lights.
- Masked shadows for tree and plant effects.
- Specular reflection and normal mapping.
- Parallax mapping.
- Fast instanced mesh rendering.
- Dynamic visibility determination, requiring no pre-placed portals or compiling.
- Bloom, depth-of-field, motion blur, ssao, and other post-processing effects.
- Fast hardware particle effects.
- Seamless transitions between indoor and outdoor areas.
- Adjustable rendering viewports.
- Render to any graphics context to create Windowed applications and tools.
- Render to texture.
- Lens flare effects.
- Dynamic shader management chooses from thousands of variations and compiles requested shaders on-the-fly.
- Open-ended materials and shader system.
- Use existing shaders or add your own (e.g. to use ambient occlusion maps).
- Optimized rendering pathways for Shader Model 4.0, with render fallbacks for older hardware.
- Features can be scaled to accommodate older hardware.
- Load textures from the .dds format, which includes precalculated mip-maps for very fast loading (converter for .png, .tga, .bmp, and .jpg files available).
Meshes
- Load .gmf meshes (converters for popular 3D Model formats, including fbx, dae, obj, x, included) or create meshes from scratch.
- Support for animated meshes with fast hardware (GPU) skinning.
- Create box, cylinder, sphere, cone, and plane primitives.
- Support for arbitrary number of LOD versions with arbitrary LOD distances.
- Fast mesh rendering using GPU instancing, if available.
Terrain
- Huge landscapes with up to 33 million triangles and resolutions of 4096x4096 tiles.
- Intelligent terrain LODs with seamless transitions.
- Dynamic lighting and self-shadowing terrain allow day/night cycles and weather effects.
- Modify terrain in real time.
- Vegetation layers can simulate millions of plants.
- Alpha-blended tiling terrain.
Animation
- Hardware skinning for fast animation.
- Intuitive animation sequence handling and loading.
- Blend animations, or mix hard-coded actions or physics with animation.
- Attach weapons or items to animated limbs.
- Attach physics bodies to limbs for animated collision and locational damage.
Physics
- Simulate hundreds of rigid bodies.
- Create complex machines with ball, hinge, corkscrew, slider, universal, and fixed joints.
- Physics vehicles with any number and configuration of tires.
- Extremely fast solver, with far greater stability than any other physics engine on the market.
- Collisions with polygon meshes, convex hulls, boxes, cylinders, cones, spheres, chamfer cylinders, and capsules, or compound collisions made up of any combination thereof.
- Player controller simulates player movement while participating in complex physics interactions.
- Customizable collision system with support for any number and scheme of collision types and interactions.
- Powered by Newton Archimedes®.
Audio
- 3D sound positioning, spatialization, and attenuation.
- Load .wav and .ogg audio files.
- EAX audio effects like reverb simulate different acoustic environments.
- Seamless sound looping.
Programming
- DLL version can be used with virtually any programming language.
- Programmable in BlitzMax with a BMX module.
- Procedural interface allows full access to all features while maintaining a simple and straightforward API.
- Headers available for C, C++, C#, VB, Pascal, Delphi and other languages.
- Abstract file system with no pre-defined folder structure.
- Load files from (optionally even password protected) .zip packages directly into memory.
- Automatic caching and instancing of media files (never loads anything twice).
