rts_glRenderableDTGrid.h 764 Bytes
#ifndef RTS_GLRENDERABLEDTGRID_H
#define RTS_GLRENDERABLEDTGRID_H

#include "gl/glew.h"
#include "gl/gl.h"
#include "rtsDTGrid3D.h"

enum IteratorType {PPP, PPN, PNP, PNN, NPP, NPN, NNP, NNN};

struct ValueType
{
	float r;
	float g;
	float b;
	float a;
};


class rts_glRenderableDTGrid : public rtsDTGrid3D<ValueType>
{
private:
	IteratorType m_iter_type;
	rtsDTGrid3D<ValueType>::iterator m_iterator;
	void init_iter_ppp();
	void init_iter_ppn();
	void iter_next_ppn();
	void init_iter_npp();
	void iter_next_npp();
	void init_iter_nnn();
	void iter_next_npx(rtsDTGrid2D<IndexPair>::iterator &i2d);
	void iter_next();
public:
	void RenderPoints(unsigned int size, float camera_x, float camera_y, float camera_z);

};


#endif