// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 48;
	objects = {

/* Begin PBXBuildFile section */
		A99789AF1CD3D4E2005E7DAC /* Hologram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789831CD3D4E2005E7DAC /* Hologram.cpp */; };
		A99789B01CD3D4E2005E7DAC /* Hologram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789831CD3D4E2005E7DAC /* Hologram.cpp */; };
		A99789B71CD3D4E2005E7DAC /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789881CD3D4E2005E7DAC /* Main.cpp */; };
		A99789B81CD3D4E2005E7DAC /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789881CD3D4E2005E7DAC /* Main.cpp */; };
		A99789B91CD3D4E2005E7DAC /* Meshes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789891CD3D4E2005E7DAC /* Meshes.cpp */; };
		A99789BA1CD3D4E2005E7DAC /* Meshes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789891CD3D4E2005E7DAC /* Meshes.cpp */; };
		A99789BD1CD3D4E2005E7DAC /* Shell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997898D1CD3D4E2005E7DAC /* Shell.cpp */; };
		A99789BE1CD3D4E2005E7DAC /* Shell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997898D1CD3D4E2005E7DAC /* Shell.cpp */; };
		A99789C51CD3D4E2005E7DAC /* Simulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789951CD3D4E2005E7DAC /* Simulation.cpp */; };
		A99789C61CD3D4E2005E7DAC /* Simulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789951CD3D4E2005E7DAC /* Simulation.cpp */; };
		A99789C91CD3D819005E7DAC /* ShellMVK.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789C71CD3D819005E7DAC /* ShellMVK.cpp */; };
		A99789CA1CD3D819005E7DAC /* ShellMVK.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789C71CD3D819005E7DAC /* ShellMVK.cpp */; };
		A9B67B781C3AAE9800373FFD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
		A9B67B7A1C3AAE9800373FFD /* DemoViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.mm */; };
		A9B67B7C1C3AAE9800373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
		A9B67B7D1C3AAE9800373FFD /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */; };
		A9B67B7E1C3AAE9800373FFD /* Default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B751C3AAE9800373FFD /* Default~ipad.png */; };
		A9B67B7F1C3AAE9800373FFD /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B761C3AAE9800373FFD /* Icon.png */; };
		A9B67B801C3AAE9800373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B771C3AAE9800373FFD /* Main.storyboard */; };
		A9B67B8C1C3AAEA200373FFD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B831C3AAEA200373FFD /* AppDelegate.m */; };
		A9B67B8D1C3AAEA200373FFD /* DemoViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B851C3AAEA200373FFD /* DemoViewController.mm */; };
		A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
		A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
		A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
		A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB97218503A400DDBC03 /* libMoltenVK.a */; };
		A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */; };
		A9D516F81CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; };
		A9D516F91CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		1D6058910D05DD3D006BFB54 /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; };
		A93374642284CD260059D36E /* Hologram.vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hologram.vert.h; path = android/src/main/jni/Hologram.vert.h; sourceTree = "<group>"; };
		A93374652284CD260059D36E /* Hologram.push_constant.vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hologram.push_constant.vert.h; path = android/src/main/jni/Hologram.push_constant.vert.h; sourceTree = "<group>"; };
		A93374662284CD260059D36E /* Hologram.frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hologram.frag.h; path = android/src/main/jni/Hologram.frag.h; sourceTree = "<group>"; };
		A93CC3701CD56B8F00EB8A56 /* generate-dispatch-table */ = {isa = PBXFileReference; explicitFileType = text.script.python; path = "generate-dispatch-table"; sourceTree = "<group>"; };
		A93CC3711CD56FD600EB8A56 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
		A977BCFE1B66BB010067E5BF /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; };
		A997897F1CD3D4E2005E7DAC /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
		A99789821CD3D4E2005E7DAC /* Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Helpers.h; sourceTree = "<group>"; };
		A99789831CD3D4E2005E7DAC /* Hologram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Hologram.cpp; sourceTree = "<group>"; };
		A99789851CD3D4E2005E7DAC /* Hologram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Hologram.h; sourceTree = "<group>"; };
		A99789881CD3D4E2005E7DAC /* Main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Main.cpp; sourceTree = "<group>"; };
		A99789891CD3D4E2005E7DAC /* Meshes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Meshes.cpp; sourceTree = "<group>"; };
		A997898A1CD3D4E2005E7DAC /* Meshes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Meshes.h; sourceTree = "<group>"; };
		A997898B1CD3D4E2005E7DAC /* Meshes.teapot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Meshes.teapot.h; sourceTree = "<group>"; };
		A997898D1CD3D4E2005E7DAC /* Shell.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shell.cpp; sourceTree = "<group>"; };
		A997898E1CD3D4E2005E7DAC /* Shell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shell.h; sourceTree = "<group>"; };
		A99789951CD3D4E2005E7DAC /* Simulation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Simulation.cpp; sourceTree = "<group>"; };
		A99789961CD3D4E2005E7DAC /* Simulation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Simulation.h; sourceTree = "<group>"; };
		A99789C71CD3D819005E7DAC /* ShellMVK.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShellMVK.cpp; sourceTree = SOURCE_ROOT; };
		A99789C81CD3D819005E7DAC /* ShellMVK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShellMVK.h; sourceTree = SOURCE_ROOT; };
		A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = "<group>"; };
		A9B67B6F1C3AAE9800373FFD /* DemoViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DemoViewController.mm; sourceTree = "<group>"; };
		A9B67B701C3AAE9800373FFD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		A9B67B711C3AAE9800373FFD /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		A9B67B721C3AAE9800373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
		A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
		A9B67B751C3AAE9800373FFD /* Default~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~ipad.png"; sourceTree = "<group>"; };
		A9B67B761C3AAE9800373FFD /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
		A9B67B771C3AAE9800373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
		A9B67B821C3AAEA200373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		A9B67B831C3AAEA200373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		A9B67B841C3AAEA200373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = "<group>"; };
		A9B67B851C3AAEA200373FFD /* DemoViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DemoViewController.mm; sourceTree = "<group>"; };
		A9B67B861C3AAEA200373FFD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		A9B67B871C3AAEA200373FFD /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
		A9C2AB97218503A400DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/iOS/static/libMoltenVK.a; sourceTree = "<group>"; };
		A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/macOS/static/libMoltenVK.a; sourceTree = "<group>"; };
		A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelpersDispatchTable.cpp; sourceTree = "<group>"; };
		A9D516F71CD575E300097D96 /* HelpersDispatchTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelpersDispatchTable.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A977BCF11B66BB010067E5BF /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		19C28FACFE9D520D11CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				1D6058910D05DD3D006BFB54 /* Hologram.app */,
				A977BCFE1B66BB010067E5BF /* Hologram.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
				A99789681CD3D4E2005E7DAC /* Hologram */,
				A9B67B6A1C3AAE9800373FFD /* iOS */,
				A9B67B811C3AAEA200373FFD /* macOS */,
				19C28FACFE9D520D11CA2CBB /* Products */,
				A9C2AB96218503A400DDBC03 /* Frameworks */,
			);
			name = CustomTemplate;
			sourceTree = "<group>";
		};
		A99789681CD3D4E2005E7DAC /* Hologram */ = {
			isa = PBXGroup;
			children = (
				A9D516F51CD575B000097D96 /* Generated */,
				A93CC3711CD56FD600EB8A56 /* CMakeLists.txt */,
				A93CC3701CD56B8F00EB8A56 /* generate-dispatch-table */,
				A997897F1CD3D4E2005E7DAC /* Game.h */,
				A99789821CD3D4E2005E7DAC /* Helpers.h */,
				A99789831CD3D4E2005E7DAC /* Hologram.cpp */,
				A99789851CD3D4E2005E7DAC /* Hologram.h */,
				A93374662284CD260059D36E /* Hologram.frag.h */,
				A93374652284CD260059D36E /* Hologram.push_constant.vert.h */,
				A93374642284CD260059D36E /* Hologram.vert.h */,
				A99789881CD3D4E2005E7DAC /* Main.cpp */,
				A99789891CD3D4E2005E7DAC /* Meshes.cpp */,
				A997898A1CD3D4E2005E7DAC /* Meshes.h */,
				A997898B1CD3D4E2005E7DAC /* Meshes.teapot.h */,
				A997898D1CD3D4E2005E7DAC /* Shell.cpp */,
				A997898E1CD3D4E2005E7DAC /* Shell.h */,
				A99789C71CD3D819005E7DAC /* ShellMVK.cpp */,
				A99789C81CD3D819005E7DAC /* ShellMVK.h */,
				A99789951CD3D4E2005E7DAC /* Simulation.cpp */,
				A99789961CD3D4E2005E7DAC /* Simulation.h */,
			);
			name = Hologram;
			path = "../VulkanSamples/Sample-Programs/Hologram";
			sourceTree = "<group>";
		};
		A9B67B6A1C3AAE9800373FFD /* iOS */ = {
			isa = PBXGroup;
			children = (
				A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */,
				A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */,
				A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */,
				A9B67B6F1C3AAE9800373FFD /* DemoViewController.mm */,
				A9B67B701C3AAE9800373FFD /* Info.plist */,
				A9B67B711C3AAE9800373FFD /* main.m */,
				A9B67B721C3AAE9800373FFD /* Prefix.pch */,
				A9B67B731C3AAE9800373FFD /* Resources */,
			);
			path = iOS;
			sourceTree = "<group>";
		};
		A9B67B731C3AAE9800373FFD /* Resources */ = {
			isa = PBXGroup;
			children = (
				A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */,
				A9B67B751C3AAE9800373FFD /* Default~ipad.png */,
				A9B67B761C3AAE9800373FFD /* Icon.png */,
				A9B67B771C3AAE9800373FFD /* Main.storyboard */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		A9B67B811C3AAEA200373FFD /* macOS */ = {
			isa = PBXGroup;
			children = (
				A9B67B821C3AAEA200373FFD /* AppDelegate.h */,
				A9B67B831C3AAEA200373FFD /* AppDelegate.m */,
				A9B67B841C3AAEA200373FFD /* DemoViewController.h */,
				A9B67B851C3AAEA200373FFD /* DemoViewController.mm */,
				A9B67B861C3AAEA200373FFD /* Info.plist */,
				A9B67B871C3AAEA200373FFD /* main.m */,
				A9B67B881C3AAEA200373FFD /* Prefix.pch */,
				A9B67B891C3AAEA200373FFD /* Resources */,
			);
			path = macOS;
			sourceTree = "<group>";
		};
		A9B67B891C3AAEA200373FFD /* Resources */ = {
			isa = PBXGroup;
			children = (
				A9B67B8A1C3AAEA200373FFD /* Main.storyboard */,
				A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		A9C2AB96218503A400DDBC03 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */,
				A9C2AB97218503A400DDBC03 /* libMoltenVK.a */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		A9D516F51CD575B000097D96 /* Generated */ = {
			isa = PBXGroup;
			children = (
				A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */,
				A9D516F71CD575E300097D96 /* HelpersDispatchTable.h */,
			);
			name = Generated;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		1D6058900D05DD3D006BFB54 /* Hologram-iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Hologram-iOS" */;
			buildPhases = (
				1D60588D0D05DD3D006BFB54 /* Resources */,
				1D60588E0D05DD3D006BFB54 /* Sources */,
				1D60588F0D05DD3D006BFB54 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Hologram-iOS";
			productName = foo;
			productReference = 1D6058910D05DD3D006BFB54 /* Hologram.app */;
			productType = "com.apple.product-type.application";
		};
		A977BCBD1B66BB010067E5BF /* Hologram-macOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A977BCFB1B66BB010067E5BF /* Build configuration list for PBXNativeTarget "Hologram-macOS" */;
			buildPhases = (
				A977BCBE1B66BB010067E5BF /* Resources */,
				A977BCC91B66BB010067E5BF /* Sources */,
				A977BCF11B66BB010067E5BF /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Hologram-macOS";
			productName = foo;
			productReference = A977BCFE1B66BB010067E5BF /* Hologram.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 1170;
			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Hologram" */;
			compatibilityVersion = "Xcode 8.0";
			developmentRegion = en;
			hasScannedForEncodings = 1;
			knownRegions = (
				Base,
				ja,
				en,
				fr,
				de,
			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				1D6058900D05DD3D006BFB54 /* Hologram-iOS */,
				A977BCBD1B66BB010067E5BF /* Hologram-macOS */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		1D60588D0D05DD3D006BFB54 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B67B7F1C3AAE9800373FFD /* Icon.png in Resources */,
				A9B67B801C3AAE9800373FFD /* Main.storyboard in Resources */,
				A9B67B7E1C3AAE9800373FFD /* Default~ipad.png in Resources */,
				A9B67B7D1C3AAE9800373FFD /* Default-568h@2x.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A977BCBE1B66BB010067E5BF /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */,
				A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		1D60588E0D05DD3D006BFB54 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A99789B71CD3D4E2005E7DAC /* Main.cpp in Sources */,
				A9B67B7A1C3AAE9800373FFD /* DemoViewController.mm in Sources */,
				A99789AF1CD3D4E2005E7DAC /* Hologram.cpp in Sources */,
				A99789C51CD3D4E2005E7DAC /* Simulation.cpp in Sources */,
				A99789C91CD3D819005E7DAC /* ShellMVK.cpp in Sources */,
				A99789B91CD3D4E2005E7DAC /* Meshes.cpp in Sources */,
				A9B67B781C3AAE9800373FFD /* AppDelegate.m in Sources */,
				A9B67B7C1C3AAE9800373FFD /* main.m in Sources */,
				A9D516F81CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */,
				A99789BD1CD3D4E2005E7DAC /* Shell.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A977BCC91B66BB010067E5BF /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A99789B81CD3D4E2005E7DAC /* Main.cpp in Sources */,
				A9B67B8C1C3AAEA200373FFD /* AppDelegate.m in Sources */,
				A99789B01CD3D4E2005E7DAC /* Hologram.cpp in Sources */,
				A99789C61CD3D4E2005E7DAC /* Simulation.cpp in Sources */,
				A99789CA1CD3D819005E7DAC /* ShellMVK.cpp in Sources */,
				A99789BA1CD3D4E2005E7DAC /* Meshes.cpp in Sources */,
				A9B67B8F1C3AAEA200373FFD /* main.m in Sources */,
				A9B67B8D1C3AAEA200373FFD /* DemoViewController.mm in Sources */,
				A9D516F91CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */,
				A99789BE1CD3D4E2005E7DAC /* Shell.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		1D6058940D05DD3E006BFB54 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
				MARKETING_VERSION = 1;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		1D6058950D05DD3E006BFB54 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
				MARKETING_VERSION = 1;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		A977BCFC1B66BB010067E5BF /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				COMBINE_HIDPI_IMAGES = YES;
				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\"";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				OTHER_LDFLAGS = (
					"$(inherited)",
					"-w",
				);
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A977BCFD1B66BB010067E5BF /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				COMBINE_HIDPI_IMAGES = YES;
				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
				LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\"";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				OTHER_LDFLAGS = (
					"$(inherited)",
					"-w",
				);
				SDKROOT = macosx;
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = NO;
				COPY_PHASE_STRIP = NO;
				ENABLE_BITCODE = NO;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					_DEBUG,
					GLM_FORCE_RADIANS,
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				HEADER_SEARCH_PATHS = (
					"\"$(SRCROOT)/../../../MoltenVK/include\"",
					"\"$(SRCROOT)/../VulkanSamples/API-Samples/utils\"",
				);
				ONLY_ACTIVE_ARCH = YES;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
				PRODUCT_NAME = Hologram;
			};
			name = Debug;
		};
		C01FCF5008A954540054247B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = NO;
				ENABLE_BITCODE = NO;
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREPROCESSOR_DEFINITIONS = GLM_FORCE_RADIANS;
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				HEADER_SEARCH_PATHS = (
					"\"$(SRCROOT)/../../../MoltenVK/include\"",
					"\"$(SRCROOT)/../VulkanSamples/API-Samples/utils\"",
				);
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
				PRODUCT_NAME = Hologram;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Hologram-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1D6058940D05DD3E006BFB54 /* Debug */,
				1D6058950D05DD3E006BFB54 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A977BCFB1B66BB010067E5BF /* Build configuration list for PBXNativeTarget "Hologram-macOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A977BCFC1B66BB010067E5BF /* Debug */,
				A977BCFD1B66BB010067E5BF /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Hologram" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}
