/*************************************************************************
** Mode_CreateVoxelizedShadowVolumes.h                                  **
** --------------------------------                                     **
**                                                                      **
** Once we have resampled our shadow map (e.g., in the display mode     **
**     Mode_SampleVoxelsFromShadowMap), we can scan along horizontal    **
**     lines (i.e., the alpha-axis) to create our voxelized shadow      **
**     volumes.  This render mode combines all the steps until this     **
**     point, then visualizes the resulting VSV.                        **
**                                                                      **
** Chris Wyman (04/17/2012)                                             **
*************************************************************************/

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

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

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

	virtual const char *GetWindowTitle( void )     
	{ 
		return "Create voxelized shadow volumes"; 
	}
	virtual const char *GetHelpDescriptor( void )  
	{ 
		return "After resampling our parabolic shadow map into a voxelized epipolar space, "
			"we need to scan horizontally (i.e., along the alpha-axis) to create voxelized "
			"shadow volumes.  This display mode continues through this intermediate step "
			"and visualizes the result.";
	}

private:

};