diff --git a/build/engine/shaders/lighting/lighting_blend.ps b/build/engine/shaders/lighting/lighting_blend.ps
index 12db267f8fec0d1d5babbbb32e5917d9ffe234db..6af6e11f98a26d70e60c3538a99490c75d9bd481 100644
--- a/build/engine/shaders/lighting/lighting_blend.ps
+++ b/build/engine/shaders/lighting/lighting_blend.ps
@@ -108,7 +108,10 @@ float4 main(VSO_ResPos IN):COLOR0
 	float3 vNormalPixel = normalize(NormalDecode(vNormals.xyz).xyz);
 	
 	// vColor.rgb += (1.0f - vParams.x) * GetReflection(vPosition.xyz, vNormalPixel) * lerp((float3)(0.1f * fF0), vAlbedo, vParams.y) * vAlbedo.w;
-	vColor.rgb += (1.0f - vParams.x) * GetReflection(vPosition.xyz, vNormalPixel) * lerp((float3)fF0, vAlbedo, vParams.y) * vAlbedo.w;
+	vColor.rgb += (1.0f - vParams.x) * GetReflection(vPosition.xyz, vNormalPixel) * lerp((float3)fF0, vAlbedo.xyz, vParams.y) * vAlbedo.w;
+	
+	
+	vColor.rgb += vAlbedo.xyz * (1.0f - vAlbedo.w);
 	
 	
 	// float fAdaptedLum = 0.2f;
diff --git a/build/engine/shaders/lighting/lighting_com.ps b/build/engine/shaders/lighting/lighting_com.ps
index 348c17f7b7ce54264796d27cb36834f0b53bfe8b..cebf48b94f1e8ad5c92e6480f1380714861bee49 100644
--- a/build/engine/shaders/lighting/lighting_com.ps
+++ b/build/engine/shaders/lighting/lighting_com.ps
@@ -215,7 +215,8 @@ float4 main(VSO_ResPos IN):SV_TARGET
 	// float fMdiffuse = saturate(fNdotL * 0.5 + 0.5);
 	// float fDiffuse = 1.0f;
 	
-	OUT.xyz = lerp(vAlbedo.xyz, g_vLightColorPower.xyz * lerp(vAlbedo.xyz * fDiffuse + vSpecular.www, vSpecular.xyz, fMetallic) * fAttenuation * fShadow, vAlbedo.w);
+	// OUT.xyz = lerp(vAlbedo.xyz, g_vLightColorPower.xyz * lerp(vAlbedo.xyz * fDiffuse + vSpecular.www, vSpecular.xyz, fMetallic) * fAttenuation * fShadow, vAlbedo.w);
+	OUT.xyz = (g_vLightColorPower.xyz * lerp(vAlbedo.xyz * fDiffuse + vSpecular.www, vSpecular.xyz, fMetallic) * fAttenuation * fShadow) * vAlbedo.w;
 	
 	OUT.w = 1.0f;
 	return OUT;
