niven is a graphics research framework which has been under continuous development since late 2004. It has been used in various publications, research projects as well as a commercial application.
niven is a highly modular library providing building blocks for graphics application. At the lowest layer, it can be used as an OS abstraction layer to simplify targeting multiple operating systems from a single codebase. Higher levels provide persistance, math, geometry processing and image processing. At the top, niven provides among other things integrated solutions for large-scale voxelization, rapid graphics prototyping and a flexible tool environment. This layered approach makes niven uniquely suited for graphics research, as algorithms at different abstraction levels can be quickly combined.
Some of the features include:
- Support for Windows (Windows 7 and upwards), Linux and Mac OS X
- Various graphics backends: OpenGL 4.x on Windows and Linux; Direct3D 11.x on Windows
- Support for accelerated computations using OpenCL 1.x
- Domain-specific libraries for image, volume and geometry processing
- Comprehensive documentation
- Python script API
This project is under active development. New features are added regularly.