aboutsummaryrefslogtreecommitdiff
path: root/tools/ArtistTools/project/script
diff options
context:
space:
mode:
authorAnton Novoselov <[email protected]>2017-08-01 12:53:38 +0300
committerAnton Novoselov <[email protected]>2017-08-01 12:53:38 +0300
commit236f03c0b9a4982328ed1201978f7f69d192d9b2 (patch)
treee486f2fa39dba203563895541e92c60ed3e25759 /tools/ArtistTools/project/script
parentAdded screens to welcome page (diff)
downloadblast-236f03c0b9a4982328ed1201978f7f69d192d9b2.tar.xz
blast-236f03c0b9a4982328ed1201978f7f69d192d9b2.zip
Blast 1.1 release (windows / linux)
see docs/release_notes.txt for details
Diffstat (limited to 'tools/ArtistTools/project/script')
-rw-r--r--tools/ArtistTools/project/script/ArtistTools-PostBuild.bat158
-rw-r--r--tools/ArtistTools/project/script/ArtistTools.xml1049
-rw-r--r--tools/ArtistTools/project/script/GenerateParamsClasses.bat13
-rw-r--r--tools/ArtistTools/project/script/GenerateShade.bat47
-rw-r--r--tools/ArtistTools/project/script/GenerateUI.bat116
-rw-r--r--tools/ArtistTools/project/script/create_projects.bat9
-rw-r--r--tools/ArtistTools/project/script/create_projectsOnly.bat86
-rw-r--r--tools/ArtistTools/project/script/dllcopy.bat117
-rw-r--r--tools/ArtistTools/project/script/xpj4.exebin0 -> 1751040 bytes
9 files changed, 1595 insertions, 0 deletions
diff --git a/tools/ArtistTools/project/script/ArtistTools-PostBuild.bat b/tools/ArtistTools/project/script/ArtistTools-PostBuild.bat
new file mode 100644
index 0000000..12c7a2c
--- /dev/null
+++ b/tools/ArtistTools/project/script/ArtistTools-PostBuild.bat
@@ -0,0 +1,158 @@
+Rem @ECHO OFF
+
+SETLOCAL
+
+ECHO Output Directory: %1
+rem CD %1
+SET CURDIR=%CD%
+ECHO CURDIR: %CURDIR%
+
+SET OUTPUTDIR=%1
+SET PLATFORM=%2
+SET CONFIGURATION=%3
+SET QTDIR=%4
+SET VC_VERSION=%5
+
+SET PM_DRIVE=%CD:~0,2%
+SET PM_PACKAGES_ROOT=%PM_DRIVE%\NVIDIA\packman-repo
+echo PM_PACKAGES_ROOT is %PM_PACKAGES_ROOT%
+
+SET PX_VERSION=1.0.21652946
+SET PHYSX_VERSION=3.4.21652946
+SET APEX_VERSION=1.4.21652946
+
+SET BLAST_ROOT=%CURDIR%\..\..\..\..
+SET NVTOOLSEXT=%PM_PACKAGES_ROOT%\nvToolsExt\1.0
+SET WINSDK_PATH=%BLAST_ROOT%\..\..\external\D3D11\Bin
+
+ECHO OUTPUTDIR: %OUTPUTDIR%
+ECHO PLATFORM: %PLATFORM%
+ECHO CONFIGURATION: %CONFIGURATION%
+ECHO VC_VERSION: %VC_VERSION%
+ECHO QTDIR: %QTDIR%
+
+ECHO BLAST_ROOT=%BLAST_ROOT%
+ECHO PHYSX_PATH=%PHYSX_PATH%
+ECHO PX_SHARED=%PX_SHARED%
+ECHO APEX_PATH=%APEX_PATH%
+ECHO NVTOOLSEXT=%NVTOOLSEXT%
+ECHO WINSDK_PATH=%WINSDK_PATH%
+
+ECHO CURDIR: %CURDIR%
+
+ECHO ---------------------------------------------------------------------------------
+ECHO ArtistTools Post-Build Events...
+ECHO ---------------------------------------------------------------------------------
+
+
+IF /i "%PLATFORM%"=="Win32" (
+ SET sourcePath=%QTDIR%\x86\bin
+
+ SET PX_SHARED=%PM_PACKAGES_ROOT%\PxShared-%VC_VERSION%win32\%PX_VERSION%
+ SET PHYSX_PATH=%PM_PACKAGES_ROOT%\PhysX-%VC_VERSION%win32\%PHYSX_VERSION%
+ SET APEX_PATH=%PM_PACKAGES_ROOT%\Apex-%VC_VERSION%win32\%APEX_VERSION%
+
+ ECHO %CURDIR%/../script/dllcopy.bat x86 %BLAST_ROOT%/bin/%VC_VERSION%win32-cmake %PHYSX_PATH%\bin\%VC_VERSION%win32-cmake %PX_SHARED%/bin/%VC_VERSION%win32-cmake %APEX_PATH%/bin/%VC_VERSION%win32-cmake %NVTOOLSEXT%\bin\Win32 %BLAST_ROOT%/shared/external/GraphicsLib %WINSDK_PATH% %BLAST_ROOT%/shared/external
+ CALL %CURDIR%/../script/dllcopy.bat x86 %BLAST_ROOT%/bin/%VC_VERSION%win32-cmake %PHYSX_PATH%\bin\%VC_VERSION%win32-cmake %PX_SHARED%/bin/%VC_VERSION%win32-cmake %APEX_PATH%/bin/%VC_VERSION%win32-cmake %NVTOOLSEXT%\bin\Win32 %BLAST_ROOT%/shared/external/GraphicsLib %WINSDK_PATH% %BLAST_ROOT%/shared/external
+
+) ELSE IF /i "%PLATFORM%"=="x64" (
+ SET sourcePath=%QTDIR%\x64\bin
+
+ SET PX_SHARED=%PM_PACKAGES_ROOT%\PxShared-%VC_VERSION%win64\%PX_VERSION%
+ SET PHYSX_PATH=%PM_PACKAGES_ROOT%\PhysX-%VC_VERSION%win64\%PHYSX_VERSION%
+ SET APEX_PATH=%PM_PACKAGES_ROOT%\Apex-%VC_VERSION%win64\%APEX_VERSION%
+
+ ECHO %CURDIR%/../script/dllcopy.bat x64 %BLAST_ROOT%/bin/%VC_VERSION%win64-cmake %PHYSX_PATH%\bin\%VC_VERSION%win64-cmake %PX_SHARED%/bin/%VC_VERSION%win64-cmake %APEX_PATH%/bin/%VC_VERSION%win64-cmake %NVTOOLSEXT%\bin\x64 %BLAST_ROOT%/shared/external/GraphicsLib %WINSDK_PATH% %BLAST_ROOT%/shared/external
+ CALL %CURDIR%/../script/dllcopy.bat x64 %BLAST_ROOT%/bin/%VC_VERSION%win64-cmake %PHYSX_PATH%\bin\%VC_VERSION%win64-cmake %PX_SHARED%/bin/%VC_VERSION%win64-cmake %APEX_PATH%/bin/%VC_VERSION%win64-cmake %NVTOOLSEXT%\bin\x64 %BLAST_ROOT%/shared/external/GraphicsLib %WINSDK_PATH% %BLAST_ROOT%/shared/external
+)
+ECHO sourcePath: %sourcePath%
+
+IF /i "%CONFIGURATION%"=="Debug" (
+ CALL :UpdateTarget Qt5Cored.dll %OUTPUTDIR%
+ CALL :UpdateTarget Qt5Guid.dll %OUTPUTDIR%
+ CALL :UpdateTarget Qt5Widgetsd.dll %OUTPUTDIR%
+ CALL :UpdateTarget Qt5Xmld.dll %OUTPUTDIR%
+) ELSE (
+ CALL :UpdateTarget Qt5Core.dll %OUTPUTDIR%
+ CALL :UpdateTarget Qt5Gui.dll %OUTPUTDIR%
+ CALL :UpdateTarget Qt5Widgets.dll %OUTPUTDIR%
+ CALL :UpdateTarget Qt5Xml.dll %OUTPUTDIR%
+)
+
+SET PLATFORMSFOLDER=%OUTPUTDIR%platforms\
+ECHO PLATFORMSFOLDER: %PLATFORMSFOLDER%
+
+IF NOT EXIST %PLATFORMSFOLDER% MKDIR %PLATFORMSFOLDER%
+
+rem CD %PLATFORMSFOLDER%
+IF /i "%PLATFORM%"=="Win32" (
+ SET sourcePath=%QTDIR%\x86\plugins\platforms
+) ELSE IF /i "%PLATFORM%"=="x64" (
+ SET sourcePath=%QTDIR%\x64\plugins\platforms
+)
+ECHO sourcePath: %sourcePath%
+ECHO CURDIR: %CURDIR%
+
+IF /i "%CONFIGURATION%"=="Debug" (
+ CALL :UpdateTarget qwindowsd.dll %PLATFORMSFOLDER%
+) ELSE (
+ CALL :UpdateTarget qwindows.dll %PLATFORMSFOLDER%
+)
+
+SET sourcePath=%OUTPUTDIR%..\..\tools\ArtistTools\project\Resource
+CALL :UpdateTarget ArtistToolsTheme.qss %OUTPUTDIR%
+
+REM copy d3d and sdl dlls
+IF /i "%PLATFORM%"=="Win32" (
+ SET sourcePath=%OUTPUTDIR%..\..\..\..\external\D3D11\Bin\x86
+ CALL :UpdateTarget d3dcompiler_47.dll %OUTPUTDIR%
+ SET sourcePath=%OUTPUTDIR%..\..\..\..\external\SDL2-2.0.0\bin\x86
+ CALL :UpdateTarget SDL2.dll %OUTPUTDIR%
+) ELSE IF /i "%PLATFORM%"=="x64" (
+ SET sourcePath=%OUTPUTDIR%..\..\..\..\external\D3D11\Bin\x64
+ CALL :UpdateTarget d3dcompiler_47.dll %OUTPUTDIR%
+ SET sourcePath=%OUTPUTDIR%..\..\..\..\external\SDL2-2.0.0\bin\x64
+ CALL :UpdateTarget SDL2.dll %OUTPUTDIR%
+)
+
+REM copy resources. Only need shaders.
+REM /i creates target folder if it does not exist.
+SET sourcePath=%OUTPUTDIR%
+SET targetPath=%sourcePath:/=\%
+echo XCOPY /y /r /d /s /i %targetPath%..\..\samples\resources\shaders %targetPath%..\resources\shaders
+XCOPY /y /r /d /s /i %targetPath%..\..\samples\resources\shaders %targetPath%..\resources\shaders
+echo XCOPY /y /r /d /s /i %targetPath%..\..\tools\ArtistTools\source\BlastPlugin\Shaders %targetPath%..\resources\shaders
+XCOPY /y /r /d /s /i %targetPath%..\..\tools\ArtistTools\source\BlastPlugin\Shaders %targetPath%..\resources\shaders
+REM we do not need models
+rem SET MODELSFOLDER=%targetPath%..\resources\models
+rem IF NOT EXIST %MODELSFOLDER% MKDIR %MODELSFOLDER%
+
+REM copy UI
+REM /i creates target folder if it does not exist.
+SET sourcePath=%OUTPUTDIR%
+SET targetPath=%sourcePath:/=\%
+echo XCOPY /y /r /d /s /i %targetPath%..\..\tools\ArtistTools\project\UI %targetPath%..\UI
+XCOPY /y /r /d /s /i %targetPath%..\..\tools\ArtistTools\project\UI %targetPath%..\UI
+GOTO END_POST_BUILD
+
+:UpdateTarget
+SET str=%2
+SET toPath=%str:/=\%
+SET str=%sourcePath%\%1
+SET fromPath=%str:/=\%
+IF NOT EXIST %2%1 (
+ rem ECHO CURDIR: %CURDIR%
+ echo XCOPY %fromPath% %toPath% /R /Y
+ XCOPY %fromPath% %toPath% /R /Y
+) ELSE (
+ rem ECHO CURDIR: %CURDIR%
+ echo XCOPY %fromPath% %toPath% /R /Y
+ XCOPY %fromPath% %toPath% /R /Y
+)
+
+GOTO END
+
+:END_POST_BUILD
+ENDLOCAL
+
+:END
diff --git a/tools/ArtistTools/project/script/ArtistTools.xml b/tools/ArtistTools/project/script/ArtistTools.xml
new file mode 100644
index 0000000..b122d4c
--- /dev/null
+++ b/tools/ArtistTools/project/script/ArtistTools.xml
@@ -0,0 +1,1049 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XPJ version="4">
+
+<template name="commonBase">
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <!--CharacterSet>MultiByte</CharacterSet-->
+ <ExceptionHandling>Async</ExceptionHandling>
+ <WarningLevel>3</WarningLevel>
+ <DebugInformationFormat>Zi</DebugInformationFormat>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <CFlags>
+ </CFlags>
+ <LFlags>
+ /SUBSYSTEM:WINDOWS
+ /NOLOGO
+ </LFlags>
+ <Preprocessor type="define">
+ __GFSDK_DX11__
+ UNICODE
+ _UNICODE
+ CC_LIB
+ THISFILENAME="$(TargetFileName)"
+ WIN32
+ QT_LARGEFILE_SUPPORT
+ QT_CORE_LIB
+ QT_GUI_LIB
+ QT_WIDGETS_LIB
+ QT_DLL
+ NV_ARTISTTOOLS
+ NV_FOUNDATION_DLL=0
+ </Preprocessor>
+ <SearchPaths root="" type="header">
+ ${env:D3D11_ROOT}/include
+ ${env:QTDIR}/../include
+ ${env:FBXSDK_ROOT}/include
+ ${env:NVTOOLSEXT}/include
+ ${env:NvFoundation_ROOT}/include
+ ${env:NsFoundation_ROOT}/include
+ ${env:NvParameterized_ROOT}/src
+ ${env:NvParameterized_ROOT}/include
+ ${env:NsFileBuffer_ROOT}/include
+ ${env:NsFastXML_ROOT}/include
+ ${env:OpenAutomate_ROOT}/inc
+ ${env:SDL_ROOT}/include
+ ${env:NVCOMMON_ROOT}
+ ${env:DXUT_PATH}/Core
+ ${env:DXUT_PATH}/Optional
+ ${env:DIRECTXTEX_PATH}/include
+ ..\Generated\BlastPlugin\ui
+ ..\Generated\BlastPlugin\$(PlatformName)
+ ..\Generated\CoreLib\ui
+ ..\Generated\CoreLib\$(PlatformName)
+ ..\..\source\CoreLib
+ ..\..\source\CoreLib\Anim
+ ..\..\source\CoreLib\Backdoor
+ ..\..\source\CoreLib\Parameters
+ ..\..\source\CoreLib\Render
+ ..\..\source\CoreLib\Render\D3D11
+ ..\..\source\CoreLib\Render\D3D12
+ ..\..\source\CoreLib\Render\Interface
+ ..\..\source\CoreLib\Scene
+ ..\..\source\CoreLib\Utils
+ ..\..\source\CoreLib\Window
+ ..\..\source\BlastPlugin
+ ..\..\source\BlastPlugin\Render
+ ..\..\source\BlastPlugin\Render\D3D11
+ ..\..\source\BlastPlugin\Render\D3D12
+ ..\..\source\BlastPlugin\Render\Interface
+ ..\..\source\BlastPlugin\Scene
+ ..\..\source\BlastPlugin\Window
+ ..\..\source\BlastPlugin\Parameters
+ ..\..\source\BlastPlugin\SampleBase
+ ..\..\source\BlastPlugin\SampleBase\core
+ ..\..\source\BlastPlugin\SampleBase\blast
+ ..\..\source\BlastPlugin\SampleBase\physx
+ ..\..\source\BlastPlugin\SampleBase\renderer
+ ..\..\source\BlastPlugin\SampleBase\scene
+ ..\..\source\BlastPlugin\SampleBase\ui
+ ..\..\source\BlastPlugin\SampleBase\utils
+ </SearchPaths>
+
+ <SearchPaths root="" type="library">
+ $(OutDir)
+ </SearchPaths>
+ <Libraries>
+ d3d11.lib
+ d3dcompiler.lib
+ dxerr.lib
+ dxguid.lib
+ dxgi.lib
+ d3dx11.lib
+ comctl32.lib
+ Shlwapi.lib
+ SDL2.lib
+ Usp10.lib
+ Version.lib
+ Imm32.lib
+ DbgHelp.lib
+ </Libraries>
+</template>
+
+<template name="debugBase">
+ <Preprocessor type="define">
+ DEBUG
+ _DEBUG
+ </Preprocessor>
+ <RuntimeLibrary>3</RuntimeLibrary>
+ <Optimization>0</Optimization>
+ <!--Optimization 0=disable, 1=MinSpace, 2=MaxSpeed, 3=full -->
+ <WholeProgramOptimization>NoWholeProgramOptimization</WholeProgramOptimization>
+ <LFlags>
+ </LFlags>
+ <Libraries>
+ qtmaind.lib
+ Qt5Cored.lib
+ Qt5Guid.lib
+ Qt5Widgetsd.lib
+ Qt5Xmld.lib
+ </Libraries>
+</template>
+
+<template name="releaseBase">
+ <Preprocessor type="define">
+ NDEBUG
+ QT_NO_DEBUG
+ </Preprocessor>
+ <RuntimeLibrary>2</RuntimeLibrary>
+ <Optimization>2</Optimization>
+ <!--Optimization 0=disable, 1=MinSpace, 2=MaxSpeed, 3=full -->
+ <WholeProgramOptimization>UseLinkTimeCodeGeneration</WholeProgramOptimization>
+ <LFlags>
+ </LFlags>
+ <Libraries>
+ qtmain.lib
+ Qt5Core.lib
+ Qt5Gui.lib
+ Qt5Widgets.lib
+ Qt5Xml.lib
+ </Libraries>
+</template>
+
+<template name="win32Base">
+ <apply-template name="commonBase"/>
+ <Preprocessor type="define">
+ </Preprocessor>
+ <SearchPaths root="" type="library">
+ $(OutDir)
+ ${env:QTDIR}/x86/lib
+ ${env:D3D11_ROOT}/lib/x86
+ ${env:SDL_ROOT}/Lib/x86
+ ${env:SHADOWLIB_PATH}/lib/win32
+ ${env:HBAOPLUS_PATH}/lib/win32
+ </SearchPaths>
+ <Libraries>
+ GFSDK_ShadowLib_DX11.win32.lib
+ GFSDK_SSAO_D3D11.win32.lib
+ </Libraries>
+</template>
+
+<template name="win64Base">
+ <apply-template name="commonBase"/>
+ <Preprocessor type="define">
+ _WIN64
+ WIN64
+ </Preprocessor>
+ <SearchPaths root="" type="library">
+ $(OutDir)
+ ${env:QTDIR}/x64/lib
+ ${env:D3D11_ROOT}/lib/x64
+ ${env:SDL_ROOT}/Lib/x64
+ ${env:SHADOWLIB_PATH}/lib/win64
+ ${env:HBAOPLUS_PATH}/lib/win64
+ </SearchPaths>
+ <Libraries>
+ GFSDK_ShadowLib_DX11.win64.lib
+ GFSDK_SSAO_D3D11.win64.lib
+ </Libraries>
+</template>
+
+<template name="blast_header_path">
+ <SearchPaths type="header">
+ ${env:PX_SHARED}/include
+ ${env:PX_SHARED}/include/filebuf
+ ${env:PX_SHARED}/include/foundation
+ ${env:PX_SHARED}/include/task
+ ${env:PX_SHARED}/include/cudamanager
+ ${env:PX_SHARED}/include/pvd
+ ${env:PX_SHARED}/src/foundation/include
+ ${env:PX_SHARED}/src/filebuf/include
+ ${env:PX_SHARED}/src/fastxml/include
+ ${env:PX_SHARED}/src/pvd/include
+ ${env:PHYSX_PATH}/Include
+ ${env:PHYSX_PATH}/Include/common
+ ${env:PHYSX_PATH}/Include/cooking
+ ${env:PHYSX_PATH}/Include/extensions
+ ${env:PHYSX_PATH}/Include/geometry
+ ${env:PHYSX_PATH}/Include/gpu
+ ${env:PHYSX_PATH}/Include/deformable
+ ${env:PHYSX_PATH}/Include/particles
+ ${env:PHYSX_PATH}/Include/characterkinematic
+ ${env:PHYSX_PATH}/Include/characterdynamic
+ ${env:PHYSX_PATH}/Include/vehicle
+ ${env:PHYSX_PATH}/Source/GeomUtils/headers
+ ${env:PHYSX_PATH}/Source/PhysXGpu/include
+ ${env:BLAST_PATH}/sdk/common
+ ${env:BLAST_PATH}/sdk/extensions/authoring/include
+ ${env:BLAST_PATH}/sdk/extensions/common/include
+ ${env:BLAST_PATH}/sdk/extensions/import/include
+ ${env:BLAST_PATH}/sdk/extensions/lowlevel/include
+ ${env:BLAST_PATH}/sdk/extensions/physx/include
+ ${env:BLAST_PATH}/sdk/extensions/serialization/include
+ ${env:BLAST_PATH}/sdk/extensions/shaders/include
+ ${env:BLAST_PATH}/sdk/extensions/utils/include
+ ${env:BLAST_PATH}/sdk/extensions/stress/include
+ ${env:BLAST_PATH}/sdk/extensions/exporter/include
+ ${env:BLAST_PATH}/sdk/extensions/assetutils/include
+ ${env:BLAST_PATH}/sdk/lowlevel/include
+ ${env:BLAST_PATH}/sdk/profiler
+ ${env:BLAST_PATH}/sdk/toolkit/include
+ ${env:BLAST_PATH}/sdk/globals/include
+ ${env:BLAST_PATH}/sdk/lowlevel/source
+ ${env:BLAST_PATH}/sdk/toolkit/source
+ ${env:BLAST_PATH}/shared/utils
+ ${env:IMGUI_PATH}
+ ${env:TINYOBJ_PATH}
+ ${env:TCLAP_PATH}/include
+ ${env:SHADOWLIB_PATH}/include
+ ${env:HBAOPLUS_PATH}/include
+ </SearchPaths>
+</template>
+
+<Project name="ArtistTools">
+<Export platform="multiple">..\${env:VS_STRING}</Export>
+<Target name="ArtistTools">
+ <Dependencies type="link">
+ RenderBlastDx11
+ </Dependencies>
+ <Configuration name="default" type="exe" show="false">
+ <OutDir>..\..\..\..\bin\${env:VC_VERSION}win$(PlatformArchitecture)-cmake</OutDir>
+ <INTDIR>..\..\..\..\obj\${env:VC_VERSION}win$(PlatformArchitecture)-cmake\$(Configuration)\ArtistTools</INTDIR>
+ </Configuration>
+
+ <Configuration name="Debug" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win32.d.exe</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.d.lib
+
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Debug" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win64.d.exe</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.d.lib
+
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win32.exe</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.lib
+
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win64.exe</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.lib
+
+ </Libraries>
+ </Configuration>
+
+ <PostBuildEvent>
+ CALL ..\script\ArtistTools-PostBuild.bat $(OutDir) $(Platform) $(Configuration) ${env:QTDIR} ${env:VC_VERSION}
+ </PostBuildEvent>
+
+ <Files name="App" root="..\..\source\ArtistTools">
+ main.cpp
+ </Files>
+ <Files name="Resource" root="..\..\project\Resource">
+ resource.rc
+ </Files>
+</Target>
+
+<Target name="CoreLib">
+ <Libraries>
+ libfbxsdk-md.lib
+ </Libraries>
+ <Configuration name="default" type="dll" show="false">
+ <OutDir>..\..\..\..\bin\${env:VC_VERSION}win$(PlatformArchitecture)-cmake</OutDir>
+ <INTDIR>..\..\..\..\obj\${env:VC_VERSION}win$(PlatformArchitecture)-cmake\$(Configuration)\CoreLib</INTDIR>
+ <Preprocessor type="define">
+ CORELIB_LIB
+ </Preprocessor>
+ </Configuration>
+
+ <Configuration name="Debug" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win32.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/debug
+ ${env:NVTOOLSEXT}/lib/Win32
+ </SearchPaths>
+ <Libraries>
+ nvToolsExt32_1.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Debug" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win64.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/debug
+ ${env:NVTOOLSEXT}/lib/x64
+ </SearchPaths>
+ <Libraries>
+ nvToolsExt64_1.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win32.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/release
+ ${env:NVTOOLSEXT}/lib/Win32
+ </SearchPaths>
+ <Libraries>
+ nvToolsExt32_1.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win64.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/release
+ ${env:NVTOOLSEXT}/lib/x64
+ </SearchPaths>
+ <Libraries>
+ nvToolsExt64_1.lib
+ </Libraries>
+ </Configuration>
+
+ <Files name="App" root="..\..\source\CoreLib">
+ Parameters/*.h
+ Parameters/*.cpp
+ Parameters/*.pl
+ Anim/*.h
+ Anim/*.cpp
+ Backdoor/*.h
+ Backdoor/*.cpp
+ *.h
+ *.cpp
+ Render/Interface/*.h
+ Render/Interface/*.cpp
+ Render/*.h
+ Render/*.cpp
+ Scene/*.h
+ Scene/*.cpp
+ UI/*.ui
+ UI/*.qrc
+ Utils/*.h
+ Utils/*.cpp
+ Window/*.h
+ Window/*.cpp
+ </Files>
+ <Files name="NsFoundation" root="${env:NsFoundation_ROOT}">
+ src/*.cpp
+ src/windows/*.cpp
+ </Files>
+ <Files name="NvFoundation" root="${env:NvFoundation_ROOT}">
+ include/*.h
+ </Files>
+ <Files name="NvParameterized" root="${env:NvParameterized_ROOT}">
+ src/*.cpp
+ </Files>
+ <Files name="NsFastXML" root="${env:NsFastXML_ROOT}">
+ src/*.cpp
+ </Files>
+ <Files name="NvCommon" root="${env:NVCOMMON_ROOT}\Nv\Common">
+ NvCoMemoryAllocator.h
+ NvCoMemoryAllocator.cpp
+ Platform/Win/NvCoWinMemoryAllocator.h
+ Platform/Win/NvCoWinMemoryAllocator.cpp
+ Animation/NvCoFrameCalculator.h
+ Animation/NvCoFrameCalculator.cpp
+ </Files>
+ <Files name="Generated" root="..\Generated\CoreLib">
+ ui/*.h
+ moc/*.cpp
+ qrc/*.cpp
+ </Files>
+ <Files name="Shaders" root="..\..\source\Shaders">
+ BodyShader.hlsl
+ BodyShaderCommon.hlsl
+ BodyShadow.hlsl
+ color.hlsl
+ Light.hlsl
+ ScreenQuad.hlsl
+ ScreenQuadColor.hlsl
+ VisualizeShadow.hlsl
+ </Files>
+ <Files name="OpenAutomate" root="${env:OpenAutomate_ROOT}">
+ inc/*.h
+ src/*.c
+ </Files>
+</Target>
+
+<Target name="PluginBlast">
+ <Libraries>
+ libfbxsdk-md.lib
+ DXUT.lib
+ DirectXTex.lib
+ DXUTOpt.lib
+ </Libraries>
+ <Dependencies type="link">
+ RenderPluginDx11
+ </Dependencies>
+ <Configuration name="default" type="dll" show="false">
+ <OutDir>..\..\..\..\bin\${env:VC_VERSION}win$(PlatformArchitecture)-cmake</OutDir>
+ <INTDIR>..\..\..\..\obj\${env:VC_VERSION}win$(PlatformArchitecture)-cmake\$(Configuration)\PluginBlast</INTDIR>
+ <Preprocessor type="define">
+ PLUGINBT_LIB
+ _WINDOWS
+ _WIN32_WINNT=0x0600
+ _CRT_SECURE_NO_DEPRECATE
+ _LIB
+ </Preprocessor>
+ <SearchPaths root="" type="library">
+ ${env:PX_SHARED}/lib/${env:VC_VERSION}win$(PlatformArchitecture)-cmake
+ ${env:PHYSX_PATH}/Lib/${env:VC_VERSION}win$(PlatformArchitecture)-cmake
+ ${env:BLAST_PATH}/lib/${env:VC_VERSION}win$(PlatformArchitecture)-cmake
+ </SearchPaths>
+ </Configuration>
+
+ <Configuration name="Debug" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win32.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/debug
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.d.lib
+ PhysX3CommonDEBUG_x86.lib
+ PhysX3DEBUG_x86.lib
+ PhysX3CookingDEBUG_x86.lib
+ PhysX3ExtensionsDEBUG_x86.lib
+ PxPvdSDKDEBUG_x86.lib
+ PxTaskDEBUG_x86.lib
+ PxFoundationDEBUG_x86.lib
+ PsFastXmlDEBUG_x86.lib
+ NvBlastDEBUG_x86.lib
+ NvBlastExtAuthoringDEBUG_x86.lib
+ NvBlastExtImportDEBUG_x86.lib
+ NvBlastExtPhysXDEBUG_x86.lib
+ NvBlastExtShadersDEBUG_x86.lib
+ NvBlastTkDEBUG_x86.lib
+ NvBlastExtExporterDEBUG_x86.lib
+ NvBlastExtAssetUtilsDEBUG_x86.lib
+ NvBlastGlobalsDEBUG_x86.lib
+ GFSDK_ShadowLib_DX11.win32.lib
+ GFSDK_SSAO_D3D11.win32.lib
+ </Libraries>
+ <conditional value="${env:VC_VERSION}" match="vc14">
+ <Libraries>
+ NvBlastExtSerializationDEBUG_x86.lib
+ NvBlastExtPxSerializationDEBUG_x86.lib
+ NvBlastExtTkSerializationDEBUG_x86.lib
+ </Libraries>
+ </conditional>
+ </Configuration>
+
+ <Configuration name="Debug" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win64.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/debug
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.d.lib
+ PhysX3CommonDEBUG_x64.lib
+ PhysX3DEBUG_x64.lib
+ PhysX3CookingDEBUG_x64.lib
+ PhysX3ExtensionsDEBUG_x64.lib
+ PxPvdSDKDEBUG_x64.lib
+ PxTaskDEBUG_x64.lib
+ PxFoundationDEBUG_x64.lib
+ PsFastXmlDEBUG_x64.lib
+ NvBlastDEBUG_x64.lib
+ NvBlastExtAuthoringDEBUG_x64.lib
+ NvBlastExtImportDEBUG_x64.lib
+ NvBlastExtPhysXDEBUG_x64.lib
+ NvBlastExtShadersDEBUG_x64.lib
+ NvBlastTkDEBUG_x64.lib
+ NvBlastExtExporterDEBUG_x64.lib
+ NvBlastExtAssetUtilsDEBUG_x64.lib
+ NvBlastGlobalsDEBUG_x64.lib
+ GFSDK_ShadowLib_DX11.win64.lib
+ GFSDK_SSAO_D3D11.win64.lib
+ </Libraries>
+ <conditional value="${env:VC_VERSION}" match="vc14">
+ <Libraries>
+ NvBlastExtSerializationDEBUG_x64.lib
+ NvBlastExtPxSerializationDEBUG_x64.lib
+ NvBlastExtTkSerializationDEBUG_x64.lib
+ </Libraries>
+ </conditional>
+ </Configuration>
+
+ <Configuration name="Release" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win32.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/release
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.lib
+ PhysX3Common_x86.lib
+ PhysX3_x86.lib
+ PhysX3Cooking_x86.lib
+ PhysX3Extensions_x86.lib
+ PxPvdSDK_x86.lib
+ PxTask_x86.lib
+ PxFoundation_x86.lib
+ PsFastXml_x86.lib
+ NvBlast_x86.lib
+ NvBlastExtAuthoring_x86.lib
+ NvBlastExtImport_x86.lib
+ NvBlastExtPhysX_x86.lib
+ NvBlastExtShaders_x86.lib
+ NvBlastTk_x86.lib
+ NvBlastExtExporter_x86.lib
+ NvBlastExtAssetUtils_x86.lib
+ NvBlastGlobals_x86.lib
+ GFSDK_ShadowLib_DX11.win32.lib
+ GFSDK_SSAO_D3D11.win32.lib
+ </Libraries>
+ <conditional value="${env:VC_VERSION}" match="vc14">
+ <Libraries>
+ NvBlastExtSerialization_x86.lib
+ NvBlastExtPxSerialization_x86.lib
+ NvBlastExtTkSerialization_x86.lib
+ </Libraries>
+ </conditional>
+ </Configuration>
+
+ <Configuration name="Release" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win64.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/release
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.lib
+ PhysX3Common_x64.lib
+ PhysX3_x64.lib
+ PhysX3Cooking_x64.lib
+ PhysX3Extensions_x64.lib
+ PxPvdSDK_x64.lib
+ PxTask_x64.lib
+ PxFoundation_x64.lib
+ PsFastXml_x64.lib
+ NvBlast_x64.lib
+ NvBlastExtAuthoring_x64.lib
+ NvBlastExtImport_x64.lib
+ NvBlastExtPhysX_x64.lib
+ NvBlastExtShaders_x64.lib
+ NvBlastTk_x64.lib
+ NvBlastExtExporter_x64.lib
+ NvBlastExtAssetUtils_x64.lib
+ NvBlastGlobals_x64.lib
+ GFSDK_ShadowLib_DX11.win64.lib
+ GFSDK_SSAO_D3D11.win64.lib
+ </Libraries>
+ <conditional value="${env:VC_VERSION}" match="vc14">
+ <Libraries>
+ NvBlastExtSerialization_x64.lib
+ NvBlastExtPxSerialization_x64.lib
+ NvBlastExtTkSerialization_x64.lib
+ </Libraries>
+ </conditional>
+ </Configuration>
+
+ <Files name="App" root="..\..\source\BlastPlugin">
+ Render/Interface/*.h
+ Render/Interface/*.cpp
+ Scene/*.h
+ Scene/*.cpp
+ UI/*.ui
+ UI/*.qrc
+ Window/*.h
+ Window/*.cpp
+ Parameters/*.h
+ Parameters/*.cpp
+ *.h
+ *.cpp
+ </Files>
+ <Files name="SampleBase" root="../../source/BlastPlugin/SampleBase" type="source">
+ *.cpp
+ *.h
+ core/*.cpp
+ core/*.h
+ blast/*.cpp
+ blast/*.h
+ physx/*.cpp
+ physx/*.h
+ renderer/*.cpp
+ renderer/*.h
+ scene/*.cpp
+ scene/*.h
+ ui/*.cpp
+ ui/*.h
+ utils/*.cpp
+ utils/*.h
+ renderer/*.cpp
+ renderer/*.h
+ </Files>
+ <Files name="SampleBase" root="${env:BLAST_PATH}/shared" type="source">
+ utils/*.cpp
+ utils/*.h
+ </Files>
+ <Files name="SampleBase" root="${env:IMGUI_PATH}" type="source">
+ *.cpp
+ *.h
+ </Files>
+ <Files name="SampleBase" root="${env:TINYOBJ_PATH}" type="source">
+ *.cpp
+ *.h
+ </Files>
+ <Files name="SampleBase" root="${env:BLAST_PATH}/sdk/globals/source" type="source">
+ NvBlastGlobals.cpp
+ </Files>
+ <Files name="NsFoundation" root="${env:NsFoundation_ROOT}">
+ src/*.cpp
+ src/windows/*.cpp
+ </Files>
+ <Files name="NvFoundation" root="${env:NvFoundation_ROOT}">
+ include/*.h
+ </Files>
+ <Files name="NvParameterized" root="${env:NvParameterized_ROOT}">
+ src/*.cpp
+ </Files>
+ <Files name="NsFastXML" root="${env:NsFastXML_ROOT}">
+ src/*.cpp
+ </Files>
+ <Files name="NvCommon" root="${env:NVCOMMON_ROOT}\Nv\Common">
+ NvCoMemoryAllocator.h
+ NvCoMemoryAllocator.cpp
+ Platform/Win/NvCoWinMemoryAllocator.h
+ Platform/Win/NvCoWinMemoryAllocator.cpp
+ Animation/NvCoFrameCalculator.h
+ Animation/NvCoFrameCalculator.cpp
+ </Files>
+ <Files name="Generated" root="..\Generated\BlastPlugin">
+ ui/*.h
+ moc/*.cpp
+ qrc/*.cpp
+ </Files>
+ <Files name="Generated" root="..\Generated\CoreLib">
+ moc/moc_SlideSpinBox.cpp
+ </Files>
+ <Files name="Shaders" root="..\..\source\Shaders">
+ </Files>
+
+ <apply-template name="blast_header_path"/>
+</Target>
+
+<Target name="RenderBlastDx11">
+ <Dependencies type="link">
+ RenderPluginDx11
+ PluginBlast
+ </Dependencies>
+ <Configuration name="default" type="dll" show="false">
+ <OutDir>..\..\..\..\bin\${env:VC_VERSION}win$(PlatformArchitecture)-cmake</OutDir>
+ <INTDIR>..\..\..\..\obj\${env:VC_VERSION}win$(PlatformArchitecture)-cmake\$(Configuration)\RenderBlastDx11</INTDIR>
+ <Preprocessor type="define">
+ PLUGINBTRENDER_LIB
+ </Preprocessor>
+ </Configuration>
+
+ <Configuration name="Debug" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win32.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.d.lib
+ RenderPluginDx11.win32.d.lib
+ PluginBlast.win32.d.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Debug" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win64.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.d.lib
+ RenderPluginDx11.win64.d.lib
+ PluginBlast.win64.d.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win32.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.lib
+ RenderPluginDx11.win32.lib
+ PluginBlast.win32.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win64.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.lib
+ RenderPluginDx11.win64.lib
+ PluginBlast.win64.lib
+ </Libraries>
+ </Configuration>
+
+ <Files name="App" root="..\..\source\BlastPlugin">
+ Render/D3D11/*.h
+ Render/D3D11/*.cpp
+ </Files>
+ <Files name="Shaders" root="..\..\source\Shaders">
+ HairShaderAttribute.h
+ BlastShader.hlsl
+ BlastShaderOpt.hlsl
+ BlastShadow.hlsl
+ BlastShadowOpt.hlsl
+ </Files>
+</Target>
+
+<conditional value="${env:VC_VERSION}" match="vc14">
+<Target name="RenderBlastDx12">
+ <WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
+ <Dependencies type="link">
+ RenderPluginDx12
+ PluginBlast
+ </Dependencies>
+ <Configuration name="default" type="dll" show="false">
+ <OutDir>..\..\..\..\bin\${env:VC_VERSION}win$(PlatformArchitecture)-cmake</OutDir>
+ <INTDIR>..\..\..\..\obj\${env:VC_VERSION}win$(PlatformArchitecture)-cmake\$(Configuration)\RenderBlastDx12</INTDIR>
+ <Preprocessor type="define">
+ PLUGINBTRENDER_LIB
+ </Preprocessor>
+ </Configuration>
+
+ <Configuration name="Debug" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win32.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.d.lib
+ RenderPluginDx12.win32.d.lib
+ PluginBlast.win32.d.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Debug" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win64.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.d.lib
+ RenderPluginDx12.win64.d.lib
+ PluginBlast.win64.d.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win32.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x86/release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.lib
+ RenderPluginDx12.win32.lib
+ PluginBlast.win32.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win64.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:FBXSDK_LIB_ROOT}/x64/release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.lib
+ RenderPluginDx12.win64.lib
+ PluginBlast.win64.lib
+ </Libraries>
+ </Configuration>
+
+ <Files name="App" root="..\..\source\BlastPlugin">
+ Render/D3D12/*.h
+ Render/D3D12/*.cpp
+ </Files>
+ <Files name="Shaders" root="..\..\source\Shaders">
+ </Files>
+</Target>
+</conditional>
+
+<Target name="RenderPluginDx11">
+ <Libraries>
+ DXUT.lib
+ DirectXTex.lib
+ DXUTOpt.lib
+ </Libraries>
+ <Dependencies type="link">
+ CoreLib
+ </Dependencies>
+ <Configuration name="default" type="dll" show="false">
+ <OutDir>..\..\..\..\bin\${env:VC_VERSION}win$(PlatformArchitecture)-cmake</OutDir>
+ <INTDIR>..\..\..\..\obj\${env:VC_VERSION}win$(PlatformArchitecture)-cmake\$(Configuration)\RenderPluginDx11</INTDIR>
+ <Preprocessor type="define">
+ CORERENDER_LIB
+ </Preprocessor>
+ </Configuration>
+
+ <Configuration name="Debug" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win32.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.d.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Debug" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win64.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.d.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win32.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win32.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win64.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ </SearchPaths>
+ <Libraries>
+ CoreLib.win64.lib
+ </Libraries>
+ </Configuration>
+
+ <Files name="App" root="..\..\source\CoreLib">
+ Render/D3D11/*.h
+ Render/D3D11/*.cpp
+ </Files>
+</Target>
+
+<conditional value="${env:VC_VERSION}" match="vc14">
+<Target name="RenderPluginDx12">
+ <WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
+ <Libraries>
+ legacy_stdio_definitions.lib
+ DXUT.lib
+ DirectXTex.lib
+ DXUTOpt.lib
+ </Libraries>
+ <Dependencies type="link">
+ CoreLib
+ </Dependencies>
+ <Configuration name="default" type="dll" show="false">
+ <OutDir>..\..\..\..\bin\${env:VC_VERSION}win$(PlatformArchitecture)-cmake</OutDir>
+ <INTDIR>..\..\..\..\obj\${env:VC_VERSION}win$(PlatformArchitecture)-cmake\$(Configuration)\RenderPluginDx12</INTDIR>
+ <Preprocessor type="define">
+ CORERENDER_LIB
+ _WINDOWS
+ _WIN32_WINNT=0x0600
+ _CRT_SECURE_NO_DEPRECATE
+ _LIB
+ </Preprocessor>
+ </Configuration>
+
+ <Configuration name="Debug" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win32.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/Win32/Debug
+ </SearchPaths>
+ <Libraries>
+ d3d12.lib
+ CoreLib.win32.d.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Debug" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="debugBase"/>
+ <OutFile>$(ProjectName).win64.d.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/x64/Debug
+ </SearchPaths>
+ <Libraries>
+ d3d12.lib
+ CoreLib.win64.d.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="Win32">
+ <apply-template name="win32Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win32.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/Win32/Release
+ </SearchPaths>
+ <Libraries>
+ d3d12.lib
+ CoreLib.win32.lib
+ </Libraries>
+ </Configuration>
+
+ <Configuration name="Release" platform="win64">
+ <apply-template name="win64Base"/>
+ <apply-template name="releaseBase"/>
+ <OutFile>$(ProjectName).win64.dll</OutFile>
+ <SearchPaths root="" type="library">
+ ${env:DIRECTXTEX_PATH}/bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ ${env:DXUT_PATH}/Core/Bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ ${env:DXUT_PATH}/Optional/Bin/dynamiccrt/${env:VS_STRING}/x64/Release
+ </SearchPaths>
+ <Libraries>
+ d3d12.lib
+ CoreLib.win64.lib
+ </Libraries>
+ </Configuration>
+
+ <Files name="App" root="..\..\source\CoreLib">
+ Render/D3D12/*.h
+ Render/D3D12/*.cpp
+ </Files>
+ <Files name="NvCommon" root="${env:NVCOMMON_ROOT}\Nv\Common\Platform\Dx12">
+ NvCoDx12DescriptorHeap.h
+ NvCoDx12DescriptorHeap.cpp
+ </Files>
+</Target>
+</conditional>
+
+</Project>
+
+</XPJ>
diff --git a/tools/ArtistTools/project/script/GenerateParamsClasses.bat b/tools/ArtistTools/project/script/GenerateParamsClasses.bat
new file mode 100644
index 0000000..65a782a
--- /dev/null
+++ b/tools/ArtistTools/project/script/GenerateParamsClasses.bat
@@ -0,0 +1,13 @@
+@ECHO OFF
+SET SCRIPT_PATH=%CD%
+
+cd %SCRIPT_PATH%
+cd ..\..\source\CoreLib\Parameters
+call go.bat
+
+cd %SCRIPT_PATH%
+cd ..\..\source\BlastPlugin\Parameters
+call go.bat
+
+cd %SCRIPT_PATH%
+
diff --git a/tools/ArtistTools/project/script/GenerateShade.bat b/tools/ArtistTools/project/script/GenerateShade.bat
new file mode 100644
index 0000000..bd3de2c
--- /dev/null
+++ b/tools/ArtistTools/project/script/GenerateShade.bat
@@ -0,0 +1,47 @@
+@echo off
+
+rem NOTE : rem next line if shader code has changed
+goto:eof
+
+@echo ---start complie shaders---
+
+setlocal enabledelayedexpansion
+set PROJECT_ROOT=..\..
+set GenPath="%PROJECT_ROOT%\project\Generated\CoreLib"
+
+echo commands to run
+echo mkdir %GenPath%
+echo rd /s /Q %GenPath%\x64\Shaders
+echo rd /s /Q %GenPath%\win32\Shaders
+echo mkdir %GenPath%\x64\Shaders
+echo mkdir %GenPath%\win32\Shaders
+
+mkdir %GenPath%
+rd /s /Q %GenPath%\x64\Shaders
+rd /s /Q %GenPath%\win32\Shaders
+mkdir %GenPath%\x64\Shaders
+mkdir %GenPath%\win32\Shaders
+
+if "%DXSDK_DIR%"=="" set DXSDK_DIR=..\..\..\..\..\..\..\external\DXSDK\June_2010
+echo DXSDK_DIR is %DXSDK_DIR%
+
+:doprocess_hlsl_vs_ps
+call:process_hlsl_vs_ps BodyShader
+call:process_hlsl_vs_ps BodyShadow
+call:process_hlsl_vs_ps color
+call:process_hlsl_vs_ps Light
+call:process_hlsl_vs_ps ScreenQuad
+call:process_hlsl_vs_ps ScreenQuadColor
+call:process_hlsl_vs_ps VisualizeShadow
+
+:process_hlsl_vs_ps
+ SET FILE_HLSL=%~1
+ echo "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T vs_5_0 /I..\..\..\..\src /Fh "%GenPath%\x64\Shaders\%FILE_HLSL%_VS.h" /Evs_main "%PROJECT_ROOT%\source\Shaders\%FILE_HLSL%.hlsl"
+ "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T vs_5_0 /I..\..\..\..\src /Fh "%GenPath%\x64\Shaders\%FILE_HLSL%_VS.h" /Evs_main "%PROJECT_ROOT%\source\Shaders\%FILE_HLSL%.hlsl"
+ "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T vs_5_0 /I..\..\..\..\src /Fh "%GenPath%\win32\Shaders\%FILE_HLSL%_VS.h" /Evs_main "%PROJECT_ROOT%\source\Shaders\%FILE_HLSL%.hlsl"
+ echo "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T ps_5_0 /I..\..\..\..\src /Fh "%GenPath%\x64\Shaders\%FILE_HLSL%_PS.h" /Eps_main "%PROJECT_ROOT%\source\Shaders\%FILE_HLSL%.hlsl"
+ "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T ps_5_0 /I..\..\..\..\src /Fh "%GenPath%\x64\Shaders\%FILE_HLSL%_PS.h" /Eps_main "%PROJECT_ROOT%\source\Shaders\%FILE_HLSL%.hlsl"
+ "%DXSDK_DIR%\Utilities\bin\x86\fxc.exe" /T ps_5_0 /I..\..\..\..\src /Fh "%GenPath%\win32\Shaders\%FILE_HLSL%_PS.h" /Eps_main "%PROJECT_ROOT%\source\Shaders\%FILE_HLSL%.hlsl"
+goto:eof
+
+:end
diff --git a/tools/ArtistTools/project/script/GenerateUI.bat b/tools/ArtistTools/project/script/GenerateUI.bat
new file mode 100644
index 0000000..04c4bf1
--- /dev/null
+++ b/tools/ArtistTools/project/script/GenerateUI.bat
@@ -0,0 +1,116 @@
+@echo off
+
+@echo ---start Moc UI---
+
+setlocal enabledelayedexpansion
+set PROJECT_ROOT=..\..
+
+SET SRC_ROOT=..\..\..\..
+SET EXTERNAL_ROOT=%SRC_ROOT%\..\..\external
+
+set QTPath=%EXTERNAL_ROOT%\Qt5.6.1\vc2015\x86\bin
+
+set GenPath="%PROJECT_ROOT%\project\Generated\CoreLib"
+set GenMocPath=%GenPath%\moc
+set GenUIPath=%GenPath%\ui
+set GenQRCPath=%GenPath%\qrc
+
+rem goto mocBlastPluginCPP
+rem goto domocHair
+
+echo commands to run
+echo mkdir %GenMocPath%
+echo mkdir %GenUIPath%
+echo mkdir %GenQRCPath%
+rd /s /Q %GenMocPath%
+rd /s /Q %GenUIPath%
+rd /s /Q %GenQRCPath%
+mkdir %GenMocPath%
+mkdir %GenUIPath%
+mkdir %GenQRCPath%
+
+:domoc
+
+for /f "delims=" %%a in ('dir /a-d/b/s "%PROJECT_ROOT%\source\CoreLib\*.h"') do (
+ findstr /i "Q_OBJECT" "%%a">nul&&(
+ echo %QTPath%\moc.exe %%a -o %GenMocPath%\moc_%%~na.cpp
+ %QTPath%\moc.exe %%a -o %GenMocPath%\moc_%%~na.cpp
+ )
+)
+
+for /f "delims=" %%a in ('dir /a-d/b/s "%PROJECT_ROOT%\source\CoreLib\Window\*.h"') do (
+ findstr /i "Q_OBJECT" "%%a">nul&&(
+ echo %QTPath%\moc.exe %%a -o %GenMocPath%\moc_%%~na.cpp
+ %QTPath%\moc.exe %%a -o %GenMocPath%\moc_%%~na.cpp
+ )
+)
+
+for /f "delims=" %%a in ('dir /a-d/b/s "%PROJECT_ROOT%\source\CoreLib\UI\*.ui"') do (
+ echo %QTPath%\uic.exe %%a -o %GenUIPath%\ui_%%~na.h
+ %QTPath%\uic.exe %%a -o %GenUIPath%\ui_%%~na.h
+)
+
+for /f "delims=" %%a in ('dir /a-d/b/s "%PROJECT_ROOT%\source\CoreLib\UI\*.qrc"') do (
+ echo %QTPath%\rcc.exe %%a -name %%a -no-compress -o %GenQRCPath%\qrc_%%~na.cpp
+ %QTPath%\rcc.exe %%a -name %%a -no-compress -o %GenQRCPath%\qrc_%%~na.cpp
+)
+
+:mocAppMainWindowCPP
+
+echo copy %GenMocPath%\moc_AppMainWindow.cpp %GenMocPath%\..\moc_AppMainWindow.cpp
+copy %GenMocPath%\moc_AppMainWindow.cpp %GenMocPath%\..\moc_AppMainWindow.cpp
+
+echo %QTPath%\moc.exe "%PROJECT_ROOT%\source\CoreLib\Window\AppMainWindow.h" -o %GenMocPath%\moc_AppMainWindow.cpp -DNV_ARTISTTOOLS
+%QTPath%\moc.exe "%PROJECT_ROOT%\source\CoreLib\Window\AppMainWindow.h" -o %GenMocPath%\moc_AppMainWindow.cpp -DNV_ARTISTTOOLS
+
+@echo ---end Moc UI for CoreLib---
+:domocHair
+
+@echo ---start Moc UI for BlastPlugin---
+set GenPath="%PROJECT_ROOT%\project\Generated\BlastPlugin"
+set GenMocPath=%GenPath%\moc
+set GenUIPath=%GenPath%\ui
+set GenQRCPath=%GenPath%\qrc
+
+echo commands to run
+echo mkdir %GenMocPath%
+echo mkdir %GenUIPath%
+echo mkdir %GenQRCPath%
+rd /s /Q %GenMocPath%
+rd /s /Q %GenUIPath%
+rd /s /Q %GenQRCPath%
+mkdir %GenMocPath%
+mkdir %GenUIPath%
+mkdir %GenQRCPath%
+
+:domocHairStart
+for /f "delims=" %%a in ('dir /a-d/b/s "%PROJECT_ROOT%\source\BlastPlugin\*.h"') do (
+ findstr /i "Q_OBJECT" "%%a">nul&&(
+ echo %QTPath%\moc.exe %%a -o %GenMocPath%\moc_%%~na.cpp "-I./../../source/CoreLib"
+ %QTPath%\moc.exe %%a -o %GenMocPath%\moc_%%~na.cpp "-I./../../source/CoreLib"
+ )
+)
+
+for /f "delims=" %%a in ('dir /a-d/b/s "%PROJECT_ROOT%\source\BlastPlugin\Window\*.h"') do (
+ findstr /i "Q_OBJECT" "%%a">nul&&(
+ echo %QTPath%\moc.exe %%a -o %GenMocPath%\moc_%%~na.cpp
+ %QTPath%\moc.exe %%a -o %GenMocPath%\moc_%%~na.cpp
+ )
+)
+
+for /f "delims=" %%a in ('dir /a-d/b/s "%PROJECT_ROOT%\source\BlastPlugin\UI\*.ui"') do (
+ echo %QTPath%\uic.exe %%a -o %GenUIPath%\ui_%%~na.h
+ %QTPath%\uic.exe %%a -o %GenUIPath%\ui_%%~na.h
+)
+
+for /f "delims=" %%a in ('dir /a-d/b/s "%PROJECT_ROOT%\source\BlastPlugin\UI\*.qrc"') do (
+ echo %QTPath%\rcc.exe %%a -name %%a -no-compress -o %GenQRCPath%\qrc_%%~na.cpp
+ %QTPath%\rcc.exe %%a -name %%a -no-compress -o %GenQRCPath%\qrc_%%~na.cpp
+)
+
+:mocBlastPluginCPP
+echo %QTPath%\moc.exe "%PROJECT_ROOT%\source\BlastPlugin\BlastPlugin.h" -o %GenMocPath%\moc_BlastPlugin.cpp "-I./../../source/CoreLib"
+%QTPath%\moc.exe "%PROJECT_ROOT%\source\BlastPlugin\BlastPlugin.h" -o %GenMocPath%\moc_BlastPlugin.cpp "-I./../../source/CoreLib"
+goto end
+
+:end \ No newline at end of file
diff --git a/tools/ArtistTools/project/script/create_projects.bat b/tools/ArtistTools/project/script/create_projects.bat
new file mode 100644
index 0000000..a7f8b23
--- /dev/null
+++ b/tools/ArtistTools/project/script/create_projects.bat
@@ -0,0 +1,9 @@
+@ECHO OFF
+
+call GenerateParamsClasses.bat
+
+call GenerateUI.bat
+
+call GenerateShade.bat
+
+call create_projectsOnly.bat
diff --git a/tools/ArtistTools/project/script/create_projectsOnly.bat b/tools/ArtistTools/project/script/create_projectsOnly.bat
new file mode 100644
index 0000000..6c27bf2
--- /dev/null
+++ b/tools/ArtistTools/project/script/create_projectsOnly.bat
@@ -0,0 +1,86 @@
+@ECHO OFF
+rem SET SCRIPT_PATH=%CD%
+rem cd %SCRIPT_PATH%
+
+echo set ENV variables ...
+rem SETLOCAL
+
+SET PM_DRIVE=%CD:~0,2%
+SET PM_PACKAGES_ROOT=%PM_DRIVE%\NVIDIA\packman-repo
+echo PM_PACKAGES_ROOT is %PM_PACKAGES_ROOT%
+
+REM Get the absolute path for \trunk\
+@pushd ..\..\..\..
+SET SRC_ROOT=%CD%
+@popd
+echo SRC_ROOT is %SRC_ROOT%
+
+IF %SRC_ROOT%Nothing==Nothing EXIT /B 1
+
+SET BLAST_PATH=%SRC_ROOT%
+SET EXTERNAL_ROOT=%SRC_ROOT%\..\..\external
+SET NVCOMMON_ROOT=%SRC_ROOT%\..\..\external
+SET PX_VERSION=1.0.21652946
+SET PHYSX_VERSION=3.4.21652946
+SET APEX_VERSION=1.4.21652946
+SET IMGUI_PATH=%PM_PACKAGES_ROOT%\imgui\1.49
+SET TINYOBJ_PATH=%PM_PACKAGES_ROOT%\tinyObjLoader\1.0
+SET TCLAP_PATH=%PM_PACKAGES_ROOT%\tclap\1.2.1
+SET FBXSDK_ROOT=%PM_PACKAGES_ROOT%\FBXSDK\2017.0.1
+SET NVTOOLSEXT=%PM_PACKAGES_ROOT%\nvToolsExt\1.0
+SET DIRECTXTEX_PATH=%PM_PACKAGES_ROOT%\DirectXTex\10.5.2016.2
+SET DXUT_PATH=%PM_PACKAGES_ROOT%\DXUT\9.15.2016.1
+SET SHADOWLIB_PATH=%PM_PACKAGES_ROOT%\shadow_lib\2.1.20145239
+SET HBAOPLUS_PATH=%PM_PACKAGES_ROOT%\hbao_plus\3.0.20515708
+
+SET D3D11_ROOT=%EXTERNAL_ROOT%\D3D11
+SET NvFoundation_ROOT=%EXTERNAL_ROOT%\NvFoundation\1.1\trunk
+SET NsFoundation_ROOT=%EXTERNAL_ROOT%\NsFoundation\1.1\trunk
+SET NvParameterized_ROOT=%EXTERNAL_ROOT%\NvParameterized\1.1\trunk
+SET NsFileBuffer_ROOT=%EXTERNAL_ROOT%\NsFileBuffer\1.1\trunk
+SET NsFastXML_ROOT=%EXTERNAL_ROOT%\NsFastXML\1.1\trunk
+SET OpenAutomate_ROOT=%EXTERNAL_ROOT%\OpenAutomate-1.0-7
+SET SDL_ROOT=%EXTERNAL_ROOT%\SDL2-2.0.0
+set XPJ="%SRC_ROOT%\tools\ArtistTools\project\script\xpj4.exe"
+
+SET QTDIR=%EXTERNAL_ROOT%\Qt5.6.1\vc2015
+SET FBXSDK_LIB_ROOT=%FBXSDK_ROOT%\lib\vs2015
+set VC_VERSION=vc14
+set VS_STRING=VS2015
+
+SET PX_SHARED=%PM_PACKAGES_ROOT%\PxShared-%VC_VERSION%win32\%PX_VERSION%
+SET PHYSX_PATH=%PM_PACKAGES_ROOT%\PhysX-%VC_VERSION%win32\%PHYSX_VERSION%
+SET APEX_PATH=%PM_PACKAGES_ROOT%\Apex-%VC_VERSION%win32\%APEX_VERSION%
+%XPJ% -v 4 -t %VC_VERSION% -p win32 -x ArtistTools.xml
+
+SET PX_SHARED=%PM_PACKAGES_ROOT%\PxShared-%VC_VERSION%win64\%PX_VERSION%
+SET PHYSX_PATH=%PM_PACKAGES_ROOT%\PhysX-%VC_VERSION%win64\%PHYSX_VERSION%
+SET APEX_PATH=%PM_PACKAGES_ROOT%\Apex-%VC_VERSION%win64\%APEX_VERSION%
+%XPJ% -v 4 -t %VC_VERSION% -p win64 -x ArtistTools.xml
+
+SET QTDIR=%EXTERNAL_ROOT%\Qt5.6.1\vc2013
+SET FBXSDK_LIB_ROOT=%FBXSDK_ROOT%\lib\vs2013
+SET VC_VERSION=vc12
+SET VS_STRING=VS2013
+
+SET PX_SHARED=%PM_PACKAGES_ROOT%\PxShared-%VC_VERSION%win32\%PX_VERSION%
+SET PHYSX_PATH=%PM_PACKAGES_ROOT%\PhysX-%VC_VERSION%win32\%PHYSX_VERSION%
+SET APEX_PATH=%PM_PACKAGES_ROOT%\Apex-%VC_VERSION%win32\%APEX_VERSION%
+%XPJ% -v 4 -t %VC_VERSION% -p win32 -x ArtistTools.xml
+
+SET PX_SHARED=%PM_PACKAGES_ROOT%\PxShared-%VC_VERSION%win64\%PX_VERSION%
+SET PHYSX_PATH=%PM_PACKAGES_ROOT%\PhysX-%VC_VERSION%win64\%PHYSX_VERSION%
+SET APEX_PATH=%PM_PACKAGES_ROOT%\Apex-%VC_VERSION%win64\%APEX_VERSION%
+%XPJ% -v 4 -t %VC_VERSION% -p win64 -x ArtistTools.xml
+
+echo ""
+echo if the following root paths are not right. please correct them
+echo SRC_ROOT is %SRC_ROOT%
+echo D3D11_ROOT root is %D3D11_ROOT%
+echo QTDIR root is %QTDIR%
+echo FBXSDK_ROOT root is %FBXSDK_ROOT%
+echo NvFoundation_ROOT root is %NvFoundation_ROOT%
+echo NsFoundation_ROOT root is %NsFoundation_ROOT%
+echo NvParameterized_ROOT root is %NvParameterized_ROOT%
+echo OpenAutomate_ROOT root is %OpenAutomate_ROOT%
+echo SDL_ROOT root is %SDL_ROOT% \ No newline at end of file
diff --git a/tools/ArtistTools/project/script/dllcopy.bat b/tools/ArtistTools/project/script/dllcopy.bat
new file mode 100644
index 0000000..7196545
--- /dev/null
+++ b/tools/ArtistTools/project/script/dllcopy.bat
@@ -0,0 +1,117 @@
+REM the TODIR (destination folder) should NOT contain a trailing '\', this script will append it
+
+SETLOCAL
+
+SET PLATFORMENDING=%1
+SET TODIR=%2
+SET NXDIR=%3
+SET PXSHAREDDIR=%4
+SET APEXXDIR=%5
+SET NVTXDIR=%6
+SET GLDIR=%7
+SET WINSDKDIR=%8
+SET SHAREDDIR=%9
+
+echo Copy %PLATFORMENDING%
+echo TARGET = %TODIR%
+echo NXDIR = %NXDIR%
+echo PXSHAREDDIR = %PXSHAREDDIR%
+echo APEXXDIR = %APEXXDIR%
+echo NVTXDIR = %NVTXDIR%
+echo GLDIR = %GLDIR%
+echo SHAREDDIR = %SHAREDDIR%
+
+
+
+IF "%1"=="" GOTO ARGUMENT_ERROR
+
+CALL :UPDATE_TARGET %NXDIR% PhysXCore.dll
+CALL :UPDATE_TARGET %NXDIR% PhysXCoreDEBUG.dll
+CALL :UPDATE_TARGET %NXDIR% PhysXCooking.dll
+CALL :UPDATE_TARGET %NXDIR% PhysXCookingDEBUG.dll
+CALL :UPDATE_TARGET %NXDIR% PhysXLoader.dll
+CALL :UPDATE_TARGET %NXDIR% PhysXLoaderDEBUG.dll
+
+CALL :UPDATE_TARGET %NXDIR% PhysXDevice.dll
+CALL :UPDATE_TARGET %NXDIR% cudart*.dll
+
+CALL :UPDATE_TARGET %NXDIR% PhysX3_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CHECKED_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3DEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3PROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3Common_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CommonCHECKED_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CommonDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CommonPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CharacterKinematic_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CharacterKinematicCHECKED_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CharacterKinematicDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CharacterKinematicPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3Cooking_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CookingCHECKED_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CookingDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3CookingPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3Gpu_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3GpuCHECKED_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3GpuDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %NXDIR% PhysX3GpuPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %PXSHAREDDIR% PxFoundation_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %PXSHAREDDIR% PxFoundationCHECKED_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %PXSHAREDDIR% PxFoundationPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %PXSHAREDDIR% PxFoundationDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %PXSHAREDDIR% PxPvdSDK_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %PXSHAREDDIR% PxPvdSDKCHECKED_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %PXSHAREDDIR% PxPvdSDKDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %PXSHAREDDIR% PxPvdSDKPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_DestructibleDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_DestructiblePROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_Destructible_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_LegacyDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_LegacyPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_Legacy_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_LoaderDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_LoaderPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% APEX_Loader_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% ApexFrameworkDEBUG_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% ApexFrameworkPROFILE_%PLATFORMENDING%.dll
+CALL :UPDATE_TARGET %APEXXDIR% ApexFramework_%PLATFORMENDING%.dll
+IF "%PLATFORMENDING%"=="x64" (
+CALL :UPDATE_TARGET %GLDIR%\samples\bin\win64 AntTweakBar64.dll
+CALL :UPDATE_TARGET %GLDIR%\samples\bin\win64 Assimp64.dll
+CALL :UPDATE_TARGET %WINSDKDIR%\bin\x64 d3dcompiler_47.dll
+CALL :UPDATE_TARGET %SHAREDDIR%\shadow_lib GFSDK_ShadowLib_DX11.win64.dll
+CALL :UPDATE_TARGET %SHAREDDIR%\hbao GFSDK_SSAO_D3D11.win64.dll
+) ELSE (
+CALL :UPDATE_TARGET %GLDIR%\samples\bin\win32 AntTweakBar.dll
+CALL :UPDATE_TARGET %GLDIR%\samples\bin\win32 Assimp32.dll
+CALL :UPDATE_TARGET %WINSDKDIR%\bin\x86 d3dcompiler_47.dll
+CALL :UPDATE_TARGET %SHAREDDIR%\shadow_lib GFSDK_ShadowLib_DX11.win32.dll
+CALL :UPDATE_TARGET %SHAREDDIR%\hbao GFSDK_SSAO_D3D11.win32.dll
+)
+
+CALL :UPDATE_TARGET %NVTXDIR% nvToolsExt*.dll
+
+
+
+ENDLOCAL
+GOTO END
+
+
+REM ********************************************
+REM NO CALLS TO :UPDATE_TARGET below this line!!
+REM ********************************************
+
+:UPDATE_TARGET
+IF NOT EXIST %1\%2 (
+ REM ECHO File doesn't exist %1\%2
+) ELSE (
+ REM echo updating %2
+ REM echo XCOPY "%1\%2" "%TODIR%"
+ XCOPY "%1\%2" "%TODIR%" /D /Y
+)
+GOTO END
+
+:ARGUMENT_ERROR
+ECHO ERROR: too few arguments to dllcopy.bat (need PhysXBinDir ApexBinDir)
+
+:END
diff --git a/tools/ArtistTools/project/script/xpj4.exe b/tools/ArtistTools/project/script/xpj4.exe
new file mode 100644
index 0000000..d9d992c
--- /dev/null
+++ b/tools/ArtistTools/project/script/xpj4.exe
Binary files differ