diff --git a/build/gamesource/shaders/pptm/pptm_calc_adapted_lum.ps b/build/gamesource/shaders/pptm/pptm_calc_adapted_lum.ps
deleted file mode 100644
index a49e5aa4f08e9d3b70e6632005c1a3ac83c8c169..0000000000000000000000000000000000000000
--- a/build/gamesource/shaders/pptm/pptm_calc_adapted_lum.ps
+++ /dev/null
@@ -1,33 +0,0 @@
-
-/*
-pptm_calc_adapted_lum.ps
-Расчет коэфициента примерной адаптации глаза к освещению
-*/
-
-#include "../struct.h"
-#include "pptm_common.h"
-
-//##########################################################################
-
-//! предыдущее значение адаптации глаза к свету
-sampler2D g_sPrevAdapted:register(s0);
-
-//! текущее значение общей освещенности
-sampler2D g_sCurrLum:register(s1);
-
-//##########################################################################
-
-//! текущее время кадра * facor привыкания к освещению, в секундах
-half g_fElapsedTime;
-
-//##########################################################################
-
-half4 main(VSO_PP IN) : COLOR0
-{
-	half g_fAdaptedLum = (tex2D(g_sPrevAdapted, g_vTexUVcenter));
-	half g_fCurrLum = sqrt(g_sLumFloor + tex2D(g_sCurrLum, g_vTexUVcenter));
-	
-	return half4(
-				pow(pow(g_fAdaptedLum, 0.25) + (pow(g_fCurrLum, 0.25) - pow(g_fAdaptedLum, 0.25)) * (1.f - pow(0.9785, g_fElapsedTime)), 4.0),
-				0.0, 0.0, 1.0);
-}
\ No newline at end of file
diff --git a/build/gamesource/shaders/pptm/pptm_common.h b/build/gamesource/shaders/pptm/pptm_common.h
deleted file mode 100644
index 3b03303f2fa4efb92db8d55c22d9f9d14ab69158..0000000000000000000000000000000000000000
--- a/build/gamesource/shaders/pptm/pptm_common.h
+++ /dev/null
@@ -1,16 +0,0 @@
-
-/*
-pptm_common.h
-Основные данные для tone mapping
-*/
-
-//! веса с которыми будут браться цвета сцены для выявления общей освещенности
-static const half3 g_sLumsWeights = half3(0.298, 0.585, 0.117);
-
-//! значение добавляемое к текущей общей освещенности, чем меньше тем светлее, и наоборот, (0, 1)
-static half g_sLumFloor = 0.0025;
-
-#define HDR_MAX_SAMPLES 16
-
-//! смещения для выборки
-half2 g_aOffsets[HDR_MAX_SAMPLES];
\ No newline at end of file
diff --git a/build/gamesource/shaders/pptm/pptm_lum_init.ps b/build/gamesource/shaders/pptm/pptm_lum_init.ps
deleted file mode 100644
index 8b35fdbf9d92ed4a6470f7748e651651efbeda4c..0000000000000000000000000000000000000000
--- a/build/gamesource/shaders/pptm/pptm_lum_init.ps
+++ /dev/null
@@ -1,30 +0,0 @@
-
-/*
-pptm_lum_init.ps
-первоначальное заполнение текстуры данными для tone mapping
-*/
-
-#include <../struct.h>
-#include <pptm_common.h>
-
-//##########################################################################
-
-sampler2D g_sColor:register(s0);
-
-//##########################################################################
-
-half4 main(VSO_PP IN) : COLOR0
-{
-    half3 vColor = 0.0f;
-    half vResult = 0.0f;
-
-    for(int i = 0; i < 16; ++i)
-    {
-        vColor = tex2D(g_sColor, IN.vTexUV + g_aOffsets[i]).rgb;
-		vResult += pow(dot(vColor, g_sLumsWeights), 2);
-    }
-    
-    vResult *= 0.0625;
-	
-    return half4(vResult, 0.0, 0.0, 1.0);
-}
\ No newline at end of file
diff --git a/build/gamesource/shaders/pptm/pptm_lum_iterative.ps b/build/gamesource/shaders/pptm/pptm_lum_iterative.ps
deleted file mode 100644
index c049a3a49bc20d8745a8e50e33530fff104c03be..0000000000000000000000000000000000000000
--- a/build/gamesource/shaders/pptm/pptm_lum_iterative.ps
+++ /dev/null
@@ -1,28 +0,0 @@
-
-/*
-pptm_lum_iterative.ps
-Используется для дополнительных проходов уменьшения текстуры, среднее арифметическое соседних пикселей
-*/
-
-#include <../struct.h>
-#include <pptm_common.h>
-
-//##########################################################################
-
-sampler2D s0:register(s0);
-
-//##########################################################################
-
-half4 main(VSO_PP IN) : COLOR0
-{
-	half res = 0.0f;
-    
-    for(int i = 0; i < 16; ++i)
-    {
-		res += tex2D(s0, IN.vTexUV + g_aOffsets[i]);
-    }
-	
-    res *= 0.0625;
-    
-    return half4(res,0,0,1);
-}
\ No newline at end of file
diff --git a/proj/sxgcore/vs2013/sxgcore.vcxproj b/proj/sxgcore/vs2013/sxgcore.vcxproj
index 0d8fd47230e3ef6568094f2b3016f9ffc34f9cd6..f3fc543e5b741ca3a33ba8067e281e89178f4d0c 100644
--- a/proj/sxgcore/vs2013/sxgcore.vcxproj
+++ b/proj/sxgcore/vs2013/sxgcore.vcxproj
@@ -199,7 +199,6 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
     </ClCompile>
