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