c++ opengl wrapper library
Because I need a sophisticated, modern opengl wrapper library. Sophisticated in the sense that it supports everything I need for graphene (https://github.com/paulhilbert/graphene); modern in the sense that this whole fixed-function pipeline crap is not part of it.
No. Well it probably does. And probably I made sure it does. But I don't like your "operating system"; so no, it doesn't.
For the bare wrapper library (without helper classes) the dependencies are
- Eigen 3 (http://eigen.tuxfamily.org). Yes, Eigen. Eigen is mandatory for everything. Please folks, stop writing your own miserable linear algebra code.
- OpenGL (GL + GLU)
- GLEW (http://glew.sourceforge.net/)
Optional dependencies are:
- plustache (https://github.com/mrtazz/plustache) for shader preprocessor support, necessary for deferred_renderer/shadow_pass helper.
- RGBE library (https://github.com/paulhilbert/rgbe) for HDR loading capabilities, necessary for deferred_renderer helper.
- freeglut library (http://freeglut.sourceforge.net/) for freeglut_application helper, necessary for all examples.
- OpenMesh library (http://openmesh.org/) for openmesh_traits helper, necessary for mesh_deferred example.
- PCL library (http://pointclouds.org/) for pcl_traits helper, necessary for pcl_deferred example.
Read the Dependencies section above first!
To compile
mkdir ./build && cd build
cmake ..
make
to install
make install
To build the examples run (still in build folder)
(for mesh render example)
make mesh_deferred
(for pointcloud render example)
make pcl_deferred
Keep in mind that the pisa_diffuse.hdr file must be in the folder you execute the examples from.
I will supply a Doxygen based documentation as soon as I tested all features.