-    <ClCompile Include="..\..\..\source\gcore\gcore_data.cpp" />
     <ClCompile Include="..\..\..\source\gcore\gcore_utils.cpp" />
     <ClCompile Include="..\..\..\source\gcore\shader.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
@@ -222,7 +221,6 @@
     <ClInclude Include="..\..\..\source\common\string_utils.h" />
     <ClInclude Include="..\..\..\source\gcore\bound.h" />
     <ClInclude Include="..\..\..\source\gcore\camera.h" />
-    <ClInclude Include="..\..\..\source\gcore\gcore_data.h" />
     <ClInclude Include="..\..\..\source\gcore\gcore_utils.h" />
     <ClInclude Include="..\..\..\source\gcore\shader.h" />
     <ClInclude Include="..\..\..\source\gcore\ShaderPreprocessor.h" />
diff --git a/proj/sxgcore/vs2013/sxgcore.vcxproj.filters b/proj/sxgcore/vs2013/sxgcore.vcxproj.filters
index d694c1f403b2ff790f5575be82ed612baf30df3f..1b94e99ca5866f57f52c4c7ac36fb097332c403e 100644
--- a/proj/sxgcore/vs2013/sxgcore.vcxproj.filters
+++ b/proj/sxgcore/vs2013/sxgcore.vcxproj.filters
@@ -25,9 +25,6 @@
     <ClCompile Include="..\..\..\source\gcore\gcore_utils.cpp">
       <Filter>Source</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\source\gcore\gcore_data.cpp">
-      <Filter>Source</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\..\source\gcore\ShaderPreprocessor.cpp">
       <Filter>Source</Filter>
     </ClCompile>
@@ -65,9 +62,6 @@
     <ClInclude Include="..\..\..\source\gcore\gcore_utils.h">
       <Filter>Header</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\source\gcore\gcore_data.h">
-      <Filter>Header</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\source\gcore\ShaderPreprocessor.h">
       <Filter>Header</Filter>
     </ClInclude>
