HaskellWiki

Haskell | Wiki community | Recent changes
Random page | Special pages

 

Not logged in
Log in | Help

H3D

Categories: Applications

Welcome to the H3D wiki. This page is meant for gathering ideas and suggestions for a 3D modelling application written in Haskell. Writing it should be about exploring the possibilites of Haskell, and adding stuff no other language else has.

Current work:

1 Contributors

Please mention your nickname on #haskell, for future reference.

Also, that way we can determine how many people are willing to work on this project in the future.

If you're willing to contribute (in any way: code, idea's, feedback, even money ;)) to this project, please add your name below. (no strings attached)

2 Open questions and suggestions

An open source application that has to do with 3D modelling. Probably something real-time (like Maya and Blender), but not just another 3D modeller. We want to show off Haskell's strengths, and use techniques unique to Haskell and functional programming.

Ogre3D: open source graphics engine; G3D: http://g3d-cpp.sourceforge.net/; L-systems: technique to create plants, feathers and the lot; SDL bindings (Lemmih); HOpenGL: OpenGL binding for Haskell; Monads (in Haskell) -> http://haskell.org/hawiki/MonadsAsContainers

First idea: build an L-system, then create a simple Ogre3D binding to visualize stuff

Second idea: start with a scene graph, and implement simple stuff like polygon soups and parametric surfaces at first

Use a C interface that doesn't exist yet :-)

http://www.ogre3d.org/phpBB2/viewtopic.php?p=76429#76429

or use Hacanon to call C++ code from within Haskell: [1]

Don't know, as long as it's fun !

boegel


One suggestion i would like to make is to use an existing 3D engine like www.ogre3d.org and just write a wrapper in haskell. So one can do all the fancy math stuff in haskell and just push the meshes and such into the engine.

This would make it necessary to write a good and flexible mesh class. I would prefer something with which you can do fancy things like glueing two meshes. Maya has some interesting features that could easily be implemented that way.

bourbaki

3 Suggestions - idea's - stuff we can use

Here are some ideas (feel free to add !):

Any suggestions are welcome !


boegel


Note to self:

L-system information

* http://www.inf.ed.ac.uk/teaching/courses/inf1/fp/assignments/ex3.pdf
* http://planet.plt-scheme.org/
* http://matt.blissett.me.uk/programming/haskell/lsystem/

Useing Hray to render the Lsystems maybe useing metaballs for the branches

Retrieved from "http://haskell.org/haskellwiki/H3D"

This page has been accessed 2,483 times. This page was last modified 15:31, 28 June 2008. Recent content is available under a simple permissive license.