protected override void OnFormClosed( FormClosedEventArgs e )
{
if ( m_Device == null )
return;
if ( m_Shader_RenderShadowMap != null ) {
m_Shader_RenderShadowMap.Dispose();
}
#if FILTER_EXP_SHADOW_MAP
if ( m_Shader_FilterShadowMapH != null ) {
m_Shader_FilterShadowMapH.Dispose();
m_Shader_FilterShadowMapV.Dispose();
}
#else
if ( m_Shader_BuildSmoothie != null ) {
m_Shader_BuildSmoothie.Dispose();
m_Shader_BuildSmoothieDistanceFieldH.Dispose();
m_Shader_BuildSmoothieDistanceFieldV.Dispose();
}
#endif
if ( m_Shader_RenderAreaLight != null ) {
m_Shader_RenderAreaLight.Dispose();
}
if ( m_Shader_RenderScene != null ) {
m_Shader_RenderScene.Dispose();
}
m_CB_Main.Dispose();
m_CB_Camera.Dispose();
m_CB_Light.Dispose();
m_CB_ShadowMap.Dispose();
m_CB_Object.Dispose();
m_Prim_Quad.Dispose();
m_Prim_Rectangle.Dispose();
m_Prim_Sphere.Dispose();
m_Prim_Cube.Dispose();
m_Tex_BRDFIntegral.Dispose();
m_Tex_ShadowMap.Dispose();
#if FILTER_EXP_SHADOW_MAP
m_Tex_ShadowMapFiltered[0].Dispose();
m_Tex_ShadowMapFiltered[1].Dispose();
#else
m_Tex_ShadowSmoothie.Dispose();
m_Tex_ShadowSmoothiePou[0].Dispose();
m_Tex_ShadowSmoothiePou[1].Dispose();
#endif
m_Tex_AreaLight.Dispose();
// m_Tex_AreaLight3D.Dispose();
m_Tex_AreaLightSAT.Dispose();
m_Tex_AreaLightSATFade.Dispose();
// m_Tex_Normal.Dispose();
// m_Tex_GlossMap.Dispose();
m_Tex_FalseColors.Dispose();
m_Device.Exit();
base.OnFormClosed( e );
}