diff --git a/source/gcore/gcore_data.cpp b/source/gcore/gcore_data.cpp
deleted file mode 100644
index 0fb7437e4a361805986d0ecb3f9dcb23ad3d835d..0000000000000000000000000000000000000000
--- a/source/gcore/gcore_data.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#include "gcore_data.h"
-
-namespace gcore_data
-{
-	namespace rt_id
-	{
-		ID idComLight = -1;
-
-		ID idColorScene = -1;
-		ID idNormalScene = -1;
-		ID idParamsScene = -1;
-		ID idDepthScene = -1;
-		ID idDepthScene0 = -1;
-		ID idDepthScene1 = -1;
-
-		ID idLightAmbientDiff = -1;
-		ID idLightSpecular = -1;
-
-		Array<ID> aToneMaps;
-		Array<IGXSurface*> aSurfToneMap;
-		int iCountArrToneMaps = 0;
-
-		//**
-
-		ID idAdaptLumCurr = -1;
-		ID idAdaptLumLast = -1;
-
-		int iHowAdaptedLum = 0;
-		ID GetCurrAdaptedLum(){ if (iHowAdaptedLum == 0) return idAdaptLumCurr; else return  idAdaptLumLast; };
-		ID GetLastAdaptedLum(){ if (iHowAdaptedLum == 1) return idAdaptLumCurr; else return  idAdaptLumLast; };
-		void IncrAdaptedLum(){ if (iHowAdaptedLum >= 1) iHowAdaptedLum = 0; else iHowAdaptedLum = 1; };
-
-		//**
-
-		ID idLigthCom = -1;
-		ID idLigthCom2 = -1;
-		ID idLigthCom3 = -1;
-
-		ID idLigthComScaled = -1;
-
-		float2 aHDRSampleOffsets[16];
-	};
-
-	namespace vs_id
-	{
-		ID idScreenOut = -1;
-	};
-
-	namespace ps_id
-	{
-		ID idSampleLumIterative = -1;
-		ID idSampleLumInit = -1;
-		ID idCalcAdaptedLum = -1;
-	};
-};
\ No newline at end of file
diff --git a/source/gcore/gcore_data.h b/source/gcore/gcore_data.h
deleted file mode 100644
index d76f3b16e757c8dd40c943c3649f14da200beff3..0000000000000000000000000000000000000000
--- a/source/gcore/gcore_data.h
+++ /dev/null
@@ -1,64 +0,0 @@
-
-#ifndef __GCORE_DATA
-#define __GCORE_DATA
-
-#include <gdefines.h>
-#include <graphix/graphix.h>
-#include <common/array.h>
-#include <common/Math.h>
-
-namespace gcore_data
-{
-	namespace rt_id
-	{
-		extern ID idComLight;
-
-		extern ID idColorScene;
-		extern ID idNormalScene;
-		extern ID idParamsScene;
-		extern ID idDepthScene;
-		extern ID idDepthScene0;
-		extern ID idDepthScene1;
-
-		extern ID idLightAmbientDiff;
-		extern ID idLightSpecular;
-
-		extern Array<ID> aToneMaps;
-		extern Array<IGXSurface*> aSurfToneMap;
-		extern int iCountArrToneMaps;
-
-		//**
-
-		extern ID idAdaptLumCurr;
-		extern ID idAdaptLumLast;
-
-		extern int iHowAdaptedLum;
-		extern ID GetCurrAdaptedLum();
-		extern ID GetLastAdaptedLum();
-		extern void IncrAdaptedLum();
-
-		//**
-
-		extern ID idLigthCom;
-		extern ID idLigthCom2;
-		extern ID idLigthCom3;
-
-		extern ID idLigthComScaled;
-
-		extern float2 aHDRSampleOffsets[16];
-	};
-
-	namespace vs_id
-	{
-		extern ID idScreenOut;
-	};
-
-	namespace ps_id
-	{
-		extern ID idSampleLumIterative;
-		extern ID idSampleLumInit;
-		extern ID idCalcAdaptedLum;
-	};
-};
-
-#endif
\ No newline at end of file
diff --git a/source/gcore/gcore_utils.cpp b/source/gcore/gcore_utils.cpp
index 63473bd57f31d823272751e814f904bc63056a01..e594b03b9cf42eb4a665b73b43cbc7ee6cc20476 100644
--- a/source/gcore/gcore_utils.cpp
+++ b/source/gcore/gcore_utils.cpp
@@ -62,22 +62,6 @@ void InitDevice(SXWINDOW hWnd, int iWidth, int iHeight, bool isWindowed)
 	}
 }
 
-void InitFPStext()
-{
-	/*
-	D3DXFONT_DESC LF;
-	ZeroMemory(&LF, sizeof(D3DXFONT_DESC));
-	LF.Height = 14;
-	LF.Width = 7;
-	LF.Weight = 10;
-	LF.Italic = 0;
-	LF.CharSet = DEFAULT_CHARSET;
-	sprintf(LF.FaceName, "Courier New");
-
-	D3DXCreateFontIndirect(g_pDevice, &LF, &g_pFPStext);
-	*/
-}
-
 void InitFullScreenQuad()
 {
 	mem_release(g_pScreenTextureRB);
@@ -145,102 +129,3 @@ void InitArrModes()
 	}
 }
 
