The WaveFront package

[ Tags: graphics, library, mit ] [ Propose Tags ]

[Skip to Readme]


Dependencies attoparsec, base (==4.*), Cartesian, containers, either, filepath, lens (<=4.14), linear, QuickCheck, text, transformers, vector [details]
License MIT
Author Jonatan H Sundqvist
Category Graphics
Source repository head: git clone
Uploaded Tue Oct 18 07:48:01 UTC 2016 by SwiftsNamesake
Distributions NixOS:
Downloads 343 total (8 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
Last success reported on 2016-10-18 [all 1 reports]
Hackage Matrix CI





Enable warnings


Enable optimisations


Enable profiling options


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for WaveFront-

[back to package description]

3DWaves ======= This is a personal project, still in its infancy, and I don't expect anybody else to use it. Should somehow happen upon this site, I would however welcome their support and feedback.


Wavefront OBJ parsers and related amenities. Includes purely functional parsers and IO utilities for loading models from files. Supports the basic MTL and OBJ attributes. My ambition is to add full support for the entire specification. Please note that this package is completely unaware of rendering and graphics. The data structures generated by the parsers are oblivious to technologies such as Direct3D and OpenGL; creating eg. GPU buffers is up to the client. I may at some point implement the FFI and add direct OpenGL support, in separate modules.



Jonatan H Sundqvist


See source files (.hs) for additional items.

  • [ ] Performance (currently, it's atrocious) (...) - Parallelism (...)
  • [ ] Add sample models and demos (...)
  • [ ] Add profiling and checks (cf. QuickCheck) - Travis-CI integration
  • [x] GHCi support (added .ghci file, works quite well)
  • [x] Proper ticket system (here)
  • [ ] Polymorphism (...)
  • [ ] Querying - Asking questions about a particular model (bounds, storage, number of faces, material types, etc.) - Asking questions about the OBJ and MTL formats (eg. 'what does the various illum values mean') - Screenshots (maybe in the wavefront-render package)
  • [ ] Serialising (eg. writing to OBJ and MTL)
  • [ ] Rendering - Create a separate package (wavefront-render) with an OpenGL backend
  • [ ] Executables - OBJ viewer (...) - Command line tool (?)
  • [ ] Foreign function interface