About:Features

From KjAPI

Jump to: navigation, search
Engine libraries

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


  • Renderer abstraction
  • 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 ]
  • Unified light system
  • Geometry
  • 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)
  • Text rendering
  • Unicode bitmapped font
  • Copy to texture text
  • Textured mesh text
  • GPU Skinning
  • GUI system
  • 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


  • Particle system
  • GPU accelerated particles[ New ]
  • operator and event based[ Deprecated ]
  • XML description
  • Decal System
  • Static decals
  • Real time decals
  • FX system[ New ]
  • 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
  • Shadow maps
  • Standard shadow maps
  • Parallel split shadow maps for large scenes
  • Omni directionnal shadow maps[ New ]
  • Water rendering
  • Phong shading



kjWorld


  • Entity management
  • 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 ...
  • Scene management
  • New partitionning system (using zoning)[ New ]
  • Portal partitionning system[ New ]
  • Occlusion system
  • AI / gameplay integration (using kjAI)
  • Physics integration (using kjPhysics)
  • Scriptable
  • Rendering system
  • 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 engine
  • Action / task based system
  • Scripted action system (working with animation graphs)[ New ]
  • Agent navigation
  • 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


  • Plugin based
  • 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 ...)
application Tools

Exporters (COMET & KAYA)


  • 3dsmax 6, 7, 8 support
  • Maya 7.x support
  • Maya 8.x, 2008 support[ New ]
  • Hierarchy (Meshes, Dummies...)
  • Nodes animations
  • Static geometry
  • Morphed geometry ( 3dsmax only )
  • Support MAYA cgfx custom shaders[ New ]
  • MEL / MaxScript script integration
  • Skinned geometry
  • Materials
  • Integrated in-engine preview

Model Viewer (PULSAR)

Download it there


  • Visualization of kjAPI models
  • Animations control
  • Automatic list of all animation associated with models
  • Speed control
  • Tag system[ New ]
  • Animation graphs[ New ]
  • Material attributes editing[ New ]
  • Physics editor
    Set up of colliders, rigid bodies and joints[ New ]
    Direct testing of physics[ New ]
    Undo system[ New ]
    Physics material library (shareable with PLANET)[ New ]
  • Custom shader system support (using XML and .fx)[ New ]
  • Hierarchy inspector[ New ]
  • Model to node attachment[ New ]
  • Camera to node attachment[ New ]
  • Sound tag system (for sound engineers)[ New ]
  • Flexible interface (using wxWidget)

World editor (PLANET)


  • Real time world building editor (see kjWorld)
  • Entities editing (see kjWorld)
  • Module based
  • Particle system editor [ New ]
  • FX system editor [ New ]
  • Sound tags editor [ New ]
  • Terrain editor [ New ]
  • Static decals module[ In progress ]
  • Physics module
  • GUI editor [ In progress ]
  • Import / export system for large scenes
  • Easily customizable (plugin based with SDK)
  • WYSIWYP interface (What You See Is What You Play :) )
  • Auto save feature
  • Scriptable [ New ]
  • Customizable UI[ New ]
  • High quality rendering using all feature of kjAPI[ New ]
  • Ability to test your game in it[ New ]
  • Script editor with syntax colorizing and auto-completion[ New ]
  • Made with kjAPI :)
Personal tools