17 #ifndef _HUTILITYSHADOW_H 18 #define _HUTILITYSHADOW_H 102 HShadow(HC_KEY ModelSegmentKey, HC_KEY ShadowBaseSegmentKey,
float ObjectModellingMatrix[] = 0);
107 void CalculateTotalModelExtents();
112 ObjectBoundingMin = m_ObjectBoundingMin;
113 ObjectBoundingMax = m_ObjectBoundingMax;
146 float m_ObjectModellingMatrix[16];
154 void ShowModellingMatrix(HC_KEY segkey,
float oldmatrix[],
float newmatrix[]);
170 void RotateToGroundPlane(
HPlane plane,
float matrix[]);
178 void ShadowMatrix2(
float matrix[],
HPlane plane,
HPoint d);
183 HC_KEY IsolateShell();
195 bool HasShell(HC_KEY segKey);
198 void CalculateModelExtents(HC_KEY SegKey,
float totalmatrix[]);
199 void SetIdentityMatrix(
float matrix[]);
200 void ShadowMatrix(
float mm[],
HPlane plane,
HPoint light);
217 HSmoothShadow(HC_KEY ModelSegmentKey, HC_KEY ShadowBaseSegmentKey,
bool UseOglShadow =
false);
230 void Create(
ShadowPlaneType ptype,
int TextureSize = 0,
int FilterSize = -1,
int filter[] = 0);
254 void SetFilter(
int filter[],
int FilterSize) { m_filter = filter; m_FilterSize = FilterSize; }
258 void UnDefineShadowTexture();
261 static void UnDefineAllShadowTextures(HC_KEY modelsegmentkey);
275 char m_texname[MVO_SMALL_BUFFER_SIZE];
280 void CalculateTotalShadowExtents();
287 void CalculateShadowExtents(HC_KEY segkey,
float *totalmatrix);
292 void CreateSoftShadow();
297 void CreateShadowTexture();
307 void SmoothImage(
HPixelRGB *origImage,
HPixelRGBA **smoothImage,
int width,
int height,
int filterSize,
int filter[]);
310 void CalculateOneShadowExtent(HC_KEY shellkey,
float *modellingMatrix);
321 HHardShadow(HC_KEY ModelSegmentKey, HC_KEY ShadowBaseSegmentKey) :
HShadow(ModelSegmentKey, ShadowBaseSegmentKey) {}
335 virtual void Create();
342 void CreateHardShadow();
HPoint m_ShadowBoundingMax
max value of shadow bounding volume
Definition: HUtilityShadow.h:274
The HPixelRGB class is the data type of a rgb pixel.
Definition: HGlobals.h:473
int m_ShadowBrightness
Definition: HUtilityShadow.h:138
void GetShadowLightPos(HPoint &lightpos)
Definition: HUtilityShadow.h:117
int GetShadowBrightness()
Definition: HUtilityShadow.h:131
HPoint m_ObjectBoundingMin
Definition: HUtilityShadow.h:143
int GetTextureSize()
Definition: HUtilityShadow.h:241
This class has been deprecated.
Definition: HUtilityShadow.h:209
self-explanatory
Definition: HUtilityShadow.h:39
bool m_bFirstCoordinate
Definition: HUtilityShadow.h:134
HC_KEY m_ImageKey
key to shadow image
Definition: HUtilityShadow.h:272
void SetShadowBrightness(int ShadowBrightness)
Definition: HUtilityShadow.h:129
void GetShadowGroundPlane(HPlane &plane)
Definition: HUtilityShadow.h:119
int m_FilterSize
size of filter matrix
Definition: HUtilityShadow.h:270
bool m_bAllowOpenglShadow
use opengl offscreen buffer
Definition: HUtilityShadow.h:276
void SetShadowLightPos(HPoint lightpos)
Definition: HUtilityShadow.h:124
The HPixelRGBA class is the data type of a rgba pixel.
Definition: HGlobals.h:511
HHardShadow(HC_KEY ModelSegmentKey, HC_KEY ShadowBaseSegmentKey)
Definition: HUtilityShadow.h:321
int * m_filter
filter matrix
Definition: HUtilityShadow.h:271
int m_TextureSize
size of texture extents
Definition: HUtilityShadow.h:269
void GetModelExtents(HPoint &ObjectBoundingMin, HPoint &ObjectBoundingMax)
Definition: HUtilityShadow.h:110
HPoint m_ShadowBoundingMin
min value of shadow bounding volume
Definition: HUtilityShadow.h:273
HC_KEY m_ShadowSegmentKey
Definition: HUtilityShadow.h:137
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
This class has been deprecated.
Definition: HUtilityShadow.h:93
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
void SetShadowGroundPlane(HPlane plane)
Definition: HUtilityShadow.h:126
ShadowPlaneType
Definition: HUtilityShadow.h:36
void SetTextureSize(int TextureSize)
Definition: HUtilityShadow.h:247
HC_KEY m_ModelSegmentKey
Definition: HUtilityShadow.h:136
HPlane m_ShadowGroundPlane
Definition: HUtilityShadow.h:141
self-explanatory
Definition: HUtilityShadow.h:40
void SetAllowOpenglShadow(bool AllowOpenglShadow)
Definition: HUtilityShadow.h:267
HPoint m_ObjectBoundingMax
Definition: HUtilityShadow.h:144
HPoint m_ShadowLightPos
Definition: HUtilityShadow.h:140
self-explanatory
Definition: HUtilityShadow.h:38
int GetFilterSize()
Definition: HUtilityShadow.h:238
This class has been deprecated.
Definition: HUtilityShadow.h:316
HC_KEY GetShadowKey()
Definition: HUtilityShadow.h:121
The HPlane class is the data type of a plane.
Definition: HGlobals.h:335
void SetFilter(int filter[], int FilterSize)
Definition: HUtilityShadow.h:254