LambdaCubeEngine: Difference between revisions
No edit summary |
GergelyPatai (talk | contribs) (Cleaned up dependencies and updated licence info.) |
||
Line 28: | Line 28: | ||
* optional components: e.g. loaders for various formats, physics engine | * optional components: e.g. loaders for various formats, physics engine | ||
* generic core: resource handling, script loading, rendering | * generic core: resource handling, script loading, rendering | ||
* render system: a thin abstraction layer | * render system: a thin abstraction layer to unify low-level APIs | ||
=== News === | === News === | ||
Line 44: | Line 44: | ||
=== Download === | === Download === | ||
[http://code.google.com/p/lambdacube/ Lambdacube repository at Google Code] | [http://code.google.com/p/lambdacube/ Lambdacube repository at Google Code] (outdated at the moment) | ||
=== Screenshots === | === Screenshots === | ||
Line 62: | Line 62: | ||
[[Image:Lambdacube1.jpeg]] | [[Image:Lambdacube1.jpeg]] | ||
=== | === Licence === | ||
The code | The code will be released under BSD3. | ||
=== Features === | === Features === | ||
* Mesh file format | * [http://www.ogre3d.org/docs/manual/manual_9.html#SEC12 Mesh file format] | ||
** | ** Geometry is supported | ||
* [http://www.ogre3d.org/docs/manual/manual_14.html#SEC23 Material Script] | |||
=== Dependencies === | |||
* Core library: | |||
** [http://hackage.haskell.org/package/OpenGL OpenGL] - to be dropped completely in favour of [http://hackage.haskell.org/package/OpenGLRaw OpenGLRaw] | |||
** [http://hackage.haskell.org/package/uulib uuLib] - used for parsing scripts | |||
** [http://hackage.haskell.org/package/alex alex] - used for parsing scripts | |||
** [http://hackage.haskell.org/package/fgl fgl] - scene graph handling | |||
** [http://hackage.haskell.org/package/zip-archive zip-archive] | |||
** [http://hackage.haskell.org/package/hslogger hslogger] | |||
** [http://hackage.haskell.org/package/stb-image stb-image] - optional component: image loader | |||
** [http://hackage.haskell.org/package/xml xml] - optional component: Ogre interchange format loader | |||
* Examples: | |||
** [http://hackage.haskell.org/package/GLFW GLFW] | |||
** [http://hackage.haskell.org/package/elerea elerea] | |||
** Bullet Physics binding (to appear on Hackage soon) | |||
The engine and the examples not using physics build out of the box on a fresh Haskell Platform install under Windows. | |||
[[Category:Applications]] | [[Category:Applications]] | ||
[[Category:3D]] | [[Category:3D]] |
Revision as of 12:07, 5 October 2009
Lambdacube Engine
Overview
Lambdacube is a 3D rendering engine entirely written in Haskell.
The main goal of this project is to provide a modern and feature rich graphical backend for various Haskell projects, and in the long run it is intended to be a practical solution even for serious purposes. The engine uses Ogre3D's mesh and material file format, therefore it should be easy to find or create new content for it. The code sits between the low-level C API (raw OpenGL, DirectX or anything equivalent; the engine core is graphics backend agnostic) and the application, and gives the user a high-level API to work with.
An application building on Lambdacube is composed of the following layers:
application | ||||
optional components | ||||
generic core | ||||
render system | ||||
native OpenGL | or | DirectX | or | ... |
- optional components: e.g. loaders for various formats, physics engine
- generic core: resource handling, script loading, rendering
- render system: a thin abstraction layer to unify low-level APIs
News
- 2009-09-22 - The summer report was presented at the JSSP meeting
- 2009-08-10 - Major public commit that went with the mid-summer report
- 2009-05-12 - Project announced to be among the JSSP winners
- 2009-03-31 - Application for Jane Street Summer Project sent in
- 2009-01-?? - Development started
Todo
- clean up code and upload it to Hackage
Download
Lambdacube repository at Google Code (outdated at the moment)
Screenshots
2009-09 - JSSP meeting
Tile Racer track loader:
Bullet physics integration:
2009-03 - Pre-summer mock-up
Licence
The code will be released under BSD3.
Features
- Mesh file format
- Geometry is supported
- Material Script
Dependencies
- Core library:
- Examples:
The engine and the examples not using physics build out of the box on a fresh Haskell Platform install under Windows.