From 3dd3cc5497eed0de0bac29b106b047ac94bf3e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Marcos=20Mororo=20Costa?= <43460229+mororo250@users.noreply.github.com> Date: Thu, 25 Jun 2020 23:22:27 -0300 Subject: [PATCH] Add sun positioner. --- scripts/impl-make-all-packages-for-config.bat | 2 + .../appleseed-max2021-common.vcxproj | 2 +- .../appleseed-max2021-impl.vcxproj | 8 +- .../appleseed-max2021-impl.vcxproj.filters | 15 ++ .../appleseedenvmap/appleseedenvmap.cpp | 188 +++++++++++++++--- .../appleseedenvmap/appleseedenvmap.h | 45 +++-- .../appleseedenvmap/appleseedenvmap.rc | 26 ++- .../appleseedenvmap/resource.h | 5 + .../appleseedmetalmtl/appleseedmetalmtl.rc | 2 +- .../appleseedrenderelement.rc | Bin 6168 -> 6070 bytes .../appleseedrenderelement/resource.h | 2 +- .../appleseedsunpositioner.cpp | 64 ++++++ .../appleseedsunpositioner.h | 68 +++++++ .../appleseedsunpositioner.rc | 167 ++++++++++++++++ .../applessedsunpositioner/resource.h | 48 +++++ src/appleseed-max-impl/bump/bump.rc | 2 - src/appleseed-max-impl/bump/resource.h | 48 ++--- src/appleseed-max-release.props | 4 +- src/appleseed-max/appleseed-max2021.vcxproj | 4 +- 19 files changed, 613 insertions(+), 87 deletions(-) create mode 100644 src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.cpp create mode 100644 src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.h create mode 100644 src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.rc create mode 100644 src/appleseed-max-impl/applessedsunpositioner/resource.h diff --git a/scripts/impl-make-all-packages-for-config.bat b/scripts/impl-make-all-packages-for-config.bat index 2e3a875..ae92b77 100644 --- a/scripts/impl-make-all-packages-for-config.bat +++ b/scripts/impl-make-all-packages-for-config.bat @@ -35,6 +35,8 @@ call impl-make-single-package.bat %config% 2017 call impl-make-single-package.bat %config% 2018 call impl-make-single-package.bat %config% 2019 call impl-make-single-package.bat %config% 2020 +call impl-make-single-package.bat %config% 2021 + popd diff --git a/src/appleseed-max-common/appleseed-max2021-common.vcxproj b/src/appleseed-max-common/appleseed-max2021-common.vcxproj index 36ffcd5..f9005af 100644 --- a/src/appleseed-max-common/appleseed-max2021-common.vcxproj +++ b/src/appleseed-max-common/appleseed-max2021-common.vcxproj @@ -101,7 +101,7 @@ _LIB;%(PreprocessorDefinitions) true - $(SolutionDir)..\..\windows-deps\stage\vc141\ilmbase-release\include;$(SolutionDir)..\..\windows-deps\stage\vc141\openexr-release\include;$(SolutionDir)..\..\windows-deps\stage\vc141\oiio-release\include;$(SolutionDir)..\..\windows-deps\stage\vc141\osl-release\include;$(SolutionDir)..\..\windows-deps\stage\vc141\SeExpr-release\include;C:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\include;%(AdditionalIncludeDirectories) + $(SolutionDir)..\..\appleseed-dep\stage\vc141\ilmbase-release\include;$(SolutionDir)..\..\appleseed-dep\stage\vc141\openexr-release\include;$(SolutionDir)..\..\appleseed-dep\stage\vc141\oiio-release\include;$(SolutionDir)..\..\appleseed-dep\stage\vc141\osl-release\include;$(SolutionDir)..\..\appleseed-dep\stage\vc141\SeExpr-release\include;F:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\include;%(AdditionalIncludeDirectories) Windows diff --git a/src/appleseed-max-impl/appleseed-max2021-impl.vcxproj b/src/appleseed-max-impl/appleseed-max2021-impl.vcxproj index 6c78bad..db66708 100644 --- a/src/appleseed-max-impl/appleseed-max2021-impl.vcxproj +++ b/src/appleseed-max-impl/appleseed-max2021-impl.vcxproj @@ -119,10 +119,10 @@ copy /Y "$(SolutionDir)..\..\appleseed\sandbox\shaders\appleseed\*.oso" "$(Solut - $(SolutionDir)..\..\windows-deps\stage\vc141\ilmbase-release\include;$(SolutionDir)..\..\windows-deps\stage\vc141\openexr-release\include;$(SolutionDir)..\..\windows-deps\stage\vc141\oiio-release\include;$(SolutionDir)..\..\windows-deps\stage\vc141\osl-release\include;C:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\include;%(AdditionalIncludeDirectories) + $(SolutionDir)..\..\appleseed-dep\stage\vc141\ilmbase-release\include;$(SolutionDir)..\..\appleseed-dep\stage\vc141\openexr-release\include;$(SolutionDir)..\..\appleseed-dep\stage\vc141\oiio-release\include;$(SolutionDir)..\..\appleseed-dep\stage\vc141\osl-release\include;F:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\include;%(AdditionalIncludeDirectories) - C:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\lib\x64\Release;$(SolutionDir)..\..\appleseed\sandbox\lib\vc141\$(ConfigurationName);$(SolutionDir)..\..\windows-deps\stage\vc141;%(AdditionalLibraryDirectories) + F:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\lib\x64\Release;$(SolutionDir)..\..\appleseed\sandbox\lib\vc141\$(ConfigurationName);$(SolutionDir)..\..\appleseed-dep\stage\vc141;%(AdditionalLibraryDirectories) @@ -228,6 +228,7 @@ copy /Y "$(SolutionDir)..\..\appleseed\sandbox\shaders\appleseed\*.oso" "$(Solut + @@ -279,6 +280,8 @@ copy /Y "$(SolutionDir)..\..\appleseed\sandbox\shaders\appleseed\*.oso" "$(Solut + + @@ -321,6 +324,7 @@ copy /Y "$(SolutionDir)..\..\appleseed\sandbox\shaders\appleseed\*.oso" "$(Solut + diff --git a/src/appleseed-max-impl/appleseed-max2021-impl.vcxproj.filters b/src/appleseed-max-impl/appleseed-max2021-impl.vcxproj.filters index 6ff1e49..db8b8e1 100644 --- a/src/appleseed-max-impl/appleseed-max2021-impl.vcxproj.filters +++ b/src/appleseed-max-impl/appleseed-max2021-impl.vcxproj.filters @@ -101,6 +101,9 @@ appleseedvolumemtl + + applessedsunpositioner + @@ -281,6 +284,12 @@ appleseedvolumemtl + + applessedsunpositioner + + + applessedsunpositioner + @@ -325,6 +334,9 @@ appleseedvolumemtl + + applessedsunpositioner + @@ -375,6 +387,9 @@ {d40f57d8-69cf-46e7-9c2b-34744338b501} + + {2213b6f2-cd5f-4448-ac4f-8265acabf09c} + diff --git a/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.cpp b/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.cpp index 0284d77..d5fcb6e 100644 --- a/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.cpp +++ b/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.cpp @@ -33,10 +33,14 @@ #include "appleseedenvmap/datachunks.h" #include "appleseedenvmap/resource.h" #include "appleseedrenderer/appleseedrenderer.h" +#include "applessedsunpositioner/resource.h" #include "main.h" #include "utilities.h" #include "version.h" +// appleseed.renderer headers. +#include "renderer/utility/solarpositionalgorithm.h" + namespace asf = foundation; namespace asr = renderer; @@ -57,6 +61,12 @@ namespace { enum { ParamBlockIdEnvMap }; enum { ParamBlockRefEnvMap }; + + enum ParamMapId + { + ParamMapIdSky, + ParamMapIdSunPositioner + }; enum ParamId { @@ -73,7 +83,18 @@ namespace ParamIdGroundAlbedo = 11, ParamIdSunNode = 12, ParamIdSunNodeOn = 13, - ParamIdSunSizeMultiplier = 14 + ParamIdSunSizeMultiplier = 14, + ParamIdHour = 15, + ParamIdMinute = 16, + ParamIdSecond = 17, + ParamIdMonth = 18, + ParamIdDay = 19, + ParamIdYear = 20, + ParamIdTimezone = 21, + ParamIdNorth = 22, + ParamIdLatitude = 23, + ParamIdLongitude = 24, + ParamIdSunPosSystem = 25 }; enum TexmapId @@ -98,39 +119,52 @@ namespace L"appleseedEnvironmentMapParams", // internal parameter block's name 0, // ID of the localized name string &g_appleseed_envmap_classdesc, // class descriptor - P_AUTO_CONSTRUCT + P_AUTO_UI, // block flags + P_AUTO_CONSTRUCT + P_MULTIMAP + P_AUTO_UI, // block flags - // --- P_AUTO_CONSTRUCT arguments --- + // --- P_AUTO_CONSTRUCT arguments --- ParamBlockRefEnvMap, // parameter block's reference number + // --- P_MULTIMAP arguments --- + 2, // number of rollups + // --- P_AUTO_UI arguments for Parameters rollup --- + ParamMapIdSky, IDD_ENVMAP_PANEL, // ID of the dialog template IDS_ENVMAP_PARAMS, // ID of the dialog's title string 0, // IParamMap2 creation/deletion flag mask 0, // rollup creation flag nullptr, + // --- P_AUTO_UI arguments for Sun Positioner rollup --- + ParamMapIdSunPositioner, + IDD_FORMVIEW_SUNPOSITIONER_PARAMS, // ID of the dialog template + IDS_FORMVIEW_SUNPOSITIONER_PARAMS_TITLE, // ID of the dialog's title string + 0, // IParamMap2 creation/deletion flag mask + 0, // rollup creation flag + nullptr, + // --- Parameters specifications for Parameters rollup --- + ParamIdSunTheta, L"sun_theta", TYPE_FLOAT, P_ANIMATABLE, IDS_THETA, p_default, 45.0f, p_range, 0.0f, 180.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_THETA, IDC_SPIN_THETA, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_THETA, IDC_SPIN_THETA, 0.01f, p_end, ParamIdSunPhi, L"sun_phi", TYPE_FLOAT, P_ANIMATABLE, IDS_PHI, p_default, 0.0f, p_range, 0.0f, 360.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_PHI, IDC_SPIN_PHI, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_PHI, IDC_SPIN_PHI, 0.01f, p_end, ParamIdSunSizeMultiplier, L"sun_size_multiplier", TYPE_FLOAT, P_ANIMATABLE, IDS_SIZE_MULTIPLIER, p_default, 1.0f, p_range, 0.0f, 1000.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_SIZE_MULTIPLIER, IDC_SPIN_SIZE_MULTIPLIER, 0.1f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_SIZE_MULTIPLIER, IDC_SPIN_SIZE_MULTIPLIER, 0.1f, p_end, ParamIdSunNode, L"sun_node", TYPE_INODE, P_NO_AUTO_LABELS, IDS_SUN_NODE, - p_ui, TYPE_PICKNODEBUTTON, IDC_PICK_SUN_NODE, + p_ui, ParamMapIdSky, TYPE_PICKNODEBUTTON, IDC_PICK_SUN_NODE, p_prompt, IDS_PICK_SUN_PROMPT, p_validator, &g_sun_node_validator, p_accessor, &g_sun_node_accessor, @@ -138,60 +172,127 @@ namespace ParamIdSunNodeOn, L"sun_node_on", TYPE_BOOL, 0, IDS_SUN_NODE_ON, p_default, TRUE, - p_ui, TYPE_SINGLECHEKBOX, IDC_SUN_NODE_ON, + p_ui, ParamMapIdSky, TYPE_SINGLECHEKBOX, IDC_SUN_NODE_ON, p_accessor, &g_sun_node_accessor, p_end, ParamIdTurbidity, L"turbidity", TYPE_FLOAT, P_ANIMATABLE, IDS_TURBIDITY, p_default, 1.0f, p_range, 0.0f, 1.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_TURBIDITY, IDC_SPIN_TURBIDITY, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_TURBIDITY, IDC_SPIN_TURBIDITY, 0.01f, p_end, ParamIdTurbidityMap, L"turbidity_map", TYPE_TEXMAP, 0, IDS_TURB_MAP, p_subtexno, TexmapIdTurbidity, - p_ui, TYPE_TEXMAPBUTTON, IDC_PICK_TURB_TEXTURE, + p_ui, ParamMapIdSky, TYPE_TEXMAPBUTTON, IDC_PICK_TURB_TEXTURE, p_end, ParamIdTurbidityMapOn, L"turbidity_map_on", TYPE_BOOL, 0, IDS_TURB_MAP_ON, p_default, TRUE, - p_ui, TYPE_SINGLECHEKBOX, IDC_TURB_TEX_ON, + p_ui, ParamMapIdSky, TYPE_SINGLECHEKBOX, IDC_TURB_TEX_ON, p_end, ParamIdTurbMultiplier, L"turbidity_multiplier", TYPE_FLOAT, P_ANIMATABLE, IDS_TURB_MULTIPLIER, p_default, 2.0f, p_range, 0.0f, 8.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_TURB_MULTIPLIER, IDC_SPIN_TURB_MULTIPLIER, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_TURB_MULTIPLIER, IDC_SPIN_TURB_MULTIPLIER, 0.01f, p_end, ParamIdLuminMultiplier, L"luminance_multiplier", TYPE_FLOAT, P_ANIMATABLE, IDS_LUMINANCE_MULTIPLIER, p_default, 1.0f, p_range, 0.0f, 10.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_LUMIN_MULTIPLIER, IDC_SPIN_LUMIN_MULTIPLIER, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_LUMIN_MULTIPLIER, IDC_SPIN_LUMIN_MULTIPLIER, 0.01f, p_end, ParamIdLuminGamma, L"luminance_gamma", TYPE_FLOAT, P_ANIMATABLE, IDS_LUMINANCE_GAMMA, p_default, 1.0f, p_range, 0.0f, 3.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_LUMIN_GAMMA, IDC_SPIN_LUMIN_GAMMA, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_LUMIN_GAMMA, IDC_SPIN_LUMIN_GAMMA, 0.01f, p_end, ParamIdSatMultiplier, L"saturation_multiplier", TYPE_FLOAT, P_ANIMATABLE, IDS_SAT_MULITPLIER, p_default, 1.0f, p_range, 0.0f, 10.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_SATUR_MULTIPLIER, IDC_SPIN_SATUR_MULTIPLIER, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_SATUR_MULTIPLIER, IDC_SPIN_SATUR_MULTIPLIER, 0.01f, p_end, ParamIdHorizonShift, L"horizon_shift", TYPE_FLOAT, P_ANIMATABLE, IDS_HORIZON_SHIFT, p_default, 0.0f, p_range, -10.0f, 10.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_HORIZON_SHIFT, IDC_SPIN_HORIZON_SHIFT, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_HORIZON_SHIFT, IDC_SPIN_HORIZON_SHIFT, 0.01f, p_end, ParamIdGroundAlbedo, L"ground_albedo", TYPE_FLOAT, P_ANIMATABLE, IDS_GROUND_ALBEDO, p_default, 0.3f, p_range, 0.0f, 1.0f, - p_ui, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_GROUND_ALBEDO, IDC_SPIN_GROUND_ALBEDO, 0.01f, + p_ui, ParamMapIdSky, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_GROUND_ALBEDO, IDC_SPIN_GROUND_ALBEDO, 0.01f, + p_end, + + ParamIdSunPosSystem, L"sun_pos_sytem", TYPE_INT, 0, IDS_SUN_POS_SYSTEM, + p_ui, ParamMapIdSky, TYPE_INT_COMBOBOX, IDC_COMBO_SUN_POS_SYSTEM, + 2, IDS_SUN_POS_SYSTEM_ANALYTICAL, IDS_SUN_POS_SYSTEM_TIME_LOC, + p_vals, 0, 1, + p_default, 0, + p_end, + + ParamIdHour, L"hour", TYPE_INT, P_ANIMATABLE, IDS_HOUR, + p_default, 12, + p_range, 0, 24, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_INT, IDC_EDIT_HOUR, IDC_SPIN_HOUR, 1, + p_end, + + ParamIdMinute, L"minute", TYPE_INT, P_ANIMATABLE, IDS_MINUTE, + p_default, 0, + p_range, 0, 59, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_INT, IDC_EDIT_MINUTE, IDC_SPIN_MINUTE, 1, + p_end, + + ParamIdSecond, L"second", TYPE_INT, P_ANIMATABLE, IDS_SECOND, + p_default, 0, + p_range, 0, 59, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_INT, IDC_EDIT_SECOND, IDC_SPIN_SECOND, 1, + p_end, + + ParamIdMonth, L"month", TYPE_INT, P_ANIMATABLE, IDS_MONTH, + p_default, 1, + p_range, 0, 12, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_INT, IDC_EDIT_MONTH, IDC_SPIN_MONTH, 1, + p_end, + + ParamIdDay, L"day", TYPE_INT, P_ANIMATABLE, IDS_DAY, + p_default, 1, + p_range, 1, 31, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_INT, IDC_EDIT_DAY, IDC_SPIN_DAY, 1, + p_end, + + ParamIdYear, L"year", TYPE_INT, P_ANIMATABLE, IDS_YEAR, + p_default, 2020, + p_range, -2000, 4000, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_INT, IDC_EDIT_YEAR, IDC_SPIN_YEAR, 1, + p_end, + + ParamIdTimezone, L"timezone", TYPE_INT, P_ANIMATABLE, IDS_TIMEZONE, + p_default, 0, + p_range, -18, 18, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_INT, IDC_EDIT_TIMEZONE, IDC_SPIN_TIMEZONE, 1, + p_end, + + ParamIdNorth, L"north", TYPE_FLOAT, P_ANIMATABLE, IDS_NORTH, + p_default, 0, + p_range, -180, 180, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_NORTH, IDC_SPIN_NORTH, 0.2f, + p_end, + + ParamIdLatitude, L"latitude", TYPE_FLOAT, P_ANIMATABLE, IDS_LATITUDE, + p_default, 0, + p_range, -90, 90, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_LATITUDE, IDC_SPIN_LATITUDE, 0.2F, + p_end, + + ParamIdLongitude, L"longitude", TYPE_FLOAT, P_ANIMATABLE, IDS_LONGITUDE, + p_default, 0, + p_range, -180, 180, + p_ui, ParamMapIdSunPositioner, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_EDIT_LONGITUDE, IDC_SPIN_LONGITUDE, 1, p_end, p_end @@ -218,6 +319,7 @@ AppleseedEnvMap::AppleseedEnvMap() , m_sat_multiplier(1.0f) , m_horizon_shift(0.0f) , m_ground_albedo(0.3f) + , m_sun_positioning_system(Analytical) { g_appleseed_envmap_classdesc.MakeAutoParamBlocks(this); Reset(); @@ -387,9 +489,8 @@ void AppleseedEnvMap::Update(TimeValue t, Interval& valid) NotifyDependents(FOREVER, PART_ALL, REFMSG_CHANGE); } m_params_validity.SetInfinite(); + //int test = m_sun_positioning_system; - m_pblock->GetValue(ParamIdSunTheta, t, m_sun_theta, m_params_validity); - m_pblock->GetValue(ParamIdSunPhi, t, m_sun_phi, m_params_validity); m_pblock->GetValue(ParamIdSunSizeMultiplier, t, m_sun_size_multiplier, m_params_validity); m_pblock->GetValue(ParamIdSunNode, t, m_sun_node, m_params_validity); m_pblock->GetValue(ParamIdSunNodeOn, t, m_sun_node_on, m_params_validity); @@ -404,10 +505,27 @@ void AppleseedEnvMap::Update(TimeValue t, Interval& valid) m_pblock->GetValue(ParamIdSatMultiplier, t, m_sat_multiplier, m_params_validity); m_pblock->GetValue(ParamIdHorizonShift, t, m_horizon_shift, m_params_validity); m_pblock->GetValue(ParamIdGroundAlbedo, t, m_ground_albedo, m_params_validity); - + m_pblock->GetValue(ParamIdSunPosSystem, t, m_sun_positioning_system, m_params_validity); + if (m_turbidity_map) m_turbidity_map->Update(t, m_params_validity); + if (m_sun_positioning_system == Analytical) + { + m_pblock->GetValue(ParamIdSunTheta, t, m_sun_theta, m_params_validity); + m_pblock->GetValue(ParamIdSunPhi, t, m_sun_phi, m_params_validity); + } + else + { + m_sun_positioner.update(m_pblock, t, m_params_validity); + + m_sun_theta = m_sun_positioner.get_theta(); + m_sun_phi = m_sun_positioner.get_phi(); + + m_pblock->SetValue(ParamIdSunTheta, t, m_sun_theta); + m_pblock->SetValue(ParamIdSunPhi, t, m_sun_phi); + } + valid = m_params_validity; } @@ -445,16 +563,32 @@ namespace switch (umsg) { case WM_INITDIALOG: - enable_disable_controls(hwnd, map); + enable_disable_controls(hwnd, map, t); return TRUE; + case WM_COMMAND: + switch (LOWORD(wparam)) + { + case IDC_COMBO_SUN_POS_SYSTEM: + switch (HIWORD(wparam)) + { + case CBN_SELCHANGE: + enable_disable_controls(hwnd, map, t); + return TRUE; + + default: + return FALSE; + } + default: + return FALSE; + } default: return FALSE; } } private: - void enable_disable_controls(HWND hwnd, IParamMap2* map) + void enable_disable_controls(HWND hwnd, IParamMap2* map, TimeValue t) { INode* sun_node; int sun_node_on; @@ -463,6 +597,11 @@ namespace { pblock->GetValue(ParamIdSunNode, 0, sun_node, FOREVER); pblock->GetValue(ParamIdSunNodeOn, 0, sun_node_on, FOREVER); + + SunPositioningSystem sun_pos; + pblock->GetValue(ParamIdSunPosSystem, t, sun_pos, FOREVER); + EnableWindow(GetDlgItem(hwnd, IDC_EDIT_HOUR), sun_pos == TimeLocation); + EnableWindow(GetDlgItem(hwnd, IDC_EDIT_HOUR), sun_pos == TimeLocation); } map->Enable(ParamIdSunTheta, (sun_node_on && sun_node) ? FALSE : TRUE); map->Enable(ParamIdSunPhi, (sun_node_on && sun_node) ? FALSE : TRUE); @@ -630,7 +769,8 @@ void SunNodePBAccessor::TabChanged( IParamBlock2* pblock = p->GetParamBlock(0); if (pblock) { - IParamMap2* map = pblock->GetMap(); + IParamMap2* map = pblock->GetMap(ParamMapIdSky + ); if (map) { map->Enable(ParamIdSunTheta, TRUE); @@ -653,7 +793,7 @@ void SunNodePBAccessor::Set( if (pblock == nullptr) return; - IParamMap2* map = pblock->GetMap(); + IParamMap2* map = pblock->GetMap(ParamMapIdSky); if (map == nullptr) return; diff --git a/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.h b/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.h index 169a44f..5acc792 100644 --- a/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.h +++ b/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.h @@ -48,11 +48,20 @@ #include #include #include "appleseed-max-common/_endmaxheaders.h" +#include "applessedsunpositioner/appleseedsunpositioner.h" + +typedef int SunPositioningSystem; +enum +{ + Analytical = 0, + TimeLocation +}; class AppleseedEnvMap : public Texmap { public: + static Class_ID get_class_id(); // Constructor. @@ -109,22 +118,26 @@ class AppleseedEnvMap void SetReference(int i, RefTargetHandle rtarg) override; private: - IParamBlock2* m_pblock; // ref 0 - float m_sun_theta; - float m_sun_phi; - float m_sun_size_multiplier; - INode* m_sun_node; - BOOL m_sun_node_on; - Interval m_params_validity; - float m_turbidity; - Texmap* m_turbidity_map; - BOOL m_turbidity_map_on; - float m_turb_multiplier; - float m_lumin_multiplier; - float m_lumin_gamma; - float m_sat_multiplier; - float m_horizon_shift; - float m_ground_albedo; + + IParamBlock2* m_pblock; // ref 0 + float m_sun_theta; + float m_sun_phi; + float m_sun_size_multiplier; + INode* m_sun_node; + BOOL m_sun_node_on; + Interval m_params_validity; + float m_turbidity; + Texmap* m_turbidity_map; + BOOL m_turbidity_map_on; + float m_turb_multiplier; + float m_lumin_multiplier; + float m_lumin_gamma; + float m_sat_multiplier; + float m_horizon_shift; + float m_ground_albedo; + SunPositioningSystem m_sun_positioning_system; + SunPositionerWrapper m_sun_positioner; + }; diff --git a/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.rc b/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.rc index a735a03..5a12efc 100644 --- a/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.rc +++ b/src/appleseed-max-impl/appleseedenvmap/appleseedenvmap.rc @@ -25,11 +25,11 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // Dialog // -IDD_ENVMAP_PANEL DIALOGEX 0, 0, 217, 171 +IDD_ENVMAP_PANEL DIALOGEX 0, 0, 230, 195 STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "Sun",IDC_STATIC,7,3,203,49 + GROUPBOX "Sun",IDC_STATIC,7,3,216,49 LTEXT "Vertical Angle:",IDC_STATIC,13,14,67,8 CONTROL "Vertical Angle Edit",IDC_EDIT_THETA,"CustEdit",WS_TABSTOP,82,12,30,10 CONTROL "Vertical Angle Spinner",IDC_SPIN_THETA,"SpinnerControl",0x0,113,12,7,10 @@ -41,7 +41,7 @@ BEGIN CONTROL "Size Multiplier Spinner",IDC_SPIN_SIZE_MULTIPLIER, "SpinnerControl",0x0,113,36,7,10 CONTROL "Pick Directional Light",IDC_PICK_SUN_NODE,"CustButton",WS_TABSTOP,124,12,71,10 - GROUPBOX "Sky",IDC_STATIC,7,55,203,76 + GROUPBOX "Sky",IDC_STATIC,7,55,216,76 LTEXT "Turbidity:",IDC_STATIC,13,66,67,8 CONTROL "Turbidity Edit",IDC_EDIT_TURBIDITY,"CustEdit",WS_TABSTOP,82,64,30,10 CONTROL "Turbidity Spinner",IDC_SPIN_TURBIDITY,"SpinnerControl",0x0,113,64,7,10 @@ -66,7 +66,7 @@ BEGIN "CustEdit",WS_TABSTOP,82,116,30,10 CONTROL "Saturation Multiplier Spinner",IDC_SPIN_SATUR_MULTIPLIER, "SpinnerControl",0x0,113,116,7,10 - GROUPBOX "Ground",IDC_STATIC,7,132,203,36 + GROUPBOX "Ground",IDC_STATIC,7,131,216,39 LTEXT "Horizon Shift:",IDC_STATIC,13,143,67,8 CONTROL "Horizon Shift Edit",IDC_EDIT_HORIZON_SHIFT,"CustEdit",WS_TABSTOP,82,142,30,10 CONTROL "Horizon Shift Spinner",IDC_SPIN_HORIZON_SHIFT, @@ -75,6 +75,8 @@ BEGIN CONTROL "Ground Albedo Edit",IDC_EDIT_GROUND_ALBEDO,"CustEdit",WS_TABSTOP,82,154,30,10 CONTROL "Ground Albedo Spinner",IDC_SPIN_GROUND_ALBEDO, "SpinnerControl",0x0,113,154,7,10 + LTEXT "Sun Positioner:",IDC_LABEL_SUN_POS_SYSTEM,13,174,53,8 + COMBOBOX IDC_COMBO_SUN_POS_SYSTEM,82,173,113,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Sun Node On",IDC_SUN_NODE_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,198,13,8,10 END @@ -90,10 +92,11 @@ BEGIN IDD_ENVMAP_PANEL, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 210 + RIGHTMARGIN, 223 VERTGUIDE, 124 VERTGUIDE, 195 TOPMARGIN, 7 + BOTTOMMARGIN, 190 HORZGUIDE, 12 END END @@ -160,11 +163,14 @@ END STRINGTABLE BEGIN - IDS_SAT_MULITPLIER "Saturation Multiplier" - IDS_HORIZON_SHIFT "Horizon Shift" - IDS_GROUND_ALBEDO "Ground Albedo" - IDS_SUN_NODE_ON "Sun Node On" - IDS_SIZE_MULTIPLIER "Sun Size Multiplier" + IDS_SAT_MULITPLIER "Saturation Multiplier" + IDS_HORIZON_SHIFT "Horizon Shift" + IDS_GROUND_ALBEDO "Ground Albedo" + IDS_SUN_NODE_ON "Sun Node On" + IDS_SIZE_MULTIPLIER "Sun Size Multiplier" + IDS_SUN_POS_SYSTEM "Sun Positioner System" + IDS_SUN_POS_SYSTEM_ANALYTICAL "Analytical" + IDS_SUN_POS_SYSTEM_TIME_LOC "Date, Time and Location" END #endif // English (United States) resources diff --git a/src/appleseed-max-impl/appleseedenvmap/resource.h b/src/appleseed-max-impl/appleseedenvmap/resource.h index ee90f95..163146f 100644 --- a/src/appleseed-max-impl/appleseedenvmap/resource.h +++ b/src/appleseed-max-impl/appleseedenvmap/resource.h @@ -26,6 +26,9 @@ #define IDC_TURB_TEX_ON 8026 #define IDC_SUN_NODE_ON 8027 #define IDD_ENVMAP_PANEL 8101 +#define IDS_SUN_POS_SYSTEM 8131 +#define IDS_SUN_POS_SYSTEM_ANALYTICAL 8132 +#define IDS_SUN_POS_SYSTEM_TIME_LOC 8133 #define IDC_COLOR 8456 #define IDC_EDIT_THETA 8490 #define IDC_EDIT_PHI 8491 @@ -47,6 +50,8 @@ #define IDC_SPIN_GROUND_ALBEDO 8507 #define IDC_EDIT_SIZE_MULTIPLIER 8508 #define IDC_SPIN_SIZE_MULTIPLIER 8509 +#define IDC_COMBO_SUN_POS_SYSTEM 8530 +#define IDC_LABEL_SUN_POS_SYSTEM 8531 // Next default values for new objects // diff --git a/src/appleseed-max-impl/appleseedmetalmtl/appleseedmetalmtl.rc b/src/appleseed-max-impl/appleseedmetalmtl/appleseedmetalmtl.rc index f6c8528..8c1cc63 100644 --- a/src/appleseed-max-impl/appleseedmetalmtl/appleseedmetalmtl.rc +++ b/src/appleseed-max-impl/appleseedmetalmtl/appleseedmetalmtl.rc @@ -50,7 +50,7 @@ END // Dialog // -IDD_FORMVIEW_PARAMS DIALOGEX 0, 0, 217, 80 +IDD_FORMVIEW_PARAMS DIALOGEX 0, 0, 217, 79 STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN diff --git a/src/appleseed-max-impl/appleseedrenderelement/appleseedrenderelement.rc b/src/appleseed-max-impl/appleseedrenderelement/appleseedrenderelement.rc index 6bc8e5ce9beb6d8c0b5e6b022dffa7f54ea26219..cde92a5f1df8c175385f3ba61b57577ed1edcf07 100644 GIT binary patch delta 37 tcmbPXuuXqM4*%u_{9eqHKL|xl4ifg8yh1o^GMh-)7JJ!=S)m1cIBx`Qw?H6&MsIZx)K3 iB*HOSK-dpN#R-Q&cr2552nT_fTp~U|YIB%K0y6-r+7&ba diff --git a/src/appleseed-max-impl/appleseedrenderelement/resource.h b/src/appleseed-max-impl/appleseedrenderelement/resource.h index a01167d..beee165 100644 --- a/src/appleseed-max-impl/appleseedrenderelement/resource.h +++ b/src/appleseed-max-impl/appleseedrenderelement/resource.h @@ -15,7 +15,7 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 104 +#define _APS_NEXT_RESOURCE_VALUE 106 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1006 #define _APS_NEXT_SYMED_VALUE 101 diff --git a/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.cpp b/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.cpp new file mode 100644 index 0000000..750ff59 --- /dev/null +++ b/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.cpp @@ -0,0 +1,64 @@ +#include "appleseedsunpositioner.h" + +#include "appleseedenvmap/appleseedenvmap.h" + +SunPositionerWrapper::SunPositionerWrapper() +: m_sun_positioner(nullptr) +, m_hour(12) +, m_minute(0) +, m_second(0) +, m_month(1) +, m_day(1) +, m_year(2020) +, m_timezone(0) +, m_north(0.0f) +, m_latitude(0.0f) +, m_longitude(0.0f) +{ +} + +SunPositionerWrapper::~SunPositionerWrapper() +{ +} + +float SunPositionerWrapper::get_phi() const +{ + return m_sun_positioner->get_azimuth(); +} + +float SunPositionerWrapper::get_theta() const +{ + return m_sun_positioner->get_zenith(); +} + +void SunPositionerWrapper::update(IParamBlock2* const pblock, TimeValue& t, Interval& params_validity) +{ + pblock->GetValueByName(L"hour", t, m_hour, params_validity); + pblock->GetValueByName(L"minute", t, m_minute, params_validity); + pblock->GetValueByName(L"second", t, m_second, params_validity); + pblock->GetValueByName(L"month", t, m_month, params_validity); + pblock->GetValueByName(L"day", t, m_day, params_validity); + pblock->GetValueByName(L"year", t, m_year, params_validity); + pblock->GetValueByName(L"timezone", t, m_timezone, params_validity); + pblock->GetValueByName(L"north", t, m_north, params_validity); + pblock->GetValueByName(L"latitude", t, m_latitude, params_validity); + pblock->GetValueByName(L"longitude", t, m_longitude, params_validity); + + renderer::ParamArray param; + + param.insert("hour", m_hour); + param.insert("minute", m_minute); + param.insert("second", m_second); + param.insert("month", m_month); + param.insert("day", m_day); + param.insert("year", m_year); + param.insert("timezone", m_timezone); + param.insert("north", m_north); + param.insert("latitude", m_latitude); + param.insert("longitude", m_longitude); + + m_sun_positioner = renderer::SunPositionerFactory::create("Sun Positioner", param); + + m_sun_positioner->fetch_data(); + m_sun_positioner->compute_sun_position(); +} diff --git a/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.h b/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.h new file mode 100644 index 0000000..b6d99b2 --- /dev/null +++ b/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.h @@ -0,0 +1,68 @@ +#pragma once + + +// +// This source file is part of appleseed. +// Visit https://appleseedhq.net/ for additional information and resources. +// +// This software is released under the MIT license. +// +// Copyright (c) 2020 Joćo Marcos Costa, The appleseedhq Organization +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// + +#pragma once + +// appleseed-max headers. +#include "resource.h" +#include "renderer/utility/solarpositionalgorithm.h" + + +// 3ds Max headers. +#include "appleseed-max-common/_beginmaxheaders.h" +#include +#include "appleseed-max-common/_endmaxheaders.h" + + +class SunPositionerWrapper +{ +public: + SunPositionerWrapper(); + ~SunPositionerWrapper(); + + void update(IParamBlock2* const pblock, TimeValue& t, Interval& params_validity); + + float get_phi() const; + float get_theta() const; + +private: + + foundation::auto_release_ptr m_sun_positioner; + int m_hour; + int m_minute; + int m_second; + int m_month; + int m_day; + int m_year; + int m_timezone; + float m_north; + float m_latitude; + float m_longitude; + }; \ No newline at end of file diff --git a/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.rc b/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.rc new file mode 100644 index 0000000..9088586 --- /dev/null +++ b/src/appleseed-max-impl/applessedsunpositioner/appleseedsunpositioner.rc @@ -0,0 +1,167 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "windows.h" +#define IDC_STATIC -1 + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""windows.h""\r\n" + "#define IDC_STATIC -1\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_FORMVIEW_SUNPOSITIONER_PARAMS DIALOGEX 0, 0, 230, 103 +STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + GROUPBOX "Time",IDC_STATIC,7,3,217,24 + LTEXT "Hour:",IDC_STATIC,13,14,21,8 + CONTROL "Hour Edit",IDC_EDIT_HOUR,"CustEdit",WS_TABSTOP,43,13,30,10 + CONTROL "Hour Spinner",IDC_SPIN_HOUR,"SpinnerControl",0x0,75,13,7,10 + LTEXT "Minute:",IDC_STATIC,85,15,24,8 + CONTROL "Minute Edit",IDC_EDIT_MINUTE,"CustEdit",WS_TABSTOP,110,13,30,10 + CONTROL "Minute Spinner",IDC_SPIN_MINUTE,"SpinnerControl",0x0,141,13,7,10 + LTEXT "Second:",IDC_STATIC,151,14,28,8 + CONTROL "Second Edit",IDC_EDIT_SECOND,"CustEdit",WS_TABSTOP,183,13,30,10 + CONTROL "Second Spinner",IDC_SPIN_SECOND,"SpinnerControl",0x0,215,13,7,10 + GROUPBOX "Date",IDC_STATIC,7,28,217,24 + LTEXT "Month:",IDC_STATIC,13,37,22,8 + CONTROL "Month Edit",IDC_EDIT_MONTH,"CustEdit",WS_TABSTOP,43,36,30,10 + CONTROL "Month Spinner",IDC_SPIN_MONTH,"SpinnerControl",0x0,75,36,7,10 + LTEXT "Day:",IDC_STATIC,87,37,16,8,SS_CENTERIMAGE + CONTROL "Day Edit",IDC_EDIT_DAY,"CustEdit",WS_TABSTOP,110,36,30,10 + CONTROL "Day Spinner",IDC_SPIN_DAY,"SpinnerControl",0x0,141,36,7,10 + LTEXT "Year:",IDC_STATIC,151,37,17,8 + CONTROL "Year Edit",IDC_EDIT_YEAR,"CustEdit",WS_TABSTOP,184,37,30,10 + CONTROL "Year Spinner",IDC_SPIN_YEAR,"SpinnerControl",0x0,215,37,7,10 + GROUPBOX "Location",IDC_STATIC,6,56,218,40 + LTEXT "North:",IDC_STATIC,13,65,20,8 + CONTROL "North Edit",IDC_EDIT_NORTH,"CustEdit",WS_TABSTOP,43,65,30,10 + CONTROL "North Spinner",IDC_SPIN_NORTH,"SpinnerControl",0x0,74,65,7,10 + LTEXT "Latitude:",IDC_STATIC,13,79,29,8 + CONTROL "Latitude Edit",IDC_EDIT_LATITUDE,"CustEdit",WS_TABSTOP,43,78,30,10 + CONTROL "Latitude Spinner",IDC_SPIN_LATITUDE,"SpinnerControl",0x0,74,78,7,10 + LTEXT "Longitude:",IDC_STATIC,107,79,34,8 + CONTROL "Longitude Edit",IDC_EDIT_LONGITUDE,"CustEdit",WS_TABSTOP,143,79,30,10 + CONTROL "Longitude Spinner",IDC_SPIN_LONGITUDE,"SpinnerControl",0x0,173,79,7,10 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// AFX_DIALOG_LAYOUT +// + +IDD_FORMVIEW_SUNPOSITIONER_PARAMS AFX_DIALOG_LAYOUT +BEGIN + 0 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_FORMVIEW_SUNPOSITIONER_PARAMS, DIALOG + BEGIN + BOTTOMMARGIN, 100 + END +END +#endif // APSTUDIO_INVOKED + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (United Kingdom) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK +#pragma code_page(1252) + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_FORMVIEW_SUNPOSITIONER_PARAMS_TITLE "Sun Positioner" + IDS_HOUR "Hour" + IDS_MINUTE "Minute" + IDS_SECOND "Second" + IDS_MONTH "Month" + IDS_DAY "Day" + IDS_YEAR "Year" + IDS_TIMEZONE "Timezone" + IDS_NORTH "North" +END + +STRINGTABLE +BEGIN + IDS_LATITUDE "Latitude" + IDS_LONGITUDE "Longitude" +END + +#endif // English (United Kingdom) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/appleseed-max-impl/applessedsunpositioner/resource.h b/src/appleseed-max-impl/applessedsunpositioner/resource.h new file mode 100644 index 0000000..2ecaea1 --- /dev/null +++ b/src/appleseed-max-impl/applessedsunpositioner/resource.h @@ -0,0 +1,48 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by appleseedsunpositioner.rc +// +#define IDD_FORMVIEW_SUNPOSITIONER_PARAMS 5 +#define IDS_FORMVIEW_SUNPOSITIONER_PARAMS_TITLE 103 +#define IDS_HOUR 104 +#define IDS_MINUTE 105 +#define IDS_SECOND 106 +#define IDS_MONTH 107 +#define IDS_DAY 108 +#define IDS_YEAR 109 +#define IDS_TIMEZONE 110 +#define IDS_NORTH 111 +#define IDS_LATITUDE 112 +#define IDS_LONGITUDE 113 + +#define IDC_EDIT_HOUR 214 +#define IDC_SPIN_HOUR 215 +#define IDC_EDIT_MINUTE 216 +#define IDC_SPIN_MINUTE 217 +#define IDC_EDIT_SECOND 218 +#define IDC_SPIN_SECOND 219 +#define IDC_EDIT_TIMEZONE 220 +#define IDC_SPIN_TIMEZONE 221 +#define IDC_EDIT_MONTH 222 +#define IDC_SPIN_MONTH 223 +#define IDC_EDIT_DAY 224 +#define IDC_SPIN_DAY 225 +#define IDC_EDIT_YEAR 226 +#define IDC_SPIN_YEAR 227 +#define IDC_EDIT_NORTH 228 +#define IDC_SPIN_NORTH 229 +#define IDC_EDIT_LATITUDE 230 +#define IDC_SPIN_LATITUDE 231 +#define IDC_EDIT_LONGITUDE 232 +#define IDC_SPIN_LONGITUDE 233 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 104 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/src/appleseed-max-impl/bump/bump.rc b/src/appleseed-max-impl/bump/bump.rc index e8cfb12..8d8d360 100644 --- a/src/appleseed-max-impl/bump/bump.rc +++ b/src/appleseed-max-impl/bump/bump.rc @@ -58,11 +58,9 @@ BEGIN COMBOBOX IDC_COMBO_BUMP_METHOD,69,4,141,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Map:",IDC_LABEL_BUMP_MAP,7,19,55,8 CONTROL "Map",IDC_TEXMAP_BUMP_MAP,"CustButton",WS_TABSTOP,69,19,141,10 - LTEXT "Amount:",IDC_LABEL_BUMP_AMOUNT,7,32,55,8 CONTROL "Amount Edit",IDC_EDIT_BUMP_AMOUNT,"CustEdit",WS_TABSTOP,69,32,30,10 CONTROL "Amount Spinner",IDC_SPINNER_BUMP_AMOUNT,"SpinnerControl",WS_TABSTOP,100,32,98,13 - LTEXT "Up Vector:",IDC_LABEL_BUMP_UP_VECTOR,7,46,55,8 COMBOBOX IDC_COMBO_BUMP_UP_VECTOR,69,44,141,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END diff --git a/src/appleseed-max-impl/bump/resource.h b/src/appleseed-max-impl/bump/resource.h index bdc4609..d68e3ee 100644 --- a/src/appleseed-max-impl/bump/resource.h +++ b/src/appleseed-max-impl/bump/resource.h @@ -2,37 +2,33 @@ // Microsoft Visual C++ generated include file. // Used by bump.rc // -#define IDD_FORMVIEW_BUMP_PARAMS 4000 -#define IDS_FORMVIEW_BUMP_PARAMS_TITLE 4001 - -#define IDC_LABEL_BUMP_METHOD 4010 -#define IDC_COMBO_BUMP_METHOD 4011 -#define IDS_COMBO_BUMP_METHOD_BUMPMAP 4012 -#define IDS_COMBO_BUMP_METHOD_NORMALMAP 4013 -#define IDS_BUMP_METHOD 4014 - -#define IDC_LABEL_BUMP_MAP 4020 -#define IDC_TEXMAP_BUMP_MAP 4021 -#define IDS_TEXMAP_BUMP_MAP 4022 - -#define IDC_LABEL_BUMP_AMOUNT 4030 -#define IDC_EDIT_BUMP_AMOUNT 4031 -#define IDC_SPINNER_BUMP_AMOUNT 4032 -#define IDS_BUMP_AMOUNT 4034 - -#define IDC_LABEL_BUMP_UP_VECTOR 4040 -#define IDC_COMBO_BUMP_UP_VECTOR 4041 -#define IDS_COMBO_BUMP_UP_VECTOR_Y 4042 -#define IDS_COMBO_BUMP_UP_VECTOR_Z 4043 -#define IDS_BUMP_UP_VECTOR 4044 +#define IDD_FORMVIEW_BUMP_PARAMS 4000 +#define IDS_FORMVIEW_BUMP_PARAMS_TITLE 4001 +#define IDC_LABEL_BUMP_METHOD 4010 +#define IDC_COMBO_BUMP_METHOD 4011 +#define IDS_COMBO_BUMP_METHOD_BUMPMAP 4012 +#define IDS_COMBO_BUMP_METHOD_NORMALMAP 4013 +#define IDS_BUMP_METHOD 4014 +#define IDC_LABEL_BUMP_MAP 4020 +#define IDC_TEXMAP_BUMP_MAP 4021 +#define IDS_TEXMAP_BUMP_MAP 4022 +#define IDC_LABEL_BUMP_AMOUNT 4030 +#define IDC_EDIT_BUMP_AMOUNT 4031 +#define IDC_SPINNER_BUMP_AMOUNT 4032 +#define IDS_BUMP_AMOUNT 4034 +#define IDC_LABEL_BUMP_UP_VECTOR 4040 +#define IDC_COMBO_BUMP_UP_VECTOR 4041 +#define IDS_COMBO_BUMP_UP_VECTOR_Y 4042 +#define IDS_COMBO_BUMP_UP_VECTOR_Z 4043 +#define IDS_BUMP_UP_VECTOR 4044 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1003 +#define _APS_NEXT_RESOURCE_VALUE 111 +#define _APS_NEXT_COMMAND_VALUE 40002 +#define _APS_NEXT_CONTROL_VALUE 1005 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/src/appleseed-max-release.props b/src/appleseed-max-release.props index a1dfd36..df84d70 100644 --- a/src/appleseed-max-release.props +++ b/src/appleseed-max-release.props @@ -5,7 +5,7 @@ - $(SolutionDir);$(ProjectDir);$(SolutionDir)..\..\appleseed\src\appleseed;$(SolutionDir)..\..\boost_1_69_0;%(AdditionalIncludeDirectories) + $(SolutionDir);$(ProjectDir);$(SolutionDir)..\..\appleseed\src\appleseed;C:\boost_1_69_0;%(AdditionalIncludeDirectories) @@ -30,7 +30,7 @@ false - $(SolutionDir)..\..\boost_1_69_0\stage\lib;%(AdditionalLibraryDirectories) + C:\boost_1_69_0\stage\lib;%(AdditionalLibraryDirectories) Paramblk2.lib;ShLwApi.Lib;appleseed.lib;bmm.lib;core.lib;geom.lib;maxutil.lib;mesh.lib;wininet.lib;%(AdditionalDependencies) DebugFastLink true diff --git a/src/appleseed-max/appleseed-max2021.vcxproj b/src/appleseed-max/appleseed-max2021.vcxproj index 086e48e..716725a 100644 --- a/src/appleseed-max/appleseed-max2021.vcxproj +++ b/src/appleseed-max/appleseed-max2021.vcxproj @@ -110,10 +110,10 @@ if not "$(Configuration)" == "Ship" copy /Y "$(TargetDir)\$(TargetName).pdb" "$( - C:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\include;%(AdditionalIncludeDirectories) + F:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\include;%(AdditionalIncludeDirectories) - C:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\lib\x64\Release;$(SolutionDir)..\..\appleseed\sandbox\lib\vc141\$(ConfigurationName);$(SolutionDir)..\..\windows-deps\stage\vc141;%(AdditionalLibraryDirectories) + F:\Program Files\Autodesk\3ds Max 2021 SDK\maxsdk\lib\x64\Release;$(SolutionDir)..\..\appleseed\sandbox\lib\vc141\$(ConfigurationName);$(SolutionDir)..\..\appleseed-dep\stage\vc141;%(AdditionalLibraryDirectories)