22 #ifndef _HUTILITYSHADOW_H
23 #define _HUTILITYSHADOW_H
107 HShadow(
HC_KEY ModelSegmentKey,
HC_KEY ShadowBaseSegmentKey,
float *ObjectModellingMatrix = 0);
112 void CalculateTotalModelExtents();
117 ObjectBoundingMin = m_ObjectBoundingMin;
118 ObjectBoundingMax = m_ObjectBoundingMax;
151 float m_ObjectModellingMatrix[16];
159 void ShowModellingMatrix(HC_KEY segkey,
float * oldmatrix,
float * newmatrix);
175 void RotateToGroundPlane(
HPlane plane,
float *matrix);
183 void ShadowMatrix2(
float *matrix,
HPlane plane,
HPoint d);
200 bool HasShell(HC_KEY segKey);
203 void CalculateModelExtents(HC_KEY SegKey,
float *totalmatrix);
204 void SetIdentityMatrix(
float *matrix);
205 void ShadowMatrix(
float *mm,
HPlane plane,
HPoint light);
235 void Create(
ShadowPlaneType ptype,
int TextureSize = 0,
int FilterSize = -1,
int *filter = 0);
259 void SetFilter(
int *filter,
int FilterSize) { m_filter = filter; m_FilterSize = FilterSize; }
263 void UnDefineShadowTexture();
266 static void UnDefineAllShadowTextures(HC_KEY modelsegmentkey);
280 char m_texname[MVO_SMALL_BUFFER_SIZE];
285 void CalculateTotalShadowExtents();
292 void CalculateShadowExtents(HC_KEY segkey,
float *totalmatrix);
297 void CreateSoftShadow();
302 void CreateShadowTexture();
312 void SmoothImage(
HPixelRGB *origImage,
HPixelRGBA **smoothImage,
int width,
int height,
int filterSize,
int *filter);
315 void CalculateOneShadowExtent(HC_KEY shellkey,
float *modellingMatrix);
326 HHardShadow(HC_KEY ModelSegmentKey, HC_KEY ShadowBaseSegmentKey) :
HShadow(ModelSegmentKey, ShadowBaseSegmentKey) {}
340 virtual void Create();
347 void CreateHardShadow();
HPoint m_ShadowBoundingMax
max value of shadow bounding volume
Definition: HUtilityShadow.h:279
The HPixelRGB class is the data type of a rgb pixel.
Definition: HGlobals.h:478
int m_ShadowBrightness
Definition: HUtilityShadow.h:143
void GetShadowLightPos(HPoint &lightpos)
Definition: HUtilityShadow.h:122
int GetShadowBrightness()
Definition: HUtilityShadow.h:136
HPoint m_ObjectBoundingMin
Definition: HUtilityShadow.h:148
int GetTextureSize()
Definition: HUtilityShadow.h:246
This class has been deprecated.
Definition: HUtilityShadow.h:214
self-explanatory
Definition: HUtilityShadow.h:44
bool m_bFirstCoordinate
Definition: HUtilityShadow.h:139
HC_KEY m_ImageKey
key to shadow image
Definition: HUtilityShadow.h:277
void SetShadowBrightness(int ShadowBrightness)
Definition: HUtilityShadow.h:134
void GetShadowGroundPlane(HPlane &plane)
Definition: HUtilityShadow.h:124
int m_FilterSize
size of filter matrix
Definition: HUtilityShadow.h:275
bool m_bAllowOpenglShadow
use opengl offscreen buffer
Definition: HUtilityShadow.h:281
void SetShadowLightPos(HPoint lightpos)
Definition: HUtilityShadow.h:129
The HPixelRGBA class is the data type of a rgba pixel.
Definition: HGlobals.h:516
HHardShadow(HC_KEY ModelSegmentKey, HC_KEY ShadowBaseSegmentKey)
Definition: HUtilityShadow.h:326
int * m_filter
filter matrix
Definition: HUtilityShadow.h:276
int m_TextureSize
size of texture extents
Definition: HUtilityShadow.h:274
void GetModelExtents(HPoint &ObjectBoundingMin, HPoint &ObjectBoundingMax)
Definition: HUtilityShadow.h:115
HPoint m_ShadowBoundingMin
min value of shadow bounding volume
Definition: HUtilityShadow.h:278
HC_KEY m_ShadowSegmentKey
Definition: HUtilityShadow.h:142
void SetFilter(int *filter, int FilterSize)
Definition: HUtilityShadow.h:259
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
This class has been deprecated.
Definition: HUtilityShadow.h:98
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
void SetShadowGroundPlane(HPlane plane)
Definition: HUtilityShadow.h:131
ShadowPlaneType
Definition: HUtilityShadow.h:41
void SetTextureSize(int TextureSize)
Definition: HUtilityShadow.h:252
HC_KEY m_ModelSegmentKey
Definition: HUtilityShadow.h:141
HPlane m_ShadowGroundPlane
Definition: HUtilityShadow.h:146
self-explanatory
Definition: HUtilityShadow.h:45
void SetAllowOpenglShadow(bool AllowOpenglShadow)
Definition: HUtilityShadow.h:272
HPoint m_ObjectBoundingMax
Definition: HUtilityShadow.h:149
HPoint m_ShadowLightPos
Definition: HUtilityShadow.h:145
self-explanatory
Definition: HUtilityShadow.h:43
int GetFilterSize()
Definition: HUtilityShadow.h:243
This class has been deprecated.
Definition: HUtilityShadow.h:321
HC_KEY GetShadowKey()
Definition: HUtilityShadow.h:126
The HPlane class is the data type of a plane.
Definition: HGlobals.h:339