-void InitRT4Gbuffer()
-{
-	const int *r_win_width = GET_PCVAR_INT("r_win_width");
-	const int *r_win_height = GET_PCVAR_INT("r_win_height");
-	
-	//цвет (текстуры)
-	//GXFMT_A16B16G16R16F; // 64bpp; GXFMT_A8R8G8B8
-	gcore_data::rt_id::idColorScene = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_A8R8G8B8, "ds_color");
-	//номрали + микрорельеф
-	//GXFMT_A16B16G16R16F; // 64bpp; GXFMT_A8R8G8B8
-	gcore_data::rt_id::idNormalScene = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_A8R8G8B8/*D3DFMT_A2R10G10B10*/, "ds_normal");
-	//параметры освещени¤
-	//GXFMT_A16B16G16R16F; // 64bpp; GXFMT_A8R8G8B8
-	gcore_data::rt_id::idParamsScene = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_A8R8G8B8, "ds_param");
-
-	//GXFMT_G32R32F; // 64bpp; GXFMT_R32F
-	gcore_data::rt_id::idDepthScene = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_R32F, "ds_depth");
-	gcore_data::rt_id::idDepthScene0 = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_R32F, "ds_depth_0");
-	gcore_data::rt_id::idDepthScene1 = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_R32F, "ds_depth_1");
-
-	gcore_data::rt_id::idLightAmbientDiff = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_A16B16G16R16F, "ds_ambient");
-	gcore_data::rt_id::idLightSpecular = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_R16F, "ds_specdiff");
-
-
-	gcore_data::rt_id::aToneMaps.clear();
-	gcore_data::rt_id::aSurfToneMap.clear();
-
-	char szNameRT[64];
-	int tmpcount = 0;
-	while (true)
-	{
-		int tmpsize = 1 << (2 * tmpcount);
-		if (tmpsize >= float(*r_win_width)*0.25 || tmpsize > (*r_win_height)*0.25)
-			break;
-
-		sprintf(szNameRT, "tone_map_%dx%d", tmpsize, tmpsize);
-		gcore_data::rt_id::aToneMaps[tmpcount] = -1; // SGCore_RTAdd(tmpsize, tmpsize, 1, GX_TEXFLAG_RENDERTARGET, GXFMT_R16F, szNameRT);
-		gcore_data::rt_id::aSurfToneMap[tmpcount] = 0;
-		++tmpcount;
-	}
-	gcore_data::rt_id::iCountArrToneMaps = tmpcount;
-
-	gcore_data::rt_id::idAdaptLumCurr = -1; // SGCore_RTAdd(1, 1, 1, GX_TEXFLAG_RENDERTARGET, GXFMT_R16F, "adapted_lum_curr");
-	gcore_data::rt_id::idAdaptLumLast = -1; // SGCore_RTAdd(1, 1, 1, GX_TEXFLAG_RENDERTARGET, GXFMT_R16F, "adapted_lum_last");
-
-	gcore_data::rt_id::idLigthCom = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1,  GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_A16B16G16R16F, "ds_lightcom");
-	gcore_data::rt_id::idLigthCom2 = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_A16B16G16R16F, "ds_lightcom2");
-	gcore_data::rt_id::idLigthCom3 = -1; // SGCore_RTAdd(*r_win_width, *r_win_height, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_A8R8G8B8, "ds_lightcom3");
-
-	gcore_data::rt_id::idLigthComScaled = -1; // SGCore_RTAdd(*r_win_width / 4, *r_win_height / 4, 1, GX_TEXFLAG_RENDERTARGET | GX_TEXFLAG_AUTORESIZE, GXFMT_A16B16G16R16F, "ds_lightcomscaled");
-
-
-	gcore_data::ps_id::idCalcAdaptedLum = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pptm_calc_adapted_lum.ps");
-	gcore_data::ps_id::idSampleLumInit = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pptm_lum_init.ps");
-	gcore_data::ps_id::idSampleLumIterative = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pptm_lum_iterative.ps");
-}
-
-void LoadShaders()
-{
-	gcore_data::vs_id::idScreenOut = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "pp_quad_render.vs");
-	//MLSet::IDsShaders::PS::ScreenOut = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pp_quad_render.ps");
-}
-
-void ToneMappingGetArrDownScale4x4(int iWidth, int iHeight, float2 aDS[])
-{
-	if (aDS == 0)
-		return;
-
-	float tU = 1.0f / float(iWidth);
-	float tV = 1.0f / float(iHeight);
-
-	int index = 0;
-
-	for (int y = 0; y < 4; ++y)
-	{
-		for (int x = 0; x < 4; ++x)
-		{
-			aDS[index].x = (x - 1.5f) * tU;
-			aDS[index].y = (y - 1.5f) * tV;
-
-			++index;
-		}
-	}
-}
-
-void InitToneMappingStates()
-{
-	GXBlendDesc blendDesc;
-	blendDesc.renderTarget[0].u8RenderTargetWriteMask = GXCOLOR_WRITE_ENABLE_RED;
-	g_pToneMappingBS = g_pDevice->createBlendState(&blendDesc);
-
-	GXSamplerDesc samplerDesc;
-	samplerDesc.filter = GXFILTER_MIN_MAG_MIP_LINEAR;
-	g_pSamplerFilterLinear = g_pDevice->createSamplerState(&samplerDesc);
-
-	samplerDesc.filter = GXFILTER_MIN_MAG_MIP_POINT;
-	g_pSamplerFilterPoint = g_pDevice->createSamplerState(&samplerDesc);
-}
-
diff --git a/source/gcore/gcore_utils.h b/source/gcore/gcore_utils.h
index b179d606ecfe5fcb694896763cb3ff5fec6f63c8..a2c99cb1c42147041e9c7f4e8d9f1eaea2ea5757 100644
--- a/source/gcore/gcore_utils.h
+++ b/source/gcore/gcore_utils.h
@@ -13,7 +13,6 @@ See the license in LICENSE
 #include <common/Math.h>
 
 #include <gcore/sxgcore.h>
