diff options
| author | Dmitry Duka <[email protected]> | 2017-10-31 14:34:10 +0300 |
|---|---|---|
| committer | Dmitry Duka <[email protected]> | 2017-10-31 14:34:10 +0300 |
| commit | 4bc8034acac37e8493a5d166d9573543da149f94 (patch) | |
| tree | 41059b185be6a1d65b13cc2240055fee26a17205 /samples | |
| parent | Updating Ansel SDK to the latest revision (diff) | |
| download | anselsdk-4bc8034acac37e8493a5d166d9573543da149f94.tar.xz anselsdk-4bc8034acac37e8493a5d166d9573543da149f94.zip | |
Updating Ansel SDK to v1.5v1.5.371
Diffstat (limited to 'samples')
8 files changed, 349 insertions, 964 deletions
diff --git a/samples/AnselSDKDelayLoader/AnselSDKDelayLoader.vcxproj b/samples/AnselSDKDelayLoader/AnselSDKDelayLoader.vcxproj deleted file mode 100644 index 9956b99..0000000 --- a/samples/AnselSDKDelayLoader/AnselSDKDelayLoader.vcxproj +++ /dev/null @@ -1,228 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="source\DelayLoader.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="source\DelayLoader.h" />
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{396213D4-2D38-497D-A4F0-530E7B136874}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>AnselSDK</RootNamespace>
- <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- <ProjectName>AnselSDKDelayLoader</ProjectName>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LinkIncremental>true</LinkIncremental>
- <OutDir>lib\$(Platform)\</OutDir>
- <IntDir>intermediate\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
- <PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
- <TargetExt>.lib</TargetExt>
- <TargetName>$(ProjectName)32d</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <LinkIncremental>true</LinkIncremental>
- <OutDir>lib\$(Platform)\</OutDir>
- <IntDir>intermediate\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
- <PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
- <TargetExt>.lib</TargetExt>
- <TargetName>$(ProjectName)64d</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LinkIncremental>false</LinkIncremental>
- <OutDir>lib\$(Platform)\</OutDir>
- <IntDir>intermediate\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
- <PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
- <TargetExt>.lib</TargetExt>
- <TargetName>$(ProjectName)32</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <LinkIncremental>false</LinkIncremental>
- <OutDir>lib\$(Platform)\</OutDir>
- <IntDir>intermediate\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
- <PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
- <TargetExt>.lib</TargetExt>
- <TargetName>$(ProjectName)64</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>../../include;source</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <DisableSpecificWarnings>4350;4514;4625;4626;4710;4711;4820;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <ExceptionHandling>Async</ExceptionHandling>
- <SmallerTypeCheck>false</SmallerTypeCheck>
- <SDLCheck>true</SDLCheck>
- <ControlFlowGuard>Guard</ControlFlowGuard>
- <TreatWarningAsError>true</TreatWarningAsError>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ImportLibrary>lib\$(Platform)\$(TargetName).lib</ImportLibrary>
- </Link>
- <PostBuildEvent>
- <Command>
- </Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>../../include;source</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <DisableSpecificWarnings>4350;4514;4625;4626;4710;4711;4820;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <ControlFlowGuard>Guard</ControlFlowGuard>
- <ExceptionHandling>Async</ExceptionHandling>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <SmallerTypeCheck>false</SmallerTypeCheck>
- <SDLCheck>true</SDLCheck>
- <TreatWarningAsError>true</TreatWarningAsError>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ImportLibrary>lib\$(Platform)\$(TargetName).lib</ImportLibrary>
- </Link>
- <PostBuildEvent>
- <Command>
- </Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>../../include;source</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <DisableSpecificWarnings>4350;4514;4625;4626;4710;4711;4820;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <ExceptionHandling>Async</ExceptionHandling>
- <SmallerTypeCheck>false</SmallerTypeCheck>
- <BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <SDLCheck>true</SDLCheck>
- <ControlFlowGuard>Guard</ControlFlowGuard>
- <TreatWarningAsError>true</TreatWarningAsError>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- <ImportLibrary>lib\$(Platform)\$(TargetName).lib</ImportLibrary>
- </Link>
- <PostBuildEvent>
- <Command>
- </Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>../../include;source</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <DisableSpecificWarnings>4350;4514;4625;4626;4710;4711;4820;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <ExceptionHandling>Async</ExceptionHandling>
- <SmallerTypeCheck>false</SmallerTypeCheck>
- <BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <SDLCheck>true</SDLCheck>
- <ControlFlowGuard>Guard</ControlFlowGuard>
- <TreatWarningAsError>true</TreatWarningAsError>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- <ImportLibrary>lib\$(Platform)\$(TargetName).lib</ImportLibrary>
- </Link>
- <PostBuildEvent>
- <Command>
- </Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/samples/AnselSDKDelayLoader/AnselSDKDelayLoader.vcxproj.filters b/samples/AnselSDKDelayLoader/AnselSDKDelayLoader.vcxproj.filters deleted file mode 100644 index 0842bea..0000000 --- a/samples/AnselSDKDelayLoader/AnselSDKDelayLoader.vcxproj.filters +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>h;hpp;cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="source\DelayLoader.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="source\DelayLoader.h">
- <Filter>Source Files</Filter>
- </ClInclude>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/samples/AnselSDKDelayLoader/source/DelayLoader.cpp b/samples/AnselSDKDelayLoader/source/DelayLoader.cpp deleted file mode 100644 index a7ec5f0..0000000 --- a/samples/AnselSDKDelayLoader/source/DelayLoader.cpp +++ /dev/null @@ -1,327 +0,0 @@ -// This code contains NVIDIA Confidential Information and is disclosed to you
-// under a form of NVIDIA software license agreement provided separately to you.
-//
-// Notice
-// NVIDIA Corporation and its licensors retain all intellectual property and
-// proprietary rights in and to this software and related documentation and
-// any modifications thereto. Any use, reproduction, disclosure, or
-// distribution of this software and related documentation without an express
-// license agreement from NVIDIA Corporation is strictly prohibited.
-//
-// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
-// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
-//
-// Information and code furnished is believed to be accurate and reliable.
-// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright 2016 NVIDIA Corporation. All rights reserved.
-
-
-#define ANSEL_SDK_DELAYLOAD
-#include "DelayLoader.h"
-#include <ansel/Camera.h>
-#include <ansel/Hints.h>
-#include <ansel/Configuration.h>
-#include <ansel/UserControls.h>
-#include <cmath>
-#include <Windows.h>
-#include <stdio.h>
-#include <codecvt>
-
-
-namespace
-{
- HMODULE anselSDK = NULL;
-}
-
-namespace ansel
-{
- namespace
- {
- typedef SetConfigurationStatus(__cdecl *PFNSETCONFIGURATION)(const Configuration& cfg);
- typedef void(__cdecl *PFNUPDATECAMERA)(Camera& camera);
- typedef void(__cdecl *PFNSESSIONFUNC)();
- typedef bool(__cdecl *PFNISANSELAVAILABLE)();
- typedef void(__cdecl *PFNMARKBUFFERBIND)(BufferType, HintType, uint64_t);
- typedef void(__cdecl *PFNMARKBUFFERFINISHED)(BufferType, uint64_t);
- typedef UserControlStatus(__cdecl *PFNADDUSERCONTROL)(const UserControlDesc&);
- typedef UserControlStatus(__cdecl *PFNSETUSERCONTROLLABELLOCALIZATION)(uint32_t, const char*, const char*);
- typedef UserControlStatus(__cdecl *PFNREMOVEUSERCONTROL)(uint32_t);
- typedef UserControlStatus(__cdecl *PFNGETUSERCONTROLVALUE)(uint32_t, void*);
-
- PFNMARKBUFFERFINISHED markBufferFinishedFunc = nullptr;
- PFNMARKBUFFERBIND markBufferBindFunc = nullptr;
- PFNSESSIONFUNC stopSessionFunc = nullptr;
- PFNSESSIONFUNC startSessionFunc = nullptr;
- PFNUPDATECAMERA updateCameraFunc = nullptr;
- PFNSETCONFIGURATION setConfigurationFunc = nullptr;
- PFNADDUSERCONTROL addUserControlFunc = nullptr;
- PFNSETUSERCONTROLLABELLOCALIZATION setUserControlLabelLocalizationFunc = nullptr;
- PFNREMOVEUSERCONTROL removeUserControlFunc = nullptr;
- PFNGETUSERCONTROLVALUE getUserControlValueFunc = nullptr;
-
- DelayLoadStatus resolveFunctionPointers()
- {
- if (anselSDK == NULL)
- return kDelayLoadDllNotFound;
-
- setConfigurationFunc = reinterpret_cast<PFNSETCONFIGURATION>(GetProcAddress(anselSDK, "setConfiguration"));
- stopSessionFunc = reinterpret_cast<PFNSESSIONFUNC>(GetProcAddress(anselSDK, "stopSession"));
- startSessionFunc = reinterpret_cast<PFNSESSIONFUNC>(GetProcAddress(anselSDK, "startSession"));
- updateCameraFunc = reinterpret_cast<PFNUPDATECAMERA>(GetProcAddress(anselSDK, "updateCamera"));
- markBufferBindFunc = reinterpret_cast<PFNMARKBUFFERBIND>(GetProcAddress(anselSDK, "markBufferBind"));
- markBufferFinishedFunc = reinterpret_cast<PFNMARKBUFFERFINISHED>(GetProcAddress(anselSDK, "markBufferFinished"));
- addUserControlFunc = reinterpret_cast<PFNADDUSERCONTROL>(GetProcAddress(anselSDK, "addUserControl"));
- setUserControlLabelLocalizationFunc = reinterpret_cast<PFNSETUSERCONTROLLABELLOCALIZATION>(GetProcAddress(anselSDK, "setUserControlLabelLocalization"));
- removeUserControlFunc = reinterpret_cast<PFNREMOVEUSERCONTROL>(GetProcAddress(anselSDK, "removeUserControl"));
- getUserControlValueFunc = reinterpret_cast<PFNGETUSERCONTROLVALUE>(GetProcAddress(anselSDK, "getUserControlValue"));
-
- if (setConfigurationFunc == nullptr ||
- stopSessionFunc == nullptr ||
- startSessionFunc == nullptr ||
- updateCameraFunc == nullptr ||
- markBufferBindFunc == nullptr ||
- markBufferFinishedFunc == nullptr ||
- addUserControlFunc == nullptr ||
- setUserControlLabelLocalizationFunc == nullptr ||
- removeUserControlFunc == nullptr ||
- getUserControlValueFunc == nullptr)
- return kDelayLoadIncompatibleVersion;
-
- return kDelayLoadOk;
- }
-
- void makeQuaternionFromRotationMatrix(nv::Quat& q, const float r[3][3])
- {
- float trace = r[0][0] + r[1][1] + r[2][2];
-
- if (trace > 0.0f) {
- // |w| > 1/2, may as well choose w > 1/2
- float s = sqrtf(trace + 1.0f); // 2w
-
- q.w = s * 0.5f;
- s = 0.5f / s; // 1/(4w)
-
- q.x = (r[2][1] - r[1][2]) * s;
- q.y = (r[0][2] - r[2][0]) * s;
- q.z = (r[1][0] - r[0][1]) * s;
- }
- else {
- // |w| <= 1/2
- int i = 0;
- if (r[1][1] > r[0][0]) i = 1;
- if (r[2][2] > r[i][i]) i = 2;
-
- int j = (1 << i) & 3; // i + 1 modulo 3.
- int k = (1 << j) & 3;
-
- float s = sqrtf(r[i][i] - r[j][j] - r[k][k] + 1.0f);
-
- float* component = &q.x;
- component[i] = s * 0.5f;
- s = 0.5f / s;
- component[j] = (r[i][j] + r[j][i]) * s;
- component[k] = (r[k][i] + r[i][k]) * s;
- q.w = (r[k][j] - r[j][k]) * s;
- }
- }
-
- void makeRotationMatrixFromQuaternion(float rot[3][3], const nv::Quat& q)
- {
- float s = 2.0f;
-
- float xs = q.x * s;
- float ys = q.y * s;
- float zs = q.z * s;
-
- float wx = q.w * xs;
- float wy = q.w * ys;
- float wz = q.w * zs;
-
- float xx = q.x * xs;
- float xy = q.x * ys;
- float xz = q.x * zs;
-
- float yy = q.y * ys;
- float yz = q.y * zs;
- float zz = q.z * zs;
-
- rot[0][0] = 1.0f - (yy + zz);
- rot[0][1] = xy - wz;
- rot[0][2] = xz + wy;
-
- rot[1][0] = xy + wz;
- rot[1][1] = 1.0f - (xx + zz);
- rot[1][2] = yz - wx;
-
- rot[2][0] = xz - wy;
- rot[2][1] = yz + wx;
- rot[2][2] = 1.0f - (xx + yy);
- }
-
- // This may seem like a funky construct so allow me to explain. This code serves only
- // one purpose: to create a signaling object that Ansel (when loaded from driver shim)
- // can use to detect that a game has integrated the SDK. Note that this same object
- // will also be created by the SDK DLL when loaded but this is safe since creating
- // the same mutex again just provides a handle to the already existing mutex.
- class SdkMutex
- {
- public:
- SdkMutex()
- {
- DWORD id = GetCurrentProcessId();
- char name[MAX_PATH];
- sprintf_s(name, "NVIDIA/Ansel/%d", id);
- CreateMutexA(NULL, false, name);
- }
- };
-
- SdkMutex s_mySdkMutex;
- }
-
-
- SetConfigurationStatus setConfiguration(const Configuration& config)
- {
- if (setConfigurationFunc)
- return setConfigurationFunc(config);
- else
- return kSetConfigurationSdkNotLoaded;
- }
-
- void updateCamera(ansel::Camera& cam)
- {
- if (updateCameraFunc)
- updateCameraFunc(cam);
- }
-
- void stopSession()
- {
- if (stopSessionFunc)
- stopSessionFunc();
- }
-
- void startSession()
- {
- if (startSessionFunc)
- startSessionFunc();
- }
-
- bool isAnselAvailable()
- {
- // search for NvCamera32/64 DLL in the process
- const char* moduleName =
-#if _M_AMD64
- "NvCamera64.dll";
-#else
- "NvCamera32.dll";
-#endif
-
- return GetModuleHandleA(moduleName) != nullptr;
- }
-
- void markBufferBind(BufferType bufferType, HintType hintType, uint64_t threadId)
- {
- if (markBufferBindFunc)
- markBufferBindFunc(bufferType, hintType, threadId);
- }
-
- void markBufferFinished(BufferType bufferType, uint64_t threadId)
- {
- if (markBufferFinishedFunc)
- markBufferFinishedFunc(bufferType, threadId);
- }
-
- void quaternionToRotationMatrixVectors(const nv::Quat& q, nv::Vec3& right, nv::Vec3& up, nv::Vec3& forward)
- {
- float rot[3][3];
- makeRotationMatrixFromQuaternion(rot, q);
- right = { rot[0][0], rot[1][0], rot[2][0] };
- up = { rot[0][1], rot[1][1], rot[2][1] };
- forward = { rot[0][2], rot[1][2], rot[2][2] };
- }
-
- void rotationMatrixVectorsToQuaternion(const nv::Vec3& right, const nv::Vec3& up, const nv::Vec3& forward, nv::Quat& q)
- {
- const float rot[3][3] = {
- { right.x, up.x, forward.x },
- { right.y, up.y, forward.y },
- { right.z, up.z, forward.z }
- };
- makeQuaternionFromRotationMatrix(q, rot);
- }
-
- UserControlStatus addUserControl(const UserControlDesc& desc)
- {
- if (addUserControlFunc)
- return addUserControlFunc(desc);
- return UserControlStatus::kUserControlInvalidCallback;
- }
-
- UserControlStatus setUserControlLabelLocalization(uint32_t userControlId, const char* lang, const char* labelUtf8)
- {
- if (setUserControlLabelLocalizationFunc)
- return setUserControlLabelLocalizationFunc(userControlId, lang, labelUtf8);
- return UserControlStatus::kUserControlInvalidCallback;
- }
-
- UserControlStatus removeUserControl(uint32_t userControlId)
- {
- if (removeUserControlFunc)
- return removeUserControlFunc(userControlId);
- return UserControlStatus::kUserControlInvalidCallback;
- }
-
- UserControlStatus getUserControlValue(uint32_t userControlId, void* value)
- {
- if (getUserControlValueFunc)
- return getUserControlValueFunc(userControlId, value);
- return UserControlStatus::kUserControlInvalidCallback;
- }
-}
-
-DelayLoadStatus loadAnselSDKLibrary(const char* pathToLibraryUtf8)
-{
- if (anselSDK == NULL)
- {
- if (pathToLibraryUtf8)
- {
- // convert from utf8 to wchar_t:
- std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
- std::wstring pathWstring = converter.from_bytes(pathToLibraryUtf8);
- anselSDK = LoadLibraryW(pathWstring.c_str());
- }
- else
- {
- #if defined(_M_IX86)
- #define ANSEL_BITNESS "32"
- #elif defined(_M_AMD64)
- #define ANSEL_BITNESS "64"
- #endif
-
- #if defined(_DEBUG)
- #define ANSEL_RUNTIME_FLAVOR "d"
- #else
- #define ANSEL_RUNTIME_FLAVOR ""
- #endif
-
- const char* libName = "AnselSDK" ANSEL_BITNESS ANSEL_RUNTIME_FLAVOR ".dll";
- anselSDK = LoadLibraryA(libName);
- }
-
- if (anselSDK == NULL)
- return kDelayLoadDllNotFound;
- else
- return ansel::resolveFunctionPointers();
- }
-
- return kDelayLoadOk;
-}
diff --git a/samples/AnselSDKDelayLoader/source/DelayLoader.h b/samples/AnselSDKDelayLoader/source/DelayLoader.h deleted file mode 100644 index 656101e..0000000 --- a/samples/AnselSDKDelayLoader/source/DelayLoader.h +++ /dev/null @@ -1,41 +0,0 @@ -// This code contains NVIDIA Confidential Information and is disclosed to you
-// under a form of NVIDIA software license agreement provided separately to you.
-//
-// Notice
-// NVIDIA Corporation and its licensors retain all intellectual property and
-// proprietary rights in and to this software and related documentation and
-// any modifications thereto. Any use, reproduction, disclosure, or
-// distribution of this software and related documentation without an express
-// license agreement from NVIDIA Corporation is strictly prohibited.
-//
-// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
-// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
-//
-// Information and code furnished is believed to be accurate and reliable.
-// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright 2016 NVIDIA Corporation. All rights reserved.
-
-#pragma once
-
-enum DelayLoadStatus
-{
- kDelayLoadOk = 0,
- kDelayLoadDllNotFound = -1,
- kDelayLoadIncompatibleVersion = -2,
-};
-// In order to use delay loading instead of regular linking to a dynamic library
-// define ANSEL_SDK_DELAYLOAD for the project and use this function to explicitly
-// load the library. If you don't specify a path then Win32 LoadLibrary search
-// mechanism is applied. If you do specify a path it should be the full path to
-// the AnselSDK32/64.dll in utf8 encoding.
-DelayLoadStatus loadAnselSDKLibrary(const char* pathToLibraryUtf8 = nullptr);
diff --git a/samples/AnselSDKIntegration/AnselSDKIntegration.sln b/samples/AnselSDKIntegration/AnselSDKIntegration.sln index b8a681b..558874c 100644 --- a/samples/AnselSDKIntegration/AnselSDKIntegration.sln +++ b/samples/AnselSDKIntegration/AnselSDKIntegration.sln @@ -1,28 +1,28 @@ -
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AnselSDKIntegration", "AnselSDKIntegration_2015.vcxproj", "{291B6A55-368E-4420-A0EB-FBE077B9F137}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {291B6A55-368E-4420-A0EB-FBE077B9F137}.Debug|x64.ActiveCfg = Debug|x64
- {291B6A55-368E-4420-A0EB-FBE077B9F137}.Debug|x64.Build.0 = Debug|x64
- {291B6A55-368E-4420-A0EB-FBE077B9F137}.Debug|x86.ActiveCfg = Debug|Win32
- {291B6A55-368E-4420-A0EB-FBE077B9F137}.Debug|x86.Build.0 = Debug|Win32
- {291B6A55-368E-4420-A0EB-FBE077B9F137}.Release|x64.ActiveCfg = Release|x64
- {291B6A55-368E-4420-A0EB-FBE077B9F137}.Release|x64.Build.0 = Release|x64
- {291B6A55-368E-4420-A0EB-FBE077B9F137}.Release|x86.ActiveCfg = Release|Win32
- {291B6A55-368E-4420-A0EB-FBE077B9F137}.Release|x86.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AnselSDKIntegration", "AnselSDKIntegration_2015.vcxproj", "{291B6A55-368E-4420-A0EB-FBE077B9F137}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {291B6A55-368E-4420-A0EB-FBE077B9F137}.Debug|x64.ActiveCfg = Debug|x64 + {291B6A55-368E-4420-A0EB-FBE077B9F137}.Debug|x64.Build.0 = Debug|x64 + {291B6A55-368E-4420-A0EB-FBE077B9F137}.Debug|x86.ActiveCfg = Debug|Win32 + {291B6A55-368E-4420-A0EB-FBE077B9F137}.Debug|x86.Build.0 = Debug|Win32 + {291B6A55-368E-4420-A0EB-FBE077B9F137}.Release|x64.ActiveCfg = Release|x64 + {291B6A55-368E-4420-A0EB-FBE077B9F137}.Release|x64.Build.0 = Release|x64 + {291B6A55-368E-4420-A0EB-FBE077B9F137}.Release|x86.ActiveCfg = Release|Win32 + {291B6A55-368E-4420-A0EB-FBE077B9F137}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/samples/AnselSDKIntegration/AnselSDKIntegration_2015.vcxproj b/samples/AnselSDKIntegration/AnselSDKIntegration_2015.vcxproj index 28a3ba7..ef49b24 100644 --- a/samples/AnselSDKIntegration/AnselSDKIntegration_2015.vcxproj +++ b/samples/AnselSDKIntegration/AnselSDKIntegration_2015.vcxproj @@ -1,252 +1,252 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>AnselSDKIntegration</ProjectName>
- <ProjectGuid>{291B6A55-368E-4420-A0EB-FBE077B9F137}</ProjectGuid>
- <RootNamespace>AnselSDKIntegration</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LinkIncremental>true</LinkIncremental>
- <GenerateManifest>true</GenerateManifest>
- <IntDir>intermediate\$(Platform)\$(Configuration)\</IntDir>
- <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
- <LinkIncremental>true</LinkIncremental>
- <GenerateManifest>true</GenerateManifest>
- <IntDir>intermediate\$(Platform)\$(Configuration)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LinkIncremental>false</LinkIncremental>
- <GenerateManifest>true</GenerateManifest>
- <IntDir>intermediate\$(Platform)\$(Configuration)\</IntDir>
- <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
- <LinkIncremental>false</LinkIncremental>
- <GenerateManifest>true</GenerateManifest>
- <IntDir>intermediate\$(Platform)\$(Configuration)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <WarningLevel>Level4</WarningLevel>
- <Optimization>Disabled</Optimization>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <OpenMPSupport>false</OpenMPSupport>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <FloatingPointModel>Fast</FloatingPointModel>
- <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
- <ExceptionHandling>Sync</ExceptionHandling>
- <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
- <PreprocessorDefinitions>WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>AnselSDK32.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <LargeAddressAware>true</LargeAddressAware>
- <RandomizedBaseAddress>true</RandomizedBaseAddress>
- <DataExecutionPrevention>true</DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- <UACExecutionLevel>AsInvoker</UACExecutionLevel>
- <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
- <AdditionalLibraryDirectories>../../lib</AdditionalLibraryDirectories>
- </Link>
- <Manifest>
- <EnableDPIAwareness>PerMonitorHighDPIAware</EnableDPIAwareness>
- </Manifest>
- <PreBuildEvent>
- <Command>
- </Command>
- </PreBuildEvent>
- <PostBuildEvent>
- <Command>xcopy /Y ..\..\redist\AnselSDK32.dll Win32\debug\</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
- <ClCompile>
- <WarningLevel>Level4</WarningLevel>
- <Optimization>Disabled</Optimization>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <OpenMPSupport>false</OpenMPSupport>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <FloatingPointModel>Fast</FloatingPointModel>
- <ExceptionHandling>Sync</ExceptionHandling>
- <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
- <PreprocessorDefinitions>WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>AnselSDK64.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <LargeAddressAware>true</LargeAddressAware>
- <RandomizedBaseAddress>true</RandomizedBaseAddress>
- <DataExecutionPrevention>true</DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- <UACExecutionLevel>AsInvoker</UACExecutionLevel>
- <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
- <AdditionalLibraryDirectories>../../lib</AdditionalLibraryDirectories>
- </Link>
- <Manifest>
- <EnableDPIAwareness>PerMonitorHighDPIAware</EnableDPIAwareness>
- </Manifest>
- <PreBuildEvent>
- <Command>
- </Command>
- </PreBuildEvent>
- <PostBuildEvent>
- <Command>xcopy /Y ..\..\redist\AnselSDK64.dll x64\debug\</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level4</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <OpenMPSupport>false</OpenMPSupport>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <FloatingPointModel>Fast</FloatingPointModel>
- <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
- <ExceptionHandling>Sync</ExceptionHandling>
- <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>AnselSDK32.lib;d3d11.lib;d3dcompiler.lib;;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LargeAddressAware>true</LargeAddressAware>
- <RandomizedBaseAddress>true</RandomizedBaseAddress>
- <DataExecutionPrevention>true</DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- <UACExecutionLevel>AsInvoker</UACExecutionLevel>
- <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
- <AdditionalLibraryDirectories>../../lib</AdditionalLibraryDirectories>
- </Link>
- <Manifest>
- <EnableDPIAwareness>PerMonitorHighDPIAware</EnableDPIAwareness>
- </Manifest>
- <PreBuildEvent>
- <Command>
- </Command>
- </PreBuildEvent>
- <PostBuildEvent>
- <Command>xcopy /Y ..\..\redist\AnselSDK32.dll Win32\release\</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
- <ClCompile>
- <WarningLevel>Level4</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <OpenMPSupport>false</OpenMPSupport>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <FloatingPointModel>Fast</FloatingPointModel>
- <ExceptionHandling>Sync</ExceptionHandling>
- <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
- <AdditionalDependencies>AnselSDK64.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LargeAddressAware>true</LargeAddressAware>
- <RandomizedBaseAddress>true</RandomizedBaseAddress>
- <DataExecutionPrevention>true</DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- <UACExecutionLevel>AsInvoker</UACExecutionLevel>
- <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
- <AdditionalLibraryDirectories>../../lib</AdditionalLibraryDirectories>
- </Link>
- <Manifest>
- <EnableDPIAwareness>PerMonitorHighDPIAware</EnableDPIAwareness>
- </Manifest>
- <PreBuildEvent>
- <Command>
- </Command>
- </PreBuildEvent>
- <PostBuildEvent>
- <Command>xcopy /Y ..\..\redist\AnselSDK64.dll x64\release\</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="AnselSDKIntegration.cpp" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets" />
+<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectName>AnselSDKIntegration</ProjectName> + <ProjectGuid>{291B6A55-368E-4420-A0EB-FBE077B9F137}</ProjectGuid> + <RootNamespace>AnselSDKIntegration</RootNamespace> + <Keyword>Win32Proj</Keyword> + <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings" /> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <LinkIncremental>true</LinkIncremental> + <GenerateManifest>true</GenerateManifest> + <IntDir>intermediate\$(Platform)\$(Configuration)\</IntDir> + <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'"> + <LinkIncremental>true</LinkIncremental> + <GenerateManifest>true</GenerateManifest> + <IntDir>intermediate\$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <LinkIncremental>false</LinkIncremental> + <GenerateManifest>true</GenerateManifest> + <IntDir>intermediate\$(Platform)\$(Configuration)\</IntDir> + <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'"> + <LinkIncremental>false</LinkIncremental> + <GenerateManifest>true</GenerateManifest> + <IntDir>intermediate\$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level4</WarningLevel> + <Optimization>Disabled</Optimization> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <OpenMPSupport>false</OpenMPSupport> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FloatingPointModel>Fast</FloatingPointModel> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <ExceptionHandling>Sync</ExceptionHandling> + <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions> + <PreprocessorDefinitions>WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions> + <AdditionalDependencies>AnselSDK32.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <LargeAddressAware>true</LargeAddressAware> + <RandomizedBaseAddress>true</RandomizedBaseAddress> + <DataExecutionPrevention>true</DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + <UACExecutionLevel>AsInvoker</UACExecutionLevel> + <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs> + <AdditionalLibraryDirectories>../../lib</AdditionalLibraryDirectories> + </Link> + <Manifest> + <EnableDPIAwareness>PerMonitorHighDPIAware</EnableDPIAwareness> + </Manifest> + <PreBuildEvent> + <Command> + </Command> + </PreBuildEvent> + <PostBuildEvent> + <Command>xcopy /Y ..\..\redist\AnselSDK32.dll Win32\debug\</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'"> + <ClCompile> + <WarningLevel>Level4</WarningLevel> + <Optimization>Disabled</Optimization> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <OpenMPSupport>false</OpenMPSupport> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FloatingPointModel>Fast</FloatingPointModel> + <ExceptionHandling>Sync</ExceptionHandling> + <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions> + <PreprocessorDefinitions>WIN32;_DEBUG;DEBUG;PROFILE;_WINDOWS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions> + <AdditionalDependencies>AnselSDK64.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <LargeAddressAware>true</LargeAddressAware> + <RandomizedBaseAddress>true</RandomizedBaseAddress> + <DataExecutionPrevention>true</DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + <UACExecutionLevel>AsInvoker</UACExecutionLevel> + <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs> + <AdditionalLibraryDirectories>../../lib</AdditionalLibraryDirectories> + </Link> + <Manifest> + <EnableDPIAwareness>PerMonitorHighDPIAware</EnableDPIAwareness> + </Manifest> + <PreBuildEvent> + <Command> + </Command> + </PreBuildEvent> + <PostBuildEvent> + <Command>xcopy /Y ..\..\redist\AnselSDK64.dll x64\debug\</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level4</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <OpenMPSupport>false</OpenMPSupport> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FloatingPointModel>Fast</FloatingPointModel> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <ExceptionHandling>Sync</ExceptionHandling> + <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions> + <AdditionalDependencies>AnselSDK32.lib;d3d11.lib;d3dcompiler.lib;;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LargeAddressAware>true</LargeAddressAware> + <RandomizedBaseAddress>true</RandomizedBaseAddress> + <DataExecutionPrevention>true</DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + <UACExecutionLevel>AsInvoker</UACExecutionLevel> + <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs> + <AdditionalLibraryDirectories>../../lib</AdditionalLibraryDirectories> + </Link> + <Manifest> + <EnableDPIAwareness>PerMonitorHighDPIAware</EnableDPIAwareness> + </Manifest> + <PreBuildEvent> + <Command> + </Command> + </PreBuildEvent> + <PostBuildEvent> + <Command>xcopy /Y ..\..\redist\AnselSDK32.dll Win32\release\</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'"> + <ClCompile> + <WarningLevel>Level4</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <OpenMPSupport>false</OpenMPSupport> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FloatingPointModel>Fast</FloatingPointModel> + <ExceptionHandling>Sync</ExceptionHandling> + <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions> + <AdditionalDependencies>AnselSDK64.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LargeAddressAware>true</LargeAddressAware> + <RandomizedBaseAddress>true</RandomizedBaseAddress> + <DataExecutionPrevention>true</DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + <UACExecutionLevel>AsInvoker</UACExecutionLevel> + <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs> + <AdditionalLibraryDirectories>../../lib</AdditionalLibraryDirectories> + </Link> + <Manifest> + <EnableDPIAwareness>PerMonitorHighDPIAware</EnableDPIAwareness> + </Manifest> + <PreBuildEvent> + <Command> + </Command> + </PreBuildEvent> + <PostBuildEvent> + <Command>xcopy /Y ..\..\redist\AnselSDK64.dll x64\release\</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="AnselSDKIntegration.cpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets" /> </Project>
\ No newline at end of file diff --git a/samples/AnselSDKIntegration/AnselSDKIntegration_2015.vcxproj.filters b/samples/AnselSDKIntegration/AnselSDKIntegration_2015.vcxproj.filters index ac5233b..bcf807f 100644 --- a/samples/AnselSDKIntegration/AnselSDKIntegration_2015.vcxproj.filters +++ b/samples/AnselSDKIntegration/AnselSDKIntegration_2015.vcxproj.filters @@ -1,12 +1,12 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns:atg="http://atg.xbox.com" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Resource Files">
- <UniqueIdentifier>{8e114980-c1a3-4ada-ad7c-83caadf5daeb}</UniqueIdentifier>
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="AnselSDKIntegration.cpp" />
- </ItemGroup>
+<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns:atg="http://atg.xbox.com" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Resource Files"> + <UniqueIdentifier>{8e114980-c1a3-4ada-ad7c-83caadf5daeb}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="AnselSDKIntegration.cpp" /> + </ItemGroup> </Project>
\ No newline at end of file diff --git a/samples/AnselSDKIntegration/Shaders.fx b/samples/AnselSDKIntegration/Shaders.fx index 8c1b4bd..abac43c 100644 --- a/samples/AnselSDKIntegration/Shaders.fx +++ b/samples/AnselSDKIntegration/Shaders.fx @@ -1,59 +1,59 @@ -cbuffer ConstantBuffer : register( b0 )
-{
- matrix World;
- matrix View;
- matrix Projection;
- float4 vLightDir;
- float4 vLightColor;
- float4 vOutputColor;
- float vTime;
-}
-
-struct VS_INPUT
-{
- float4 Pos : POSITION;
- float3 Norm : NORMAL;
-};
-
-struct PS_INPUT
-{
- float4 Pos : SV_POSITION;
- float3 Norm : TEXCOORD0;
-};
-
-PS_INPUT VS( VS_INPUT input )
-{
- PS_INPUT output = (PS_INPUT)0;
- output.Pos = mul( input.Pos, World );
- output.Pos = mul( output.Pos, View );
- output.Pos = mul( output.Pos, Projection );
- output.Norm = mul( float4( input.Norm, 1 ), World ).xyz;
-
- return output;
-}
-
-float4 PS(PS_INPUT input) : SV_Target
-{
- float4 finalColor = saturate(dot((float3)vLightDir, input.Norm) * vLightColor);
- finalColor.a = 1.0f;
- return finalColor;
-}
-
-PS_INPUT VS_Hud(VS_INPUT input)
-{
- PS_INPUT output = (PS_INPUT)0;
- output.Pos = input.Pos;
- output.Pos.w = 1.0f;
-
- if (input.Norm.x > 1.0f)
- {
- output.Pos.x *= 0.8f * abs(sin(vTime * 0.25f)) + 0.15f;
- }
-
- return output;
-}
-
-float4 PS_Hud(PS_INPUT input) : SV_Target
-{
- return float4(0.33f, 0.5f, 0.906f, 1.0f);
-}
+cbuffer ConstantBuffer : register( b0 ) +{ + matrix World; + matrix View; + matrix Projection; + float4 vLightDir; + float4 vLightColor; + float4 vOutputColor; + float vTime; +} + +struct VS_INPUT +{ + float4 Pos : POSITION; + float3 Norm : NORMAL; +}; + +struct PS_INPUT +{ + float4 Pos : SV_POSITION; + float3 Norm : TEXCOORD0; +}; + +PS_INPUT VS( VS_INPUT input ) +{ + PS_INPUT output = (PS_INPUT)0; + output.Pos = mul( input.Pos, World ); + output.Pos = mul( output.Pos, View ); + output.Pos = mul( output.Pos, Projection ); + output.Norm = mul( float4( input.Norm, 1 ), World ).xyz; + + return output; +} + +float4 PS(PS_INPUT input) : SV_Target +{ + float4 finalColor = saturate(dot((float3)vLightDir, input.Norm) * vLightColor); + finalColor.a = 1.0f; + return finalColor; +} + +PS_INPUT VS_Hud(VS_INPUT input) +{ + PS_INPUT output = (PS_INPUT)0; + output.Pos = input.Pos; + output.Pos.w = 1.0f; + + if (input.Norm.x > 1.0f) + { + output.Pos.x *= 0.8f * abs(sin(vTime * 0.25f)) + 0.15f; + } + + return output; +} + +float4 PS_Hud(PS_INPUT input) : SV_Target +{ + return float4(0.33f, 0.5f, 0.906f, 1.0f); +} |