2020-07-29 09:17:53 +00:00
|
|
|
#pragma once
|
|
|
|
#include "ShadowCamera.h"
|
|
|
|
|
|
|
|
class CCutsceneShadow
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
RASTER = 0,
|
|
|
|
RESAMPLE,
|
|
|
|
BLUR,
|
|
|
|
GRADIENT,
|
|
|
|
};
|
|
|
|
|
|
|
|
CShadowCamera m_Camera;
|
|
|
|
bool m_bResample;
|
|
|
|
CShadowCamera m_ResampleCamera;
|
|
|
|
int32 m_nBlurPasses;
|
|
|
|
CShadowCamera m_BlurCamera;
|
|
|
|
bool m_bGradient;
|
|
|
|
CShadowCamera m_GradientCamera;
|
|
|
|
|
|
|
|
union
|
|
|
|
{
|
|
|
|
RwObject *m_pObject;
|
|
|
|
RpAtomic *m_pAtomic;
|
|
|
|
RpClump *m_pClump;
|
|
|
|
};
|
|
|
|
|
2020-07-31 18:34:52 +00:00
|
|
|
int32 m_nRwObjectType;
|
2020-07-29 09:17:53 +00:00
|
|
|
RpLight *m_pLight;
|
|
|
|
RwSphere m_BoundingSphere;
|
|
|
|
RwSphere m_BaseSphere;
|
|
|
|
|
|
|
|
CCutsceneShadow();
|
|
|
|
~CCutsceneShadow();
|
|
|
|
|
2020-08-05 14:13:21 +00:00
|
|
|
RwSphere GetBaseSphere()
|
2020-07-29 09:17:53 +00:00
|
|
|
{
|
|
|
|
return m_BaseSphere;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Create(RwObject *object, int32 rasterSize, bool resample, int32 blurPasses, bool gradient);
|
|
|
|
RwFrame *SetLightProperties(float angleY, float angleX, bool setLight);
|
|
|
|
bool IsInitialized();
|
|
|
|
void Destroy();
|
|
|
|
RwRaster *Update();
|
|
|
|
RwTexture *UpdateForCutscene();
|
|
|
|
CShadowCamera *GetShadowCamera(int32 camType = RASTER);
|
|
|
|
RwTexture *GetShadowRwTexture();
|
|
|
|
void DrawBorderAroundTexture(RwRGBA const& color);
|
2020-08-05 14:13:21 +00:00
|
|
|
};
|