-#include <gcore/gcore_data.h>
 
 //##########################################################################
 
@@ -21,33 +20,16 @@ extern IGXDevice *g_pDevice;
 extern HMODULE m_hLibGXAPI;
 extern Array<DEVMODE> g_aModes;
 extern IGXRenderBuffer *g_pScreenTextureRB;
-extern IGXBlendState *g_pToneMappingBS;
-extern IGXSamplerState *g_pSamplerFilterPoint;
-extern IGXSamplerState *g_pSamplerFilterLinear;
 
 //##########################################################################
 
 //! инициализация устройства
 void InitDevice(SXWINDOW hWnd, int iWidth, int iHeight, bool isWindowed);
 
-//! инициализация отладочной инфы
-void InitFPStext();
-
 //! инициализация полноэкранного квадрата
 void InitFullScreenQuad();
 
 //! инициализация массива режимов монитора
 void InitArrModes();
 
-//! инициализация рендер таргетов для 
-void InitRT4Gbuffer();
-
-//! загрузка шейдеров
-void LoadShaders();
-
-void InitToneMappingStates();
-
-//! заполнение массива для tone mapping
-void ToneMappingGetArrDownScale4x4(int iWidth, int iHeight, float2 aDS[]);
-
-#endif
\ No newline at end of file
+#endif
diff --git a/source/gcore/sxgcore.cpp b/source/gcore/sxgcore.cpp
index f03edf626968f5201aa8a482d69e65449a3dda92..26383b5a5d7bfe1657585c03933f23676ffb53be 100644
--- a/source/gcore/sxgcore.cpp
+++ b/source/gcore/sxgcore.cpp
@@ -11,7 +11,6 @@ See the license in LICENSE
 #include <gcore/camera.h>
 
 #include <gcore/gcore_utils.h>
-#include <gcore/gcore_data.h>
 
 
 //##########################################################################
