diff --git a/proj/sxlight/vs2013/sxlight.vcxproj b/proj/sxlight/vs2013/sxlight.vcxproj index 681e5c4de42937d0fcc054c0f5172842de724e35..0b4043ec3967640b871b0bf65b9e4a641fa20531 100644 --- a/proj/sxlight/vs2013/sxlight.vcxproj +++ b/proj/sxlight/vs2013/sxlight.vcxproj @@ -185,21 +185,9 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\..\..\source\light\LightSystem.cpp" /> - <ClCompile Include="..\..\..\source\light\ml_data.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> - </ClCompile> <ClCompile Include="..\..\..\source\light\plugin_main.cpp" /> <ClCompile Include="..\..\..\source\light\shadow.cpp" /> <ClCompile Include="..\..\..\source\light\ShadowCache.cpp" /> - <ClCompile Include="..\..\..\source\light\sxlight.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild> - </ClCompile> <ClCompile Include="..\..\..\source\light\sxlight_dll.cpp" /> </ItemGroup> <ItemGroup> @@ -207,10 +195,8 @@ <ClInclude Include="..\..\..\source\light\IXLight.h" /> <ClInclude Include="..\..\..\source\light\IXLightSystem.h" /> <ClInclude Include="..\..\..\source\light\light.h" /> - <ClInclude Include="..\..\..\source\light\ml_data.h" /> <ClInclude Include="..\..\..\source\light\shadow.h" /> <ClInclude Include="..\..\..\source\light\ShadowCache.h" /> - <ClInclude Include="..\..\..\source\light\sxlight.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/proj/sxlight/vs2013/sxlight.vcxproj.filters b/proj/sxlight/vs2013/sxlight.vcxproj.filters index c57c72b6d63a89dbd38a293bbd7785d0b7a66657..bda9378cd7b38898c6d984c3ecca5eae0ba27010 100644 --- a/proj/sxlight/vs2013/sxlight.vcxproj.filters +++ b/proj/sxlight/vs2013/sxlight.vcxproj.filters @@ -1,12 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <ClCompile Include="..\..\..\source\light\ml_data.cpp"> - <Filter>Source</Filter> - </ClCompile> - <ClCompile Include="..\..\..\source\light\sxlight.cpp"> - <Filter>Source</Filter> - </ClCompile> <ClCompile Include="..\..\..\source\light\light.cpp"> <Filter>Source</Filter> </ClCompile> @@ -35,15 +29,9 @@ </Filter> </ItemGroup> <ItemGroup> - <ClInclude Include="..\..\..\source\light\sxlight.h"> - <Filter>Headers</Filter> - </ClInclude> <ClInclude Include="..\..\..\source\light\light.h"> <Filter>Headers</Filter> </ClInclude> - <ClInclude Include="..\..\..\source\light\ml_data.h"> - <Filter>Headers</Filter> - </ClInclude> <ClInclude Include="..\..\..\source\light\IXLight.h"> <Filter>Headers</Filter> </ClInclude> diff --git a/source/light/light.h b/source/light/light.h index 1d93c8de116a3d9e85aa796441ce54e0eee0a157..c5952cd50daac142300b905c56bf552722b27206 100644 --- a/source/light/light.h +++ b/source/light/light.h @@ -15,8 +15,9 @@ See the license in LICENSE #include <graphix/graphix.h> #include <xcommon/IXMutationObserver.h> -#include "sxlight.h" -#include "ml_data.h" +#include <gcore/sxgcore.h> + +#include "IXLight.h" class CLightSystem; class CXLight: public virtual IXLight diff --git a/source/light/ml_data.cpp b/source/light/ml_data.cpp deleted file mode 100644 index 76f29a2371ae785942b7b3ccb8d9b959ea0a1244..0000000000000000000000000000000000000000 --- a/source/light/ml_data.cpp +++ /dev/null @@ -1,218 +0,0 @@ - -/*********************************************************** -Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018 -See the license in LICENSE -***********************************************************/ - -#include "ml_data.h" - -namespace light_data -{ - void Init(); - - IGXDevice *pDXDevice = 0; - - IGXSamplerState *pSamplerPointClamp; - IGXSamplerState *pSamplerLinearClamp; - IGXSamplerState *pSamplerPointWrap; - - namespace shader_id - { - namespace vs - { - ID idResPosDepth; - - ID idScreenOut; - - ID idSMDepthGeomPSSMDirect; - ID idSMDepthGeomCube; - - ID idSMDepthGrassPSSMDirect; - ID idSMDepthGrassCube; - - ID idSMDepthTreePSSMDirect; - ID idSMDepthTreeCube; - - ID idSMDepthSkinPSSMDirect; - ID idSMDepthSkinCube; - - ID idStdGeom; - ID idStdTree; - ID idStdGrass; - ID idStdSkin; - - ID idLightBound; - }; - - namespace ps - { - ID idSMDepthGeomPSSMDirect; - ID idSMDepthGeomCube; - - ID idSMDepthGreenPSSMDirect; - ID idSMDepthGreenCube; - - ID idSMDepthSkinPSSMDirect; - ID idSMDepthSkinCube; - - ID idPPBlurDepthBasedNoise; - ID idPSSM4; - ID idPSSM3; - ID idPPBlurDepthBased; - ID idGenShadowDirect4; - ID idGenShadowDirect9; - - ID idGenShadowCube1; - ID idGenShadowCube6; - - ID idScreenOut; - - ID idStdGeom; - ID idStdGeomCP; - ID idStdGreen; - ID idStdGreenCP; - ID idStdSkin; - ID idStdSkinCP; - - ID idLightBound; - }; - - namespace kit - { - ID idSMDepthGeomPSSMDirect; - ID idResPosDepthPSSM3; - ID idResPosDepthPSSM4; - ID idResPosDepthGenShadowDirect4; - ID idResPosDepthGenShadowDirect9; - ID idSMDepthGeomCube; - ID idResPosDepthGenShadowCube1; - ID idResPosDepthGenShadowCube6; - ID idSMDepthSkinPSSMDirect; - ID idSMDepthTreePSSMDirect; - ID idSMDepthGrassPSSMDirect; - ID idSMDepthGrassCube; - ID idSMDepthTreeCube; - ID idSMDepthSkinCube; - ID idPPBlurDepthBasedNoise; - ID idPPBlurDepthBased; - - ID idLightBound; - }; - }; -}; - -void light_data::Init() -{ - light_data::pDXDevice = SGCore_GetDXDevice(); - - GXSamplerDesc samplerDesc; - samplerDesc.filter = GXFILTER_MIN_MAG_MIP_POINT; - pSamplerPointWrap = pDXDevice->createSamplerState(&samplerDesc); - - samplerDesc.addressU = GXTEXTURE_ADDRESS_CLAMP; - samplerDesc.addressV = GXTEXTURE_ADDRESS_CLAMP; - samplerDesc.addressW = GXTEXTURE_ADDRESS_CLAMP; - samplerDesc.filter = GXFILTER_MIN_MAG_MIP_POINT; - pSamplerPointClamp = pDXDevice->createSamplerState(&samplerDesc); - - samplerDesc.filter = GXFILTER_MIN_MAG_MIP_LINEAR; - pSamplerLinearClamp = pDXDevice->createSamplerState(&samplerDesc); - - - //SGCore_LoadTexLoadTextures(); - - shader_id::vs::idSMDepthSkinPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_skin_pssm_direct.vs"); - shader_id::ps::idSMDepthSkinPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_skin_pssm_direct.ps"); - shader_id::kit::idSMDepthSkinPSSMDirect = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthSkinPSSMDirect, shader_id::ps::idSMDepthSkinPSSMDirect); - - shader_id::vs::idSMDepthGeomPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_geom_pssm_direct.vs"); - shader_id::ps::idSMDepthGeomPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_geom_pssm_direct.ps"); - shader_id::kit::idSMDepthGeomPSSMDirect = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthGeomPSSMDirect, shader_id::ps::idSMDepthGeomPSSMDirect); - - - shader_id::vs::idSMDepthGeomCube = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_geom_cube.vs"); - shader_id::ps::idSMDepthGeomCube = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_geom_cube.ps"); - shader_id::kit::idSMDepthGeomCube = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthGeomCube, shader_id::ps::idSMDepthGeomCube); - - shader_id::vs::idSMDepthSkinCube = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_skin_cube.vs"); - shader_id::ps::idSMDepthSkinCube = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_skin_cube.ps"); - shader_id::kit::idSMDepthSkinCube = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthSkinCube, shader_id::ps::idSMDepthSkinCube); - - - shader_id::vs::idSMDepthTreePSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_green_pssm_direct.vs", "sm_depth_tree_pssm_direct.vs"); - - GXMacro Defines_GRASS[] = { { "_GRASS_", "" }, { 0, 0 } }; - shader_id::vs::idSMDepthGrassPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_green_pssm_direct.vs", "sm_depth_grass_pssm_direct.vs", Defines_GRASS); - - shader_id::ps::idSMDepthGreenPSSMDirect = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_green_pssm_direct.ps"); - - - shader_id::kit::idSMDepthTreePSSMDirect = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthTreePSSMDirect, shader_id::ps::idSMDepthGreenPSSMDirect); - shader_id::kit::idSMDepthGrassPSSMDirect = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthGrassPSSMDirect, shader_id::ps::idSMDepthGreenPSSMDirect); - - - shader_id::vs::idSMDepthTreeCube = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_green_cube.vs", "sm_depth_tree_cube.vs"); - - shader_id::vs::idSMDepthGrassCube = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "sm_depth_green_cube.vs", "sm_depth_grass_cube.vs", Defines_GRASS); - - shader_id::ps::idSMDepthGreenCube = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "sm_depth_green_cube.ps"); - - shader_id::kit::idSMDepthGrassCube = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthGrassCube, shader_id::ps::idSMDepthGreenCube); - shader_id::kit::idSMDepthTreeCube = SGCore_ShaderCreateKit(shader_id::vs::idSMDepthTreeCube, shader_id::ps::idSMDepthGreenCube); - - - shader_id::vs::idResPosDepth = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "pp_res_pos.vs", "pp_quad_render_res_pos.vs"); - - shader_id::ps::idPSSM4 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_pssm.ps"); - shader_id::kit::idResPosDepthPSSM4 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idPSSM4); - - GXMacro Defines_SPLITS3[] = { { "SPLITS3", "" }, { 0, 0 } }; - shader_id::ps::idPSSM3 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_pssm.ps", "ppgensm_pssm3split.ps", Defines_SPLITS3); - shader_id::kit::idResPosDepthPSSM3 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idPSSM3); - - shader_id::ps::idGenShadowDirect4 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_direct.ps"); - shader_id::kit::idResPosDepthGenShadowDirect4 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idGenShadowDirect4); - GXMacro Defines_GSD_9[] = { { "GSD_9", "" }, { 0, 0 } }; - shader_id::ps::idGenShadowDirect9 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_direct.ps", "ppgensm_direct_9.ps", Defines_GSD_9); - shader_id::kit::idResPosDepthGenShadowDirect9 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idGenShadowDirect9); - - shader_id::ps::idGenShadowCube1 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_point.ps"); - shader_id::kit::idResPosDepthGenShadowCube1 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idGenShadowCube1); - GXMacro Defines_GSC_6[] = { { "GSC_6", "" }, { 0, 0 } }; - shader_id::ps::idGenShadowCube6 = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "ppgensm_point.ps", "ppgensm_point_6.ps", Defines_GSC_6); - shader_id::kit::idResPosDepthGenShadowCube6 = SGCore_ShaderCreateKit(shader_id::vs::idResPosDepth, shader_id::ps::idGenShadowCube6); - - shader_id::ps::idPPBlurDepthBased = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pp_blur_depth_based.ps"); - shader_id::ps::idPPBlurDepthBasedNoise = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pp_blur_depth_based_noise.ps"); - - shader_id::vs::idScreenOut = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "pp_quad_render.vs"); - shader_id::ps::idScreenOut = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "pp_quad_render.ps"); - - - shader_id::kit::idPPBlurDepthBasedNoise = SGCore_ShaderCreateKit(shader_id::vs::idScreenOut, shader_id::ps::idPPBlurDepthBasedNoise); - shader_id::kit::idPPBlurDepthBased = SGCore_ShaderCreateKit(shader_id::vs::idScreenOut, shader_id::ps::idPPBlurDepthBased); - - - shader_id::vs::idStdGeom = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "stdr_geom.vs"); - shader_id::ps::idStdGeom = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_geom.ps"); - - GXMacro Defines_CP[] = { { "_CLIP_PLANE_", "" }, { 0, 0 } }; - shader_id::ps::idStdGeomCP = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_geom.ps", "stdr_geom_cp.ps", Defines_CP); - - //D3DXMACRO Defines_GRASS[] = { { "_GRASS_", "" }, { 0, 0 } }; - shader_id::vs::idStdGrass = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "stdr_green.vs", "stdr_grass.vs", Defines_GRASS); - shader_id::vs::idStdTree = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "stdr_green.vs", "stdr_tree.vs"); - - shader_id::ps::idStdGreen = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_green.ps"); - shader_id::ps::idStdGreenCP = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_green.ps", "stdr_green_cp.ps", Defines_CP); - - shader_id::vs::idStdSkin = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "stdr_skin.vs"); - shader_id::ps::idStdSkin = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_skin.ps"); - - shader_id::ps::idStdSkinCP = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "stdr_skin.ps", "stdr_skin_cp.ps", Defines_CP); - - shader_id::vs::idLightBound = SGCore_ShaderLoad(SHADER_TYPE_VERTEX, "lighting_bound.vs"); - //shader_id::ps::idLightBound = SGCore_ShaderLoad(SHADER_TYPE_PIXEL, "lighting_bound.ps"); - //shader_id::kit::idLightBound = SGCore_ShaderCreateKit(shader_id::vs::idLightBound, shader_id::ps::idLightBound); - shader_id::kit::idLightBound = SGCore_ShaderCreateKit(shader_id::vs::idLightBound, -1); -} diff --git a/source/light/ml_data.h b/source/light/ml_data.h deleted file mode 100644 index da03ec697119c1526f7b9c8129ff8c86fc84cff6..0000000000000000000000000000000000000000 --- a/source/light/ml_data.h +++ /dev/null @@ -1,115 +0,0 @@ - -/*********************************************************** -Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018 -See the license in LICENSE -***********************************************************/ - -#ifndef __ML_DATA_H -#define __ML_DATA_H - -#include <gdefines.h> - -//#define SM_D3D_CONVERSIONS -#include <common/Math.h> -#include <common/array.h> - -#include <GRegisterIndex.h> - -#include "sxlight.h" - -namespace light_data -{ - void Init(); - - extern IGXDevice *pDXDevice; - - extern IGXSamplerState *pSamplerPointClamp; - extern IGXSamplerState *pSamplerLinearClamp; - extern IGXSamplerState *pSamplerPointWrap; - - namespace shader_id - { - namespace vs - { - extern ID idResPosDepth; - - extern ID idScreenOut; - - extern ID idSMDepthGeomPSSMDirect; - extern ID idSMDepthGeomCube; - - extern ID idSMDepthGrassPSSMDirect; - extern ID idSMDepthGrassCube; - - extern ID idSMDepthTreePSSMDirect; - extern ID idSMDepthTreeCube; - - extern ID idSMDepthSkinPSSMDirect; - extern ID idSMDepthSkinCube; - - extern ID idStdGeom; - extern ID idStdTree; - extern ID idStdGrass; - extern ID idStdSkin; - - extern ID idLightBound; - }; - - namespace ps - { - extern ID idSMDepthGeomPSSMDirect; - extern ID idSMDepthGeomCube; - - extern ID idSMDepthGreenPSSMDirect; - extern ID idSMDepthGreenCube; - - extern ID idSMDepthSkinPSSMDirect; - extern ID idSMDepthSkinCube; - - extern ID idPPBlurDepthBasedNoise; - extern ID idPSSM4; - extern ID idPSSM3; - extern ID idPPBlurDepthBased; - extern ID idGenShadowDirect4; - extern ID idGenShadowDirect9; - - extern ID idGenShadowCube1; - extern ID idGenShadowCube6; - - extern ID idScreenOut; - - extern ID idStdGeom; - extern ID idStdGeomCP; - extern ID idStdGreen; - extern ID idStdGreenCP; - extern ID idStdSkin; - extern ID idStdSkinCP; - - extern ID idLightBound; - }; - - namespace kit - { - extern ID idSMDepthGeomPSSMDirect; - extern ID idResPosDepthPSSM3; - extern ID idResPosDepthPSSM4; - extern ID idResPosDepthGenShadowDirect4; - extern ID idResPosDepthGenShadowDirect9; - extern ID idSMDepthGeomCube; - extern ID idResPosDepthGenShadowCube1; - extern ID idResPosDepthGenShadowCube6; - extern ID idSMDepthSkinPSSMDirect; - extern ID idSMDepthTreePSSMDirect; - extern ID idSMDepthGrassPSSMDirect; - extern ID idSMDepthGrassCube; - extern ID idSMDepthTreeCube; - extern ID idSMDepthSkinCube; - extern ID idPPBlurDepthBasedNoise; - extern ID idPPBlurDepthBased; - - extern ID idLightBound; - }; - }; -}; - -#endif \ No newline at end of file diff --git a/source/light/sxlight.cpp b/source/light/sxlight.cpp deleted file mode 100644 index 7702758873388ac4ee5f305a8e39730534c6a638..0000000000000000000000000000000000000000 --- a/source/light/sxlight.cpp +++ /dev/null @@ -1,48 +0,0 @@ - -/*********************************************************** -Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018 -See the license in LICENSE -***********************************************************/ - -#define SXMATERIAL_LIGTH_VERSION 1 - -#include "sxlight.h" -#include "ml_data.h" - -#include "light.h" - -//########################################################################## - -SX_LIB_API long SLight_0GetVersion() -{ - return SXMATERIAL_LIGTH_VERSION; -} - -SX_LIB_API void SLight_0Create(const char *szName, bool isUnic) -{ - if (szName && strlen(szName) > 1) - { - if (isUnic) - { - HANDLE hMutex = CreateMutex(NULL, FALSE, szName); - if (GetLastError() == ERROR_ALREADY_EXISTS) - { - CloseHandle(hMutex); - LibReport(REPORT_MSG_LEVEL_ERROR, "%s - none unic name", GEN_MSG_LOCATION); - return; - } - } - light_data::Init(); - } - else - { - LibReport(REPORT_MSG_LEVEL_ERROR, "%s - not init argument [name]", GEN_MSG_LOCATION); - } -} - -SX_LIB_API void SLight_AKill() -{ -} - - - diff --git a/source/light/sxlight.h b/source/light/sxlight.h deleted file mode 100644 index 233bbf251b2e2f7e76e9a8ad917db77ed5cfab1e..0000000000000000000000000000000000000000 --- a/source/light/sxlight.h +++ /dev/null @@ -1,63 +0,0 @@ - -/*********************************************************** -Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018 -See the license in LICENSE -***********************************************************/ - -/*! -\file -Заголовочный файл sxlight - библиотеки освещения -*/ - -/*! \defgroup sxlight sxlight - библиотека освещения -@{ -*/ - -#ifndef __SXLIGHT_H -#define __SXLIGHT_H - -#if defined(_DEBUG) -#pragma comment(lib, "sxgcore_d.lib") -#else -#pragma comment(lib, "sxgcore.lib") -#endif - -#if defined(_DEBUG) -#pragma comment(lib, "sxphysics_d.lib") -#else -#pragma comment(lib, "sxphysics.lib") -#endif - -#undef SX_LIB_API -#define SX_LIB_API extern "C" __declspec (dllimport) -#include <gcore/sxgcore.h> - -#include "IXLight.h" - -#ifdef SX_DLL -#undef SX_LIB_API -#define SX_LIB_API extern "C" __declspec (dllexport) -#endif - -#include <gdefines.h> - -/*! \name Базовые функции библиотеки -@{*/ - -//! версия подсистемы -SX_LIB_API long SLight_0GetVersion(); - -//! инициализция подсистемы -SX_LIB_API void SLight_0Create( - const char *szName, //!< присваиваемое имя - bool isUnic = true //!< должна ли подсистема быть уникальной по имени - ); - -//! уничтожить подсистему -SX_LIB_API void SLight_AKill(); - -//!@} - -#endif - -//!@} sxlight diff --git a/source/light/sxlight_dll.cpp b/source/light/sxlight_dll.cpp index 88b1ec58eac1f5e48ba53b6f764552b3f797850d..f4ad5b573106bf265846a0193057d8b859395cb4 100644 --- a/source/light/sxlight_dll.cpp +++ b/source/light/sxlight_dll.cpp @@ -1,11 +1,24 @@ /*********************************************************** -Copyright � Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018 +Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018 See the license in LICENSE ***********************************************************/ #include <windows.h> +//! @todo remove this references +#if defined(_DEBUG) +#pragma comment(lib, "sxgcore_d.lib") +#else +#pragma comment(lib, "sxgcore.lib") +#endif + +#if defined(_DEBUG) +#pragma comment(lib, "sxphysics_d.lib") +#else +#pragma comment(lib, "sxphysics.lib") +#endif + BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved