├── .gitignore
├── GLBGLTFConverter
├── GLBGLTFConverter.cpp
├── GLBGLTFConverter.vcxproj
├── GLBGLTFConverter.vcxproj.filters
├── packages.config
├── stdafx.cpp
├── stdafx.h
└── targetver.h
├── LICENSE
├── ModelViewer
├── App.xaml
├── App.xaml.cpp
├── App.xaml.h
├── Assets
│ ├── LockScreenLogo.scale-200.png
│ ├── Shaders
│ │ ├── pbrpixel.hlsl
│ │ └── pbrvertex.hlsl
│ ├── SplashScreen.scale-200.png
│ ├── Square150x150Logo.scale-200.png
│ ├── Square44x44Logo.scale-200.png
│ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ ├── StoreLogo.png
│ ├── Wide310x150Logo.scale-200.png
│ └── textures
│ │ ├── brdfLUT.png
│ │ └── papermill
│ │ ├── diffuse
│ │ ├── diffuse_back_0.jpg
│ │ ├── diffuse_bottom_0.jpg
│ │ ├── diffuse_front_0.jpg
│ │ ├── diffuse_left_0.jpg
│ │ ├── diffuse_right_0.jpg
│ │ └── diffuse_top_0.jpg
│ │ ├── environment
│ │ ├── environment_back_0.jpg
│ │ ├── environment_bottom_0.jpg
│ │ ├── environment_front_0.jpg
│ │ ├── environment_left_0.jpg
│ │ ├── environment_right_0.jpg
│ │ └── environment_top_0.jpg
│ │ └── specular
│ │ ├── specular_back_0.jpg
│ │ ├── specular_back_1.jpg
│ │ ├── specular_back_2.jpg
│ │ ├── specular_back_3.jpg
│ │ ├── specular_back_4.jpg
│ │ ├── specular_back_5.jpg
│ │ ├── specular_back_6.jpg
│ │ ├── specular_back_7.jpg
│ │ ├── specular_back_8.jpg
│ │ ├── specular_back_9.jpg
│ │ ├── specular_bottom_0.jpg
│ │ ├── specular_bottom_1.jpg
│ │ ├── specular_bottom_2.jpg
│ │ ├── specular_bottom_3.jpg
│ │ ├── specular_bottom_4.jpg
│ │ ├── specular_bottom_5.jpg
│ │ ├── specular_bottom_6.jpg
│ │ ├── specular_bottom_7.jpg
│ │ ├── specular_bottom_8.jpg
│ │ ├── specular_bottom_9.jpg
│ │ ├── specular_front_0.jpg
│ │ ├── specular_front_1.jpg
│ │ ├── specular_front_2.jpg
│ │ ├── specular_front_3.jpg
│ │ ├── specular_front_4.jpg
│ │ ├── specular_front_5.jpg
│ │ ├── specular_front_6.jpg
│ │ ├── specular_front_7.jpg
│ │ ├── specular_front_8.jpg
│ │ ├── specular_front_9.jpg
│ │ ├── specular_left_0.jpg
│ │ ├── specular_left_1.jpg
│ │ ├── specular_left_2.jpg
│ │ ├── specular_left_3.jpg
│ │ ├── specular_left_4.jpg
│ │ ├── specular_left_5.jpg
│ │ ├── specular_left_6.jpg
│ │ ├── specular_left_7.jpg
│ │ ├── specular_left_8.jpg
│ │ ├── specular_left_9.jpg
│ │ ├── specular_right_0.jpg
│ │ ├── specular_right_1.jpg
│ │ ├── specular_right_2.jpg
│ │ ├── specular_right_3.jpg
│ │ ├── specular_right_4.jpg
│ │ ├── specular_right_5.jpg
│ │ ├── specular_right_6.jpg
│ │ ├── specular_right_7.jpg
│ │ ├── specular_right_8.jpg
│ │ ├── specular_right_9.jpg
│ │ ├── specular_top_0.jpg
│ │ ├── specular_top_1.jpg
│ │ ├── specular_top_2.jpg
│ │ ├── specular_top_3.jpg
│ │ ├── specular_top_4.jpg
│ │ ├── specular_top_5.jpg
│ │ ├── specular_top_6.jpg
│ │ ├── specular_top_7.jpg
│ │ ├── specular_top_8.jpg
│ │ └── specular_top_9.jpg
├── Axis.cpp
├── Axis.h
├── BooleanToVisibilityConverter.cpp
├── BooleanToVisibilityConverter.h
├── BoundingBox.cpp
├── BoundingBox.h
├── BufferCache.cpp
├── BufferCache.h
├── BufferManager.cpp
├── BufferManager.h
├── ClassDiagram.cd
├── Common
│ ├── BindableBase.cpp
│ ├── BindableBase.h
│ ├── DeviceResources.cpp
│ ├── DeviceResources.h
│ ├── DirectXHelper.h
│ ├── StepTimer.h
│ ├── ViewModelBase.cpp
│ └── ViewModelBase.h
├── Container.cpp
├── Container.h
├── Content
│ ├── Sample3DSceneRenderer.cpp
│ ├── Sample3DSceneRenderer.h
│ ├── SampleFpsTextRenderer.cpp
│ ├── SampleFpsTextRenderer.h
│ ├── ShaderStructures.h
│ ├── SimplePixelShader.hlsl
│ └── SimpleVertexShader.hlsl
├── DXGrid.cpp
├── DXGrid.h
├── DXUtils.cpp
├── DXUtils.h
├── DecimalPlacesConverter.cpp
├── DecimalPlacesConverter.h
├── DelegateCommand.cpp
├── DelegateCommand.h
├── DirectXPage.xaml
├── DirectXPage.xaml.cpp
├── DirectXPage.xaml.h
├── DirectXPageViewModelData.cpp
├── DirectXPageViewModelData.h
├── EventShim.h
├── FileSystemData.h
├── GlyphConverter.cpp
├── GlyphConverter.h
├── ImgUtils.cpp
├── ImgUtils.h
├── ModelBufferManager.cpp
├── ModelBufferManager.h
├── ModelFactory.cpp
├── ModelFactory.h
├── ModelViewer.vcxproj
├── ModelViewer.vcxproj.filters
├── ModelViewerMain.cpp
├── ModelViewerMain.h
├── NodeMaterial.cpp
├── NodeMaterial.h
├── Package.appxmanifest
├── RenderTexture.cpp
├── RenderTexture.h
├── RootPage.xaml
├── RootPage.xaml.cpp
├── RootPage.xaml.h
├── Scene
│ ├── CameraNode.cpp
│ ├── CameraNode.h
│ ├── GraphContainerNode.cpp
│ ├── GraphContainerNode.h
│ ├── GraphNode.cpp
│ ├── GraphNode.h
│ ├── LightNode.cpp
│ ├── LightNode.h
│ ├── MeshNode.cpp
│ ├── MeshNode.h
│ ├── RootNode.cpp
│ ├── RootNode.h
│ ├── SceneContext.cpp
│ └── SceneContext.h
├── SceneManager.cpp
├── SceneManager.h
├── ShaderCache.cpp
├── ShaderCache.h
├── Singleton.h
├── Subject.h
├── Utility.cpp
├── Utility.h
├── ViewModels
│ ├── DirectXPageViewModel.cpp
│ ├── DirectXPageViewModel.h
│ ├── RootPageViewModel.cpp
│ ├── RootPageViewModel.h
│ ├── TransformViewModel.cpp
│ └── TransformViewModel.h
├── pch.cpp
├── pch.h
├── sub_token.cpp
└── sub_token.h
├── README.md
├── SECURITY.md
├── SharedGLTFParser
├── GLBGLTFConverter.cpp
├── GLBGLTFConverter.h
├── SharedGLTFParser.vcxitems
├── SharedGLTFParser.vcxitems.filters
├── gltfparser.cpp
├── gltfparser.h
├── stdafx.h
└── targetver.h
├── WinRTGLTFParser
├── GLTF_Parser.cpp
├── GLTF_Parser.h
├── WinRTGLTFParser.vcxproj
├── WinRTGLTFParser.vcxproj.filters
├── packages.config
├── pch.cpp
└── pch.h
├── glTF-DXViewer.sln
├── gltfparser
├── dllmain.cpp
├── gltfparser.vcxproj
├── gltfparser.vcxproj.filters
├── packages.config
└── stdafx.cpp
└── img
├── screenshot1.PNG
├── screenshot2.PNG
└── selective-rendering.png
/GLBGLTFConverter/GLBGLTFConverter.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/glTF-DXViewer/06f22ffa48637c7eb2fa2f1f5eb1ec10c98a8a3a/GLBGLTFConverter/GLBGLTFConverter.cpp
--------------------------------------------------------------------------------
/GLBGLTFConverter/GLBGLTFConverter.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Header Files
20 |
21 |
22 | Header Files
23 |
24 |
25 |
26 |
27 | Source Files
28 |
29 |
30 | Source Files
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/GLBGLTFConverter/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/GLBGLTFConverter/stdafx.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/glTF-DXViewer/06f22ffa48637c7eb2fa2f1f5eb1ec10c98a8a3a/GLBGLTFConverter/stdafx.cpp
--------------------------------------------------------------------------------
/GLBGLTFConverter/stdafx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/glTF-DXViewer/06f22ffa48637c7eb2fa2f1f5eb1ec10c98a8a3a/GLBGLTFConverter/stdafx.h
--------------------------------------------------------------------------------
/GLBGLTFConverter/targetver.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/glTF-DXViewer/06f22ffa48637c7eb2fa2f1f5eb1ec10c98a8a3a/GLBGLTFConverter/targetver.h
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) Microsoft Corporation. All rights reserved.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE
22 |
--------------------------------------------------------------------------------
/ModelViewer/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ModelViewer/App.xaml.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // App.xaml.cpp
3 | // Implementation of the App class.
4 | //
5 |
6 | #include "pch.h"
7 | #include "RootPage.xaml.h"
8 | #include "DirectXPage.xaml.h"
9 |
10 | using namespace ModelViewer;
11 |
12 | using namespace Platform;
13 | using namespace Windows::ApplicationModel;
14 | using namespace Windows::ApplicationModel::Activation;
15 | using namespace Windows::Foundation;
16 | using namespace Windows::Foundation::Collections;
17 | using namespace Windows::Storage;
18 | using namespace Windows::UI::Xaml;
19 | using namespace Windows::UI::Xaml::Controls;
20 | using namespace Windows::UI::Xaml::Controls::Primitives;
21 | using namespace Windows::UI::Xaml::Data;
22 | using namespace Windows::UI::Xaml::Input;
23 | using namespace Windows::UI::Xaml::Interop;
24 | using namespace Windows::UI::Xaml::Media;
25 | using namespace Windows::UI::Xaml::Navigation;
26 | ///
27 | /// Initializes the singleton application object. This is the first line of authored code
28 | /// executed, and as such is the logical equivalent of main() or WinMain().
29 | ///
30 | App::App()
31 | {
32 | InitializeComponent();
33 |
34 | //builder.registerType<>
35 |
36 | Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending);
37 | Resuming += ref new EventHandler