@@ -28,9 +27,6 @@ IGXVertexDeclaration *g_pStaticVertexDecl = 0;
 
 CShaderManager *g_pManagerShaders = 0;
 IGXRenderBuffer *g_pScreenTextureRB = 0;
-IGXBlendState *g_pToneMappingBS = NULL;
-IGXSamplerState *g_pSamplerFilterPoint = NULL;
-IGXSamplerState *g_pSamplerFilterLinear = NULL;
 
 
 
@@ -43,11 +39,9 @@ IGXSamplerState *g_pSamplerFilterLinear = NULL;
 void GCoreInit(SXWINDOW hWnd, int iWidth, int iHeight, bool isWindowed)
 {
 	InitDevice(hWnd, iWidth, iHeight, isWindowed);
-	InitFPStext();
 	InitFullScreenQuad();
 
 	g_pManagerShaders = new CShaderManager();
-	InitToneMappingStates();
 
 	GXVertexElement oLayoutStatic[] =
 	{
@@ -62,8 +56,6 @@ void GCoreInit(SXWINDOW hWnd, int iWidth, int iHeight, bool isWindowed)
 	g_pStaticVertexDecl = g_pDevice->createVertexDeclaration(oLayoutStatic);
 
 	InitArrModes();
-	InitRT4Gbuffer();
-	LoadShaders();
 
 	Core_0RegisterConcmd("shader_reload", SGCore_ShaderReloadAll);
 }
@@ -115,9 +107,6 @@ SX_LIB_API void SGCore_AKill()
 
 	mem_release(g_pScreenTextureRB);
 
-	mem_release(g_pSamplerFilterLinear);
-	mem_release(g_pSamplerFilterPoint);
-
 	//mem_release(g_pFPStext);
 
 	mem_release(g_pDevice);
@@ -137,8 +126,6 @@ SX_LIB_API void SGCore_OnResetDevice()
 //	g_pManagerRenderTargets->OnResetDevice();
 //	g_pOC->onResetDevice(0/*g_oD3DAPP.BackBufferWidth*/, 9/*g_oD3DAPP.BackBufferHeight*/);
 	InitFullScreenQuad();
-	
-	gcore_data::rt_id::iHowAdaptedLum = 0;
 }
 
 SX_LIB_API void SGCore_ScreenQuadDraw()
diff --git a/source/terrax/mainWindow.cpp b/source/terrax/mainWindow.cpp
index 6b3adb601a6bb683a8c871ceb7b885bcc52a263b..564831dfbeacd4152a55911fd853476b8efd2f25 100644
--- a/source/terrax/mainWindow.cpp
+++ b/source/terrax/mainWindow.cpp
@@ -1538,7 +1538,7 @@ LRESULT CALLBACK RenderWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP
 				case DS_RT_AMBIENTDIFF:
 					iActiveMenu = ID_3D_AMBIENTDIFFUSE;
 					break;
-				case DS_RT_SPECULAR:
+				case DS_RT_LUMINANCE:
 					iActiveMenu = ID_3D_SPECULAR;
 					break;
 				case DS_RT_SCENELIGHT:
@@ -2047,7 +2047,7 @@ LRESULT CALLBACK RenderWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP
 			Core_0SetCVarInt("r_final_image", DS_RT_AMBIENTDIFF);
 			break;
 		case ID_3D_SPECULAR:
-			Core_0SetCVarInt("r_final_image", DS_RT_SPECULAR);
+			Core_0SetCVarInt("r_final_image", DS_RT_LUMINANCE);
 			break;
 		case ID_3D_LIGHTINGSCENE:
 			Core_0SetCVarInt("r_final_image", DS_RT_SCENELIGHT);
diff --git a/source/terrax/terrax.rc b/source/terrax/terrax.rc
index bf7c93ae166f800edae801a85b2b205acd2a7fc3..d572f8879f1e618b67c65212d156a1e0c33aebc1 100644
Binary files a/source/terrax/terrax.rc and b/source/terrax/terrax.rc differ