|
|
RoadmapThe text of this page was pulled from the Yage wiki entry for Roadmap.
The list below shows all features currently planned for Yage. This is of course subject to modification and rearrangement. Features are listed under the version where they first appear, but it's common for many of them to be improved continually.
[edit] 0.1 -- In The Beginning (Completed)
- Compiles on Windows and Linux
- Resource Manager
- Textures, Materials, Shaders, etc. are examples of resources
- Ensures that no resource is loaded twice.
- Texture Resource
- Shader Resource
- Supports OpenGL shader language
- Material Resource
- Loaded from xml files
- Can specify material attributes as well as textures and shaders.
- Model Resource (with VBO support)
- Only support for loading from Ms3D for now
- No skeletal animation yet
- Scene Graph
- Hierarchal tree of Nodes
- Each Node stores its position, rotation, etc. relative to its parent.
- Nodes can be different types, like Light, Sound, Model, etc.
- Camera Node
- Renders to texture by default
- Supports changing of resolution on the fly.
- Model Node for creating instances of Model Resources
[edit] 0.2 -- Lights, Sound, Action (Completed)
- Scenes
- Special Node required at the root of the Scene graph
- Used for global scene variables like fog.
- Light Node that uses OpenGL lights
- Directional, point, and spotlight
- Enables only the brigthest lights that affect a Node during rendering
- Sound Resource
- Supports loading Wav and Ogg Vorbis
- Sound Node
- 3D positional with dopplar effect
- Uses OpenAL
- SpriteNode (aka a billboard)
- Can be assigned a material
- Material is rendered on a quad and always faces the current camera
- Translucent Polygon Sorting
- Full Scene Anti-aliasing
- MultiTexturing
[edit] 0.3 -- Controlling the Chaos (Almost Finished)
- Graphical User Interface
- Similar to HTML DOM
- There will be a basic Surface class with support for positioning and styles. Other more complex user-interface widgets will inherit from Surface .
- Surfaces will have background materials--whose textures can includede those created by a camera.
- Event-driven user input (onMouseClick(), onKeyPress(), etc.)
- CSS like styles
- Font Resource
[edit] 0.4 -- A Model to Live By (In-Progress)
COLLADA model format support (Done)
Rewriting material system to match Collada's format, possible preliminary Collada FX support. (Done)
- Skeletal animation for Models
- Model LOD and imposters?
- Picking--allows for converting screen coordinates to 3D coordinates and back again.
- Decal Node for explosion marks, bullet holes, etc.
[edit] 0.5 -- Humpty Dumpty
- Physics Node (powered by Bullet)
- Invisible, but can attach child nodes of any type.
- Can have a collision hull and can connect to other physics nodes via joints.
[edit] 0.6 -- Inside and Outside
- Terrain Node
- heightmap-based, probably using geomipmapping
- Level Node
- Considering support for loading q3radiant bsp files.
- May just use portals for fast culling, need to research.
- Label Node--allows attaching of a text label to another Node in the Scene.
- Particle Node
- Will use a single vertex array to achieve much higher performance than multiple SpriteNodes with short lifetimes.
- LenseFlareNode
- Fog Node (used for fog around a single point)
[edit] 0.7 -- Advanced Shiny
Tangent-Space Bump Mapping (Done)
- Shadow Maps
- Depth-of-Field Effects
- Motion Blur
- High-Dynamic Range Lighting
- Hardware Occlusion (?)
- Complete Collada FX support, output from tool such as AMD's RenderMonkey
[edit] 0.8 -- Fingerpainting
DDS Texture support (Done)
- 1D, 3D, and cubic texture support
- Possibly other file formats
[edit] 0.9 -- Reaching the Masses
- Compile as DLL
- Export Headers for Java, Python?, C ?
- JavaScript language support via V8 /w interactive console
[edit] 1.0 -- And Then There Was One... Point Oh
- Mac/BSD Build (Some have reported that Yage already works on Mac, but that was many revisions ago)
- Bugfixes, testing, documentation
[edit] Possible Features
- Physics based skeletal-animation AI?
- Allows AI to move a model's skeleton to autonomously interact with an environment--inverse kinematics.
- Network support
- Serialization of Scenes (see Orange)
- SoundOcclusion Node
- ZoneNode
- Adjusts global scene parameters only for nodes inside the ZoneNode's area.
- CloudNode
- Textures with a video file source
- Game Console ports
- Machine Vision library integration for 3D object recognition/input via a webcam.
- This would allow for using a wii-mote without the wii-mote.
[edit] Not Planned
- Morpth Target animations (Quake 2 style)
- Skeletal animation is superior
- Water Node
- Can be implemented via shaders
- Shadow Volumes
- DirectX Support
- OpenGL supports the same features and is cross-platform
|
Downloads
|