00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(AFX_SHADOWMAP_H__50A1C655_51B8_4B47_982E_58C20CD21815__INCLUDED_)
00022 #define AFX_SHADOWMAP_H__50A1C655_51B8_4B47_982E_58C20CD21815__INCLUDED_
00023
00024 #include <GLEXT/GLTexture.h>
00025
00026 class ShadowMap
00027 {
00028 public:
00029 ShadowMap();
00030 virtual ~ShadowMap();
00031
00032 void setTexture();
00033 void addSquare(float x, float y, float w, float opacity = 1.0f);
00034 void addCircle(float sx, float sy, float sw, float opacity = 1.0f);
00035
00036 bool shouldAddShadow();
00037
00038 unsigned int getShadowCount() { return shadowCount_; }
00039
00040 protected:
00041 unsigned int shadowCount_;
00042 GLTexture shadowTexture_;
00043 GLubyte *shadowBytes_;
00044 GLint size_, sizeSq_;
00045
00046 void addShadow(float sx, float sy, float sw, float opacity, bool circle);
00047
00048 };
00049
00050 #endif // !defined(AFX_SHADOWMAP_H__50A1C655_51B8_4B47_982E_58C20CD21815__INCLUDED_)