/*************************************************************************
** Mode_VisualizeVoxelizedShadowVolumes.h                               **
** --------------------------                                           **
**                                                                      **
** This is a much more complex display mode that shows how they might   **
**    be used in your application.  Please see Mode_BlankDisplay.h for  **
**    more details about the data structure.                            **
**                                                                      **
** Chris Wyman (04/06/2012)                                             **
*************************************************************************/

#include <GL/glew.h>
#include <stdio.h>
#include "iglu.h"

class VisualizeVoxelizedShadowVolumes : public iglu::IGLUDisplayMode {
public:
	VisualizeVoxelizedShadowVolumes() : IGLUDisplayMode() {}
	virtual ~VisualizeVoxelizedShadowVolumes() {}

	virtual void Initialize( int trackNum );
	virtual void Display();

	virtual const char *GetWindowTitle( void )     
	{ 
		return "Visualize voxelized shadow volumes"; 
	}
	virtual const char *GetHelpDescriptor( void )  
	{ 
		return "Using the simple Lambertian shading display as a baseline, this "
			   "display mode overlays a simplistic count of shadowed voxels along "
			   "each view ray.  This binary-voxel visibility representation can "
			   "clearly be utilized for a variety of more interesting purposes later, "
			   "from surface shadows to volumetric shadows, et cetera.";
	}

private:

};