kjCore
- Few external dependencies
- File system (Standard, Compressed (read/write), user defined...)
- Fast data loading from files
- Inputs
- Keyboard, Mouse, XBOX360 Game controllers[ New ]
- Input Mapper for shortcuts abstraction
- Maths (Vector, Matrices, Quaternions, Planes, Sphere, AABB, OBB, SH, noise ...)
- Types (Array, Linked List, HashTable, BinTree, Stack, String templates...)
- Meta class system for reflectivity
- Debug tools (Error management, Logs, Console, Asserts...)
- Memory manager
- Custom allocators and memory handlers
- Memory leak detection
- Timers (Accurate timers, Hierarchical profiler...)
- Resources manager abstraction ( new implementation[ New ] )
- Properties set abstraction
- Support for common type properties ( Boolean, Integer, Float, String, File, Color, Curves[ New ] )
- Integrated with meta class system ( one line of code binding )[ New ]
- Script binding (Game Monkey)
- Scripted objects
- Binding helpers
- Integrated with meta class system[ New ]
- Event Sequences
- XML support
- Text preprocessor
- Generic State machine
kjGraphics
- DirectX 9 (windows platform)
- Full screen or windowed display (easy integration with MFC, GTK, WIN32...)
- Full Shaders oriented engine
- XML parameters binding
- Flexible shader overriding system
- Mini API for Shader Dlls support ( for inter applications integration )
- Full per pixel lighting
- Full support for correct sorted blending rendering (alpha and/or additive )[ New ]
- Fast immediate mode available for all renderers
- Occlusion system
- Hardware occlusion queries
- Frustum culling
- Screen size based culling
- Software arbitrary shaped occluder system
- Generic light system ( position / direction / ranges / intensity / angles)[ New ]
-
- Low level to high level access of geometry
- Multi material meshes,
- Skinning,
- Morphing,
- Cloning and resource sharing
- Codec system for other file format support[ New ]
- Picking system (ray and frustum)
- Hierarchical graph management
- Efficient computation of matrices and bounding volumes
- Transform state save/restore system
- Powerful animation system
- key framed
- blend
- transition
- dynamic node linking
- easily extendable
- tag system to trigger events
- animation graph system with XML description support
- Camera management (customizable, RTS style...)
- Image loading, saving and manipulation (DDS, TGA, JPEG, PNG, BMP, PCX formats)
- Textures
- 2D, 3D, Cube map
- Software and hardware mipmap generation,
- DXTC support (with mipmaps)
- Render targets (2D / Cubemaps)
- Unicode bitmapped font
- Copy to texture text
- Textured mesh text
- Improved GUI skin system
- Autosize and proportion system for multi resolution support
- Event system[ New ]
- Debug integrated GUI
- XML description
- Scriptable
- Easily extendable
- Asynchronous loading of textures
- Video playback
kjFX
- GPU accelerated particles[ New ]
-
operator and event based[ Deprecated ]
- XML description
- Static decals
- Real time decals
- Support for particles, decals, script, sound[ New ]
- Future support for camera shake, force feedback [ In progress ]
- Full screen post FX system
- HDR with new tonemapping and automatic eye adaptation
- DOF (Depth of field)
- Per pixel Fog (with scaterring)
- Motion blur
- Color correction[ New ]
- SSAO[ New ]
- Extendable postFX
- Standard shadow maps
- Parallel split shadow maps for large scenes
- Omni directionnal shadow maps[ New ]
- Water rendering
- Phong shading
kjWorld
- Static and dynamic entities
- Scriptable entities (event based scripting)[ New]
- Logical layers management
- Extendable data plug system
- Built in plugins
- Physics (rigid / ropes / force fields[ In progress ], physics character[ In progress ])
- Animation (keyfraned and follow path)
- Gameplay (Spawn / AI / Triggers)
- Effects (Particles effect / Decals)
- Lighting (Light / Projector / Occlusion / Shader)
- Enviroment (Water / Skybox / Dynamic sky / Fog volumes[ New])
- Audio ( 3D sound )
- Camera[ New ]
- Input[ New ]
- Pivot[ New ]
- and more ...
- New partitionning system (using zoning)[ New ]
- Portal partitionning system[ New ]
- Occlusion system
- AI / gameplay integration (using kjAI)
- Physics integration (using kjPhysics)
- Scriptable
- Pre-Z pass[ New ]
- HDR, LDR, Motion blur, DOF, SSAO ...[ New ]
- Per pixel lighting [ New ]
- Physically correct shadows (up to 4 simultaneous shadows in view)[ New ]
- Unlimited number of light casting shadows[ New ]
- Real time reflection / refraction[ New ]
- Ambient probe for directionnal ambient[ In progress ]
- InDoor/OutDoor mixing of scenes
- Full integration with level editor
kjAudio
- Sound manager using FMODEx
- Support of FMOD Designer content
kjAI
- Action / task based system
- Scripted action system (working with animation graphs)[ New ]
- low-level waypoint Pathfinding
- high-level convex zone system
- Small number of zones and waypoints even in large scenes
- Fully editable in level editor
- Zone tagging
- Unique path following generation (even for same path input)
- Dynamic efficient avoidance[ New ]
- Per AI instance memory of blockers
- Trigger system
- Extendable brain system with sensors
kjPhysics
- User can write his own wrapper and using it in every kjAPI tools
- NVIDIA PhysX main support
- In-house soft physics engine (in dev).
- Rigid body
- Collision Queries ( volumes and rays )
- Force fields[ New ]
- Cloth system[ In progress ]
- Integrated physics editor in PULSAR
- Integrated in PLANET level editor
kjModelViewer
- Very easy integration of viewer in your application
- Pulsar viewer is made with it :)
kjTools
- Extendable Gizmo system[ New ]
- Predefined transform gizmo (translation / rotation / scale)[ New ]
- Used in PULSAR and PLANET
- Grid object
- Fast Ambient occlusion precomputation
- Asynchronous extendable geometry computation system (Ambient occlusion ...)
|