WaveFront: Parsers and utilities for the OBJ WaveFront 3D model format

[ graphics, library, mit ] [ Propose Tags ] [ Report a vulnerability ]

Modules

[Index]

Flags

Automatic Flags
NameDescriptionDefault
pedantic

Enable warnings

Enabled
optimise

Enable optimisations

Disabled
profile

Enable profiling options

Disabled

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.2.0, 0.5.0.0
Dependencies attoparsec, base (>=4 && <5), Cartesian, containers, either, filepath, lens (<=4.14), linear, QuickCheck, text, transformers, vector [details]
License MIT
Author Jonatan H Sundqvist
Maintainer jonatanhsundqvist@gmail.com
Category Graphics
Source repo head: git clone https://github.com/swiftsnamesake/3DWaves
Uploaded by SwiftsNamesake at 2016-10-18T07:48:01Z
Distributions
Reverse Dependencies 1 direct, 1 indirect [details]
Downloads 3325 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
Last success reported on 2016-10-18 [all 1 reports]

Readme for WaveFront-0.5.0.0

[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.

Contents

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.

Examples

Maintainers

Jonatan H Sundqvist

TODO

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
  • GHCi support (added .ghci file, works quite well)
  • 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