LambdaCubeEngine: Difference between revisions

From HaskellWiki
No edit summary
 
 
(42 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Lambda-Cube render engine ==
== Overview ==


=== Overview ===
LambdaCube 3D is Haskell-like purely functional domain specific language for programming the GPU (graphics processing unit).
Lamda-cube is a 3D rendering engine entirely written is Haskell.
It targets newer graphics hardware.
The engine uses Ogre3D's mesh and material file format.
The main goal of this project is to provide a modern and feature rich graphical backend for various haskell projects. (e.g. FRP libraries)
I'd like to release a preview version soon (in end of March).


=== Screenshot ===
During the years the project had lot of rewrite and reconfiguration.
It was a long journey from a Haskell OGRE clone to a graphics EDSL and finally to a standalone compiler.
Read more on [http://lambdacube3d.com/history project history] page.
 
Project homepage: [http://lambdacube3d.com/ http://lambdacube3d.com]
 
== Download ==
 
[https://github.com/lambdacube3d LambdaCube 3D on GitHub]
 
== History ==
* 2015-04-14 - New homepage: [http://lambdacube3d.com/ http://lambdacube3d.com]
* 2015-02-14 - First working DSL compiler
* 2014-11-?? - The focus turns for the DSL implementation
* 2012-08-15 - Started development [http://lambdacube3d.wordpress.com/ blog]
* 2012-03-?? - The project was reborn as an EDSL for GPU graphics programming
* 2011-06-23 - The second big release which already includes a more advanced Bullet binding and the Stunts example; details in the [http://just-bottom.blogspot.com/2011/06/renewed-lambdacube-bullet-bindings-and.html announcement]
* 2009-11-18 - The first release on Hackage: [http://hackage.haskell.org/package/lambdacube-engine engine] and [http://hackage.haskell.org/package/lambdacube-examples examples], plus a [http://hackage.haskell.org/package/lambdacube-bullet bullet example] that will eventually grow into a library
* 2009-09-22 - The summer report was presented at the [http://ocaml.janestcapital.com/?q=node/68 JSSP meeting]
* 2009-08-10 - Major public commit that went with the mid-summer report
* 2009-05-12 - Project [http://ocaml.janestcapital.com/?q=node/63 announced] to be among the JSSP winners
* 2009-03-31 - Application for [http://ocaml.janestcapital.com/?q=node/58 Jane Street Summer Project] sent in
* 2009-01-?? - Development started
 
== Screenshots of previous iterations ==
 
=== 2012-06 - LC DSL Q3 example ===
 
[[Image:Lc-q3.png|800px|Quake3 example]]
 
=== 2012-06 - LC DSL Stunts example ===
 
[[Image:Lc-stunts-1.png|800px|Stunts example]]
 
[[Image:Lc-stunts-2.png|800px|Stunts example]]
 
=== 2009-11 - Hackage release ===
 
[[Image:Lambdacube-basic.png|LambdaCube basic example]]
 
=== 2009-09 - JSSP meeting ===
 
Tile Racer track loader:
 
[[Image:Lambdacube-tileracer.png|800px|LambdaCube Tile Racer track loader example]]
 
Bullet physics integration:
 
[[Image:Lambdacube-physics.png|800px|LambdaCube and Bullet physics example]]
 
=== 2009-03 - Pre-summer mock-up ===


[[Image:Lambdacube1.jpeg]]
[[Image:Lambdacube1.jpeg]]


=== License ===
== Licence ==
The code will be released under GPLv3 soon.
 


=== Features ===
The code is released under BSD3.
* Mesh file format
** geometry is supported
** skeletal animation is in progress


* Material Script
The engine and the examples not using physics build out of the box on a fresh Haskell Platform install under Windows. If Bullet is installed, the Stunts example should also be possible to get running with cabal-install.
** [partly supported] material
** [partly supported] technique
** [partly supported] pass
** [partly supported] texture_unit
** [partly supported] vertex_program
** [partly supported] fragment_program


===Used Packages and programs===
[[Category:Applications]]
* OpenGL
[[Category:3D]]
* GLFW
* STB-image
* HXT
* UULib
* Zip-Archive
* Alex

Latest revision as of 14:13, 4 February 2016

Overview

LambdaCube 3D is Haskell-like purely functional domain specific language for programming the GPU (graphics processing unit).

During the years the project had lot of rewrite and reconfiguration. It was a long journey from a Haskell OGRE clone to a graphics EDSL and finally to a standalone compiler. Read more on project history page.

Project homepage: http://lambdacube3d.com

Download

LambdaCube 3D on GitHub

History

  • 2015-04-14 - New homepage: http://lambdacube3d.com
  • 2015-02-14 - First working DSL compiler
  • 2014-11-?? - The focus turns for the DSL implementation
  • 2012-08-15 - Started development blog
  • 2012-03-?? - The project was reborn as an EDSL for GPU graphics programming
  • 2011-06-23 - The second big release which already includes a more advanced Bullet binding and the Stunts example; details in the announcement
  • 2009-11-18 - The first release on Hackage: engine and examples, plus a bullet example that will eventually grow into a library
  • 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

Screenshots of previous iterations

2012-06 - LC DSL Q3 example

Quake3 example

2012-06 - LC DSL Stunts example

Stunts example

Stunts example

2009-11 - Hackage release

LambdaCube basic example

2009-09 - JSSP meeting

Tile Racer track loader:

LambdaCube Tile Racer track loader example

Bullet physics integration:

LambdaCube and Bullet physics example

2009-03 - Pre-summer mock-up

Licence

The code is released under BSD3.

The engine and the examples not using physics build out of the box on a fresh Haskell Platform install under Windows. If Bullet is installed, the Stunts example should also be possible to get running with cabal-install.