Remove Xcode Directory and add glm libraries
2
BUILD.md
|
|
@ -64,5 +64,5 @@ Example of cmake with libraries defined
|
|||
cmake -G "Xcode" -DOpenMP_C_FLAGS=/usr/local/opt/libomp -DOpenMP_omp_LIBRARY=/usr/local/opt/libomp -DOpenMP_CXX_FOUND=/usr/local/opt/libomp
|
||||
```
|
||||
|
||||
In Xcode configure the search path for the folder where the glm folder is in the Vulkan SDK
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildSystemType</key>
|
||||
<string>Latest</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildLocationStyle</key>
|
||||
<string>UseTargetSettings</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,454 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>ALL_BUILD.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>51</integer>
|
||||
</dict>
|
||||
<key>ZERO_CHECK.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>36</integer>
|
||||
</dict>
|
||||
<key>base.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
<key>bloom.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>8</integer>
|
||||
</dict>
|
||||
<key>computecloth.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>19</integer>
|
||||
</dict>
|
||||
<key>computecullandlod.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
<key>computeheadless.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>64</integer>
|
||||
</dict>
|
||||
<key>computenbody.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>11</integer>
|
||||
</dict>
|
||||
<key>computeparticles.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>52</integer>
|
||||
</dict>
|
||||
<key>computeraytracing.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>53</integer>
|
||||
</dict>
|
||||
<key>computeshader.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>67</integer>
|
||||
</dict>
|
||||
<key>conditionalrender.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>28</integer>
|
||||
</dict>
|
||||
<key>conservativeraster.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>24</integer>
|
||||
</dict>
|
||||
<key>debugmarker.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>87</integer>
|
||||
</dict>
|
||||
<key>deferred.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>78</integer>
|
||||
</dict>
|
||||
<key>deferredmultisampling.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>58</integer>
|
||||
</dict>
|
||||
<key>deferredshadows.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>16</integer>
|
||||
</dict>
|
||||
<key>descriptorbuffer.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>32</integer>
|
||||
</dict>
|
||||
<key>descriptorindexing.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>48</integer>
|
||||
</dict>
|
||||
<key>descriptorsets.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>79</integer>
|
||||
</dict>
|
||||
<key>displacement.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>30</integer>
|
||||
</dict>
|
||||
<key>distancefieldfonts.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>62</integer>
|
||||
</dict>
|
||||
<key>dynamicrendering.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>68</integer>
|
||||
</dict>
|
||||
<key>dynamicstate.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>37</integer>
|
||||
</dict>
|
||||
<key>dynamicuniformbuffer.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>10</integer>
|
||||
</dict>
|
||||
<key>gears.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>17</integer>
|
||||
</dict>
|
||||
<key>geometryshader.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>81</integer>
|
||||
</dict>
|
||||
<key>gltfloading.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>25</integer>
|
||||
</dict>
|
||||
<key>gltfscenerendering.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>33</integer>
|
||||
</dict>
|
||||
<key>gltfskinning.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>61</integer>
|
||||
</dict>
|
||||
<key>graphicspipelinelibrary.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
<key>hdr.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>27</integer>
|
||||
</dict>
|
||||
<key>imgui.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>26</integer>
|
||||
</dict>
|
||||
<key>indirectdraw.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>18</integer>
|
||||
</dict>
|
||||
<key>inlineuniformblocks.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>63</integer>
|
||||
</dict>
|
||||
<key>inputattachments.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<key>instancing.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>21</integer>
|
||||
</dict>
|
||||
<key>meshshader.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>13</integer>
|
||||
</dict>
|
||||
<key>multisampling.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>75</integer>
|
||||
</dict>
|
||||
<key>multithreading.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>4</integer>
|
||||
</dict>
|
||||
<key>multiview.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>69</integer>
|
||||
</dict>
|
||||
<key>negativeviewportheight.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>43</integer>
|
||||
</dict>
|
||||
<key>occlusionquery.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>82</integer>
|
||||
</dict>
|
||||
<key>offscreen.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>7</integer>
|
||||
</dict>
|
||||
<key>oit.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>66</integer>
|
||||
</dict>
|
||||
<key>parallaxmapping.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>71</integer>
|
||||
</dict>
|
||||
<key>particlefire.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>54</integer>
|
||||
</dict>
|
||||
<key>pbrbasic.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>88</integer>
|
||||
</dict>
|
||||
<key>pbribl.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>86</integer>
|
||||
</dict>
|
||||
<key>pbrtexture.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>12</integer>
|
||||
</dict>
|
||||
<key>pipelines.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>55</integer>
|
||||
</dict>
|
||||
<key>pipelinestatistics.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>47</integer>
|
||||
</dict>
|
||||
<key>pushconstants.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>83</integer>
|
||||
</dict>
|
||||
<key>pushdescriptors.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>70</integer>
|
||||
</dict>
|
||||
<key>radialblur.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>41</integer>
|
||||
</dict>
|
||||
<key>rayquery.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>56</integer>
|
||||
</dict>
|
||||
<key>raytracingbasic.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>31</integer>
|
||||
</dict>
|
||||
<key>raytracingcallable.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>42</integer>
|
||||
</dict>
|
||||
<key>raytracingintersection.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>40</integer>
|
||||
</dict>
|
||||
<key>raytracingreflections.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>57</integer>
|
||||
</dict>
|
||||
<key>raytracingsbtdata.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>5</integer>
|
||||
</dict>
|
||||
<key>raytracingshadows.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>84</integer>
|
||||
</dict>
|
||||
<key>raytracingtextures.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>35</integer>
|
||||
</dict>
|
||||
<key>renderheadless.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>9</integer>
|
||||
</dict>
|
||||
<key>screenshot.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>45</integer>
|
||||
</dict>
|
||||
<key>shaderobjects.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>22</integer>
|
||||
</dict>
|
||||
<key>shadowmapping.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>77</integer>
|
||||
</dict>
|
||||
<key>shadowmappingcascade.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>85</integer>
|
||||
</dict>
|
||||
<key>shadowmappingomni.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>49</integer>
|
||||
</dict>
|
||||
<key>specializationconstants.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>80</integer>
|
||||
</dict>
|
||||
<key>sphericalenvmapping.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>74</integer>
|
||||
</dict>
|
||||
<key>ssao.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>46</integer>
|
||||
</dict>
|
||||
<key>stencilbuffer.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>76</integer>
|
||||
</dict>
|
||||
<key>subpasses.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>39</integer>
|
||||
</dict>
|
||||
<key>terraintessellation.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>59</integer>
|
||||
</dict>
|
||||
<key>tessellation.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>44</integer>
|
||||
</dict>
|
||||
<key>textoverlay.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>20</integer>
|
||||
</dict>
|
||||
<key>texture.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>14</integer>
|
||||
</dict>
|
||||
<key>texture3d.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>6</integer>
|
||||
</dict>
|
||||
<key>texturearray.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>34</integer>
|
||||
</dict>
|
||||
<key>texturecubemap.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>29</integer>
|
||||
</dict>
|
||||
<key>texturecubemaparray.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>72</integer>
|
||||
</dict>
|
||||
<key>texturemipmapgen.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>73</integer>
|
||||
</dict>
|
||||
<key>texturesparseresidency.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>23</integer>
|
||||
</dict>
|
||||
<key>triangle.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>60</integer>
|
||||
</dict>
|
||||
<key>variablerateshading.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>38</integer>
|
||||
</dict>
|
||||
<key>vertexattributes.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>15</integer>
|
||||
</dict>
|
||||
<key>viewportarray.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>65</integer>
|
||||
</dict>
|
||||
<key>vulkanscene.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>50</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
/*
|
||||
* MVKExample.cpp
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
|
||||
#include "MVKExample.h"
|
||||
#include "examples.h"
|
||||
|
||||
void MVKExample::renderFrame() {
|
||||
_vulkanExample->renderFrame();
|
||||
}
|
||||
|
||||
void MVKExample::displayLinkOutputCb() { // SRS - expose VulkanExampleBase::displayLinkOutputCb() to DemoViewController
|
||||
_vulkanExample->displayLinkOutputCb();
|
||||
}
|
||||
|
||||
void MVKExample::keyPressed(uint32_t keyChar) { // SRS - handle keyboard key presses only (e.g. Pause, Space, etc)
|
||||
switch (keyChar)
|
||||
{
|
||||
case KEY_P:
|
||||
_vulkanExample->paused = !_vulkanExample->paused;
|
||||
break;
|
||||
case KEY_1: // SRS - support keyboards with no function keys
|
||||
case KEY_F1:
|
||||
_vulkanExample->UIOverlay.visible = !_vulkanExample->UIOverlay.visible;
|
||||
_vulkanExample->UIOverlay.updated = true;
|
||||
break;
|
||||
default:
|
||||
_vulkanExample->keyPressed(keyChar);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void MVKExample::keyDown(uint32_t keyChar) { // SRS - handle physical keyboard key down/up actions and presses
|
||||
switch (keyChar)
|
||||
{
|
||||
case KEY_W:
|
||||
case KEY_Z: // for French AZERTY keyboards
|
||||
_vulkanExample->camera.keys.up = true;
|
||||
break;
|
||||
case KEY_S:
|
||||
_vulkanExample->camera.keys.down = true;
|
||||
break;
|
||||
case KEY_A:
|
||||
case KEY_Q: // for French AZERTY keyboards
|
||||
_vulkanExample->camera.keys.left = true;
|
||||
break;
|
||||
case KEY_D:
|
||||
_vulkanExample->camera.keys.right = true;
|
||||
break;
|
||||
default:
|
||||
MVKExample::keyPressed(keyChar);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void MVKExample::keyUp(uint32_t keyChar) {
|
||||
switch (keyChar)
|
||||
{
|
||||
case KEY_W:
|
||||
case KEY_Z: // for French AZERTY keyboards
|
||||
_vulkanExample->camera.keys.up = false;
|
||||
break;
|
||||
case KEY_S:
|
||||
_vulkanExample->camera.keys.down = false;
|
||||
break;
|
||||
case KEY_A:
|
||||
case KEY_Q: // for French AZERTY keyboards
|
||||
_vulkanExample->camera.keys.left = false;
|
||||
break;
|
||||
case KEY_D:
|
||||
_vulkanExample->camera.keys.right = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void MVKExample::mouseDown(double x, double y) {
|
||||
_vulkanExample->mousePos = glm::vec2(x, y);
|
||||
_vulkanExample->mouseButtons.left = true;
|
||||
}
|
||||
|
||||
void MVKExample::mouseUp() {
|
||||
_vulkanExample->mouseButtons.left = false;
|
||||
}
|
||||
|
||||
void MVKExample::rightMouseDown(double x, double y) {
|
||||
_vulkanExample->mousePos = glm::vec2(x, y);
|
||||
_vulkanExample->mouseButtons.right = true;
|
||||
}
|
||||
|
||||
void MVKExample::rightMouseUp() {
|
||||
_vulkanExample->mouseButtons.right = false;
|
||||
}
|
||||
|
||||
void MVKExample::otherMouseDown(double x, double y) {
|
||||
_vulkanExample->mousePos = glm::vec2(x, y);
|
||||
_vulkanExample->mouseButtons.middle = true;
|
||||
}
|
||||
|
||||
void MVKExample::otherMouseUp() {
|
||||
_vulkanExample->mouseButtons.middle = false;
|
||||
}
|
||||
|
||||
void MVKExample::mouseDragged(double x, double y) {
|
||||
_vulkanExample->mouseDragged(x, y);
|
||||
}
|
||||
|
||||
void MVKExample::scrollWheel(short wheelDelta) {
|
||||
_vulkanExample->camera.translate(glm::vec3(0.0f, 0.0f, wheelDelta * 0.05f * _vulkanExample->camera.movementSpeed));
|
||||
_vulkanExample->viewUpdated = true;
|
||||
}
|
||||
|
||||
void MVKExample::fullScreen(bool fullscreen) {
|
||||
_vulkanExample->settings.fullscreen = fullscreen;
|
||||
}
|
||||
|
||||
MVKExample::MVKExample(void* view, double scaleUI) {
|
||||
_vulkanExample = new VulkanExample();
|
||||
_vulkanExample->initVulkan();
|
||||
_vulkanExample->setupWindow(view);
|
||||
_vulkanExample->settings.vsync = true; // SRS - set vsync flag since this iOS/macOS example app uses displayLink vsync rendering
|
||||
_vulkanExample->UIOverlay.scale = scaleUI; // SRS - set UIOverlay scale to maintain relative proportions/readability on retina displays
|
||||
_vulkanExample->prepare();
|
||||
_vulkanExample->renderLoop(); // SRS - this inits destWidth/destHeight/lastTimestamp/tPrevEnd, then falls through and returns
|
||||
}
|
||||
|
||||
MVKExample::~MVKExample() {
|
||||
vkDeviceWaitIdle(_vulkanExample->vulkanDevice->logicalDevice);
|
||||
delete(_vulkanExample);
|
||||
}
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
/*
|
||||
* MVKExample.h
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "vulkanexamplebase.h"
|
||||
|
||||
// Wrapper class for the SW VulkanExample instance.
|
||||
class MVKExample {
|
||||
|
||||
public:
|
||||
void renderFrame();
|
||||
void displayLinkOutputCb(); // SRS - expose VulkanExampleBase::displayLinkOutputCb() to DemoViewController
|
||||
|
||||
void keyPressed(uint32_t keyChar); // SRS - expose keyboard events to DemoViewController
|
||||
void keyDown(uint32_t keyChar);
|
||||
void keyUp(uint32_t keyChar);
|
||||
|
||||
void mouseDown(double x, double y); // SRS - expose mouse events to DemoViewController
|
||||
void mouseUp();
|
||||
void rightMouseDown(double x, double y);
|
||||
void rightMouseUp();
|
||||
void otherMouseDown(double x, double y);
|
||||
void otherMouseUp();
|
||||
void mouseDragged(double x, double y);
|
||||
void scrollWheel(short wheelDelta);
|
||||
|
||||
void fullScreen(bool fullscreen); // SRS - expose VulkanExampleBase::settings.fullscreen to DemoView (macOS only)
|
||||
|
||||
MVKExample(void* view, double scaleUI); // SRS - support UIOverlay scaling parameter based on device and display type
|
||||
~MVKExample();
|
||||
|
||||
protected:
|
||||
VulkanExampleBase* _vulkanExample;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../../../../Molten/Package/Latest/MoltenVK
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
<a class="site-logo" href="https://www.moltengl.com/moltenvk/" title="MoltenVK">
|
||||
<img src="images/MoltenVK-Logo-Banner.png" alt="MoltenVK Home" style="width:256px;height:auto">
|
||||
</a>
|
||||
|
||||
#MoltenVK Vulkan Examples
|
||||
|
||||
Copyright (c) 2016-2017 [The Brenwill Workshop Ltd.](http://www.brenwill.com).
|
||||
This document is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
|
||||
*This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format.
|
||||
For best results, use a Markdown reader.*
|
||||
|
||||
|
||||
<a name="intro"></a>
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The *Xcode* project in this folder builds and runs the *Vulkan* examples in this
|
||||
repository on *iOS* and *macOS*, using the **MoltenVK** *Vulkan* driver.
|
||||
|
||||
|
||||
|
||||
<a name="installing-moltenvk"></a>
|
||||
|
||||
Installing MoltenVK
|
||||
-------------------
|
||||
|
||||
The examples in this repository can be run on *iOS* and *macOS* by using
|
||||
the [**MoltenVK**](http://www.moltengl.com/moltenvk/) *Vulkan* driver.
|
||||
|
||||
These examples require **MoltenVK 0.18.0** or greater.
|
||||
|
||||
Follow these instructions to install **MoltenVK**:
|
||||
|
||||
1. [Download](https://moltengl.com/free-trial/) the **Molten** free evaluation trial.
|
||||
This free trial includes **MoltenVK**, is full-featured, and is not time-limited.
|
||||
You must purchase a license if you wish to use **MoltenVK** for a production
|
||||
application or game, but you can use the evaluation version to run these examples.
|
||||
|
||||
2. Unzip the **Molten** package, and move it to a folder outside this repository.
|
||||
|
||||
3. Open a *Terminal* session and navigate to the directory containing this document,
|
||||
remove the existing `MoltenVK` symbolic link in this directory, and create a new
|
||||
symbolic link pointing to the `MoltenVK` directory in the **Molten** package:
|
||||
|
||||
cd path-to-this-directory
|
||||
rm MoltenVK
|
||||
ln -s path-to-Molten-package/MoltenVK
|
||||
|
||||
<a name="running-examples"></a>
|
||||
|
||||
Running the Vulkan Examples
|
||||
---------------------------
|
||||
|
||||
The single `examples.xcodeproj` *Xcode* project can be used to run any of the examples
|
||||
in this repository on either *iOS* or *macOS*. To do so, follow these instructions:
|
||||
|
||||
1. Open the `examples.xcodeproj` *Xcode* project.
|
||||
|
||||
2. Specify which of the many examples within this respository you wish to run, by opening
|
||||
the `examples.h` file within *Xcode*, and following the instructions in the comments
|
||||
within that file to indicate which of the examples you wish to run.
|
||||
|
||||
3. Run either the `examples-iOS` or `examples-macOS` *Xcode Scheme* to run the example in *iOS*
|
||||
or *macOS*, repectively.
|
||||
|
||||
4. Many of the examples include an option to press keys to control the display of features
|
||||
and scene components:
|
||||
|
||||
- On *iOS*, tap on the scene to display the keyboard. Tap again on the scene to hide the keyboard.
|
||||
- On both *iOS* and *macOS*, use the numeric keys (*1, 2, 3...*) instead of function keys (*F1, F2, F3...*).
|
||||
- On both *iOS* and *macOS*, use the regular keyboard *+* and *-* keys instead of the numpad *+* and *-* keys.
|
||||
- On both *iOS* and *macOS*, use the *delete* key instead of the *escape* key.
|
||||
|
||||
406
xcode/examples.h
|
|
@ -1,406 +0,0 @@
|
|||
/*
|
||||
* examples.h
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*
|
||||
*
|
||||
* Loads the appropriate example code, as indicated by the appropriate compiler build setting below.
|
||||
*
|
||||
* To select an example to run, define one (and only one) of the macros below, either by
|
||||
* adding a #define XXX statement at the top of this file, or more flexibily, by adding the
|
||||
* macro value to the Preprocessor Macros (aka GCC_PREPROCESSOR_DEFINITIONS) compiler setting.
|
||||
*
|
||||
* To add a compiler setting, select the project in the Xcode Project Navigator panel,
|
||||
* select the Build Settings panel, and add the value to the Preprocessor Macros
|
||||
* (aka GCC_PREPROCESSOR_DEFINITIONS) entry.
|
||||
*
|
||||
* For example, to run the pipelines example, you would add the MVK_pipelines define macro
|
||||
* to the Preprocessor Macros (aka GCC_PREPROCESSOR_DEFINITIONS) entry of the Xcode project,
|
||||
* overwriting any other value there.
|
||||
*
|
||||
* If you choose to add a #define statement to this file, be sure to clear the existing macro
|
||||
* from the Preprocessor Macros (aka GCC_PREPROCESSOR_DEFINITIONS) compiler setting in Xcode.
|
||||
*/
|
||||
|
||||
|
||||
// In the list below, the comments indicate entries that,
|
||||
// under certain conditions, that may not run as expected.
|
||||
|
||||
// Uncomment the next line and select example here if not using a Preprocessor Macro to define example
|
||||
//#define MVK_vulkanscene
|
||||
|
||||
// COMMON - Include VulkanglTFModel.cpp in all examples other than ones that already include/customize tiny_gltf.h directly
|
||||
#if !defined(MVK_gltfloading) && !defined(MVK_gltfskinning) && !defined(MVK_gltfscenerendering) && !defined(MVK_vertexattributes)
|
||||
# include "../base/VulkanglTFModel.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// BASICS
|
||||
|
||||
#ifdef MVK_triangle
|
||||
# include "../examples/triangle/triangle.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_pipelines
|
||||
# include "../examples/pipelines/pipelines.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_texture
|
||||
# include "../examples/texture/texture.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_texture3d
|
||||
# include "../examples/texture3d/texture3d.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_texturecubemap
|
||||
# include "../examples/texturecubemap/texturecubemap.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_texturecubemaparray
|
||||
# include "../examples/texturecubemaparray/texturecubemaparray.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_texturearray
|
||||
# include "../examples/texturearray/texturearray.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_dynamicuniformbuffer
|
||||
# include "../examples/dynamicuniformbuffer/dynamicuniformbuffer.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_inlineuniformblocks
|
||||
# include "../examples/inlineuniformblocks/inlineuniformblocks.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_inputattachments
|
||||
# include "../examples/inputattachments/inputattachments.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_negativeviewportheight
|
||||
# include "../examples/negativeviewportheight/negativeviewportheight.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_pushconstants
|
||||
# include "../examples/pushconstants/pushconstants.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_specializationconstants
|
||||
# include "../examples/specializationconstants/specializationconstants.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_offscreen
|
||||
# include "../examples/offscreen/offscreen.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_stencilbuffer
|
||||
# include "../examples/stencilbuffer/stencilbuffer.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_subpasses
|
||||
# include "../examples/subpasses/subpasses.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_radialblur
|
||||
# include "../examples/radialblur/radialblur.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_textoverlay
|
||||
# include "../examples/textoverlay/textoverlay.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_particlefire
|
||||
# include "../examples/particlefire/particlefire.cpp"
|
||||
#endif
|
||||
|
||||
// No headless target when using xcode examples project, builds/runs fine using vulkanExamples project.
|
||||
#ifdef MVK_renderheadless
|
||||
# include "../examples/renderheadless/renderheadless.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// ADVANCED
|
||||
|
||||
#ifdef MVK_multithreading
|
||||
# include "../examples/multithreading/multithreading.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_gltfscenerendering
|
||||
# include "../examples/gltfscenerendering/gltfscenerendering.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_multiview
|
||||
# include "../examples/multiview/multiview.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_instancing
|
||||
# include "../examples/instancing/instancing.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_indirectdraw
|
||||
# include "../examples/indirectdraw/indirectdraw.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_hdr
|
||||
# include "../examples/hdr/hdr.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_occlusionquery
|
||||
# include "../examples/occlusionquery/occlusionquery.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_texturemipmapgen
|
||||
# include "../examples/texturemipmapgen/texturemipmapgen.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Sparse binding not supported by MoltenVK/Metal.
|
||||
#ifdef MVK_texturesparseresidency
|
||||
# include "../examples/texturesparseresidency/texturesparseresidency.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_multisampling
|
||||
# include "../examples/multisampling/multisampling.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_shadowmapping
|
||||
# include "../examples/shadowmapping/shadowmapping.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_shadowmappingcascade
|
||||
# include "../examples/shadowmappingcascade/shadowmappingcascade.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_shadowmappingomni
|
||||
# include "../examples/shadowmappingomni/shadowmappingomni.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_gltfloading
|
||||
# include "../examples/gltfloading/gltfloading.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_gltfskinning
|
||||
# include "../examples/gltfskinning/gltfskinning.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_bloom
|
||||
# include "../examples/bloom/bloom.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_vertexattributes
|
||||
# include "../examples/vertexattributes/vertexattributes.cpp"
|
||||
#endif
|
||||
|
||||
// Runs, but some Apple GPUs may not support stores and atomic operations in the fragment stage.
|
||||
#ifdef MVK_oit
|
||||
# include "../examples/oit/oit.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// DEFERRED
|
||||
|
||||
#ifdef MVK_deferred
|
||||
# include "../examples/deferred/deferred.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_deferredmultisampling
|
||||
# include "../examples/deferredmultisampling/deferredmultisampling.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_ssao
|
||||
# include "../examples/ssao/ssao.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// DESCRIPTORS
|
||||
|
||||
#ifdef MVK_descriptorsets
|
||||
# include "../examples/descriptorsets/descriptorsets.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_pushdescriptors
|
||||
# include "../examples/pushdescriptors/pushdescriptors.cpp"
|
||||
#endif
|
||||
|
||||
// Runs on macOS 11.0 or later with Metal argument buffers enabled. Not yet supported on iOS.
|
||||
#ifdef MVK_descriptorindexing
|
||||
# include "../examples/descriptorindexing/descriptorindexing.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// PHYSICALLY BASED RENDERING
|
||||
|
||||
#ifdef MVK_pbrbasic
|
||||
# include "../examples/pbrbasic/pbrbasic.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_pbribl
|
||||
# include "../examples/pbribl/pbribl.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_pbrtexture
|
||||
# include "../examples/pbrtexture/pbrtexture.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// RAY TRACING - Currently unsupported by MoltenVK/Metal
|
||||
|
||||
// Does not run. Missing Vulkan extensions for ray tracing
|
||||
#ifdef MVK_rayquery
|
||||
# include "../examples/rayquery/rayquery.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Missing Vulkan extensions for ray tracing
|
||||
#ifdef MVK_raytracingbasic
|
||||
# include "../examples/raytracingbasic/raytracingbasic.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Missing Vulkan extensions for ray tracing
|
||||
#ifdef MVK_raytracingcallable
|
||||
# include "../examples/raytracingcallable/raytracingcallable.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Missing Vulkan extensions for ray tracing
|
||||
#ifdef MVK_raytracingreflections
|
||||
# include "../examples/raytracingreflections/raytracingreflections.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Missing Vulkan extensions for ray tracing
|
||||
#ifdef MVK_raytracingshadows
|
||||
# include "../examples/raytracingshadows/raytracingshadows.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// COMPUTE
|
||||
|
||||
#ifdef MVK_computeparticles
|
||||
# include "../examples/computeparticles/computeparticles.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_computenbody
|
||||
# include "../examples/computenbody/computenbody.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_computeraytracing
|
||||
# include "../examples/computeraytracing/computeraytracing.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_computecullandlod
|
||||
# include "../examples/computecullandlod/computecullandlod.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_computeshader
|
||||
# include "../examples/computeshader/computeshader.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_computecloth
|
||||
# include "../examples/computecloth/computecloth.cpp"
|
||||
#endif
|
||||
|
||||
// No headless target when using xcode examples project, builds/runs fine using vulkanExamples project.
|
||||
#ifdef MVK_computeheadless
|
||||
# include "../examples/computeheadless/computeheadless.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// TESSELLATION
|
||||
|
||||
#ifdef MVK_terraintessellation
|
||||
# include "../examples/terraintessellation/terraintessellation.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_tessellation
|
||||
# include "../examples/tessellation/tessellation.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_displacement
|
||||
# include "../examples/displacement/displacement.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// GEOMETRY SHADER - Unsupported by Metal
|
||||
|
||||
// Does not run. Metal does not support geometry shaders.
|
||||
#ifdef MVK_geometryshader
|
||||
# include "../examples/geometryshader/geometryshader.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Metal does not support geometry shaders.
|
||||
#ifdef MVK_deferredshadows
|
||||
# include "../examples/deferredshadows/deferredshadows.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Metal does not support geometry shaders.
|
||||
#ifdef MVK_viewportarray
|
||||
# include "../examples/viewportarray/viewportarray.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// EXTENSIONS
|
||||
|
||||
// Does not run. Requires VK_EXT_conditional_rendering.
|
||||
#ifdef MVK_conditionalrender
|
||||
# include "../examples/conditionalrender/conditionalrender.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Requires VK_EXT_conservative_rasterization.
|
||||
#ifdef MVK_conservativeraster
|
||||
# include "../examples/conservativeraster/conservativeraster.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Requires VK_NV_shading_rate_image.
|
||||
#ifdef MVK_variablerateshading
|
||||
# include "../examples/variablerateshading/variablerateshading.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. Requires VK_KHR_pipeline_library and VK_EXT_graphics_pipeline_library.
|
||||
#ifdef MVK_graphicspipelinelibrary
|
||||
# include "../examples/graphicspipelinelibrary/graphicspipelinelibrary.cpp"
|
||||
#endif
|
||||
|
||||
// Runs on MoltenVK 1.1.10 (SDK 1.3.216) or later. Requires VK_KHR_dynamic_rendering and dependencies.
|
||||
#ifdef MVK_dynamicrendering
|
||||
# include "../examples/dynamicrendering/dynamicrendering.cpp"
|
||||
#endif
|
||||
|
||||
// Runs. Requires VK_EXT_debug_marker.
|
||||
#ifdef MVK_debugmarker
|
||||
# include "../examples/debugmarker/debugmarker.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
// MISC
|
||||
|
||||
#ifdef MVK_screenshot
|
||||
# include "../examples/screenshot/screenshot.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_parallaxmapping
|
||||
# include "../examples/parallaxmapping/parallaxmapping.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_sphericalenvmapping
|
||||
# include "../examples/sphericalenvmapping/sphericalenvmapping.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_gears
|
||||
# include "../examples/gears/gears.cpp"
|
||||
# include "../examples/gears/vulkangear.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_distancefieldfonts
|
||||
# include "../examples/distancefieldfonts/distancefieldfonts.cpp"
|
||||
#endif
|
||||
|
||||
// Does not run. MoltenVK/Metal does not support pipeline statistics.
|
||||
#ifdef MVK_pipelinestatistics
|
||||
# include "../examples/pipelinestatistics/pipelinestatistics.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_imgui
|
||||
# include "../examples/imgui/main.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MVK_vulkanscene
|
||||
# include "../examples/vulkanscene/vulkanscene.cpp"
|
||||
#endif
|
||||
|
|
@ -1,858 +0,0 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
A951FF171E9C349000FA9144 /* VulkanDebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A951FF071E9C349000FA9144 /* VulkanDebug.cpp */; };
|
||||
A951FF181E9C349000FA9144 /* VulkanDebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A951FF071E9C349000FA9144 /* VulkanDebug.cpp */; };
|
||||
A951FF191E9C349000FA9144 /* vulkanexamplebase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A951FF0A1E9C349000FA9144 /* vulkanexamplebase.cpp */; };
|
||||
A951FF1A1E9C349000FA9144 /* vulkanexamplebase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A951FF0A1E9C349000FA9144 /* vulkanexamplebase.cpp */; };
|
||||
A951FF1B1E9C349000FA9144 /* VulkanTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A951FF131E9C349000FA9144 /* VulkanTools.cpp */; };
|
||||
A951FF1C1E9C349000FA9144 /* VulkanTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A951FF131E9C349000FA9144 /* VulkanTools.cpp */; };
|
||||
A9532B761EF99894000A09E2 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9532B751EF99894000A09E2 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
A9532B771EF9991A000A09E2 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9532B751EF99894000A09E2 /* libMoltenVK.dylib */; };
|
||||
A9532B781EF99937000A09E2 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9581BAB1EEB64EC00247309 /* libMoltenVK.dylib */; };
|
||||
A9581BA81EEB648C00247309 /* (null) in Frameworks */ = {isa = PBXBuildFile; };
|
||||
A9581BAC1EEB64EC00247309 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9581BAB1EEB64EC00247309 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
A98703D91E9D382A0066959C /* data in Resources */ = {isa = PBXBuildFile; fileRef = A98703D81E9D382A0066959C /* data */; };
|
||||
A98703DA1E9D382A0066959C /* data in Resources */ = {isa = PBXBuildFile; fileRef = A98703D81E9D382A0066959C /* data */; };
|
||||
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 */; };
|
||||
A9BC9B1C1EE8421F00384233 /* MVKExample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9BC9B1A1EE8421F00384233 /* MVKExample.cpp */; };
|
||||
A9BC9B1D1EE8421F00384233 /* MVKExample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9BC9B1A1EE8421F00384233 /* MVKExample.cpp */; };
|
||||
AA54A1B426E5274500485C4A /* VulkanBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1B226E5274500485C4A /* VulkanBuffer.cpp */; };
|
||||
AA54A1B526E5274500485C4A /* VulkanBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1B226E5274500485C4A /* VulkanBuffer.cpp */; };
|
||||
AA54A1B826E5275300485C4A /* VulkanDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1B626E5275300485C4A /* VulkanDevice.cpp */; };
|
||||
AA54A1B926E5275300485C4A /* VulkanDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1B626E5275300485C4A /* VulkanDevice.cpp */; };
|
||||
AA54A1C026E5276C00485C4A /* VulkanSwapChain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1BF26E5276C00485C4A /* VulkanSwapChain.cpp */; };
|
||||
AA54A1C126E5276C00485C4A /* VulkanSwapChain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1BF26E5276C00485C4A /* VulkanSwapChain.cpp */; };
|
||||
AA54A1C426E5277600485C4A /* VulkanTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1C326E5277600485C4A /* VulkanTexture.cpp */; };
|
||||
AA54A1C526E5277600485C4A /* VulkanTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1C326E5277600485C4A /* VulkanTexture.cpp */; };
|
||||
AA54A6B826E52CE300485C4A /* memstream.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1DD26E52CE100485C4A /* memstream.c */; };
|
||||
AA54A6B926E52CE300485C4A /* memstream.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1DD26E52CE100485C4A /* memstream.c */; };
|
||||
AA54A6BA26E52CE300485C4A /* vk_funclist.inl in Resources */ = {isa = PBXBuildFile; fileRef = AA54A1DE26E52CE100485C4A /* vk_funclist.inl */; };
|
||||
AA54A6BB26E52CE300485C4A /* vk_funclist.inl in Resources */ = {isa = PBXBuildFile; fileRef = AA54A1DE26E52CE100485C4A /* vk_funclist.inl */; };
|
||||
AA54A6BC26E52CE300485C4A /* etcdec.cxx in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E026E52CE100485C4A /* etcdec.cxx */; };
|
||||
AA54A6BD26E52CE300485C4A /* etcdec.cxx in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E026E52CE100485C4A /* etcdec.cxx */; };
|
||||
AA54A6BE26E52CE300485C4A /* checkheader.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E126E52CE100485C4A /* checkheader.c */; };
|
||||
AA54A6BF26E52CE300485C4A /* checkheader.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E126E52CE100485C4A /* checkheader.c */; };
|
||||
AA54A6C026E52CE300485C4A /* errstr.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E226E52CE100485C4A /* errstr.c */; };
|
||||
AA54A6C126E52CE300485C4A /* errstr.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E226E52CE100485C4A /* errstr.c */; };
|
||||
AA54A6C226E52CE300485C4A /* writer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E326E52CE100485C4A /* writer.c */; };
|
||||
AA54A6C326E52CE300485C4A /* writer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E326E52CE100485C4A /* writer.c */; };
|
||||
AA54A6C426E52CE300485C4A /* filestream.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E426E52CE100485C4A /* filestream.c */; };
|
||||
AA54A6C526E52CE300485C4A /* filestream.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1E426E52CE100485C4A /* filestream.c */; };
|
||||
AA54A6C626E52CE300485C4A /* mainpage.md in Resources */ = {isa = PBXBuildFile; fileRef = AA54A1E626E52CE100485C4A /* mainpage.md */; };
|
||||
AA54A6C726E52CE300485C4A /* mainpage.md in Resources */ = {isa = PBXBuildFile; fileRef = AA54A1E626E52CE100485C4A /* mainpage.md */; };
|
||||
AA54A6CA26E52CE300485C4A /* texture.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1EA26E52CE100485C4A /* texture.c */; };
|
||||
AA54A6CB26E52CE300485C4A /* texture.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1EA26E52CE100485C4A /* texture.c */; };
|
||||
AA54A6CC26E52CE300485C4A /* hashlist.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1ED26E52CE100485C4A /* hashlist.c */; };
|
||||
AA54A6CD26E52CE400485C4A /* hashlist.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1ED26E52CE100485C4A /* hashlist.c */; };
|
||||
AA54A6CE26E52CE400485C4A /* vk_funcs.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1EE26E52CE100485C4A /* vk_funcs.c */; };
|
||||
AA54A6CF26E52CE400485C4A /* vk_funcs.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1EE26E52CE100485C4A /* vk_funcs.c */; };
|
||||
AA54A6D226E52CE400485C4A /* hashtable.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1F626E52CE100485C4A /* hashtable.c */; };
|
||||
AA54A6D326E52CE400485C4A /* hashtable.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1F626E52CE100485C4A /* hashtable.c */; };
|
||||
AA54A6D826E52CE400485C4A /* swap.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1F926E52CE100485C4A /* swap.c */; };
|
||||
AA54A6D926E52CE400485C4A /* swap.c in Sources */ = {isa = PBXBuildFile; fileRef = AA54A1F926E52CE100485C4A /* swap.c */; };
|
||||
AA54A6DE26E52CE400485C4A /* imgui_widgets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A20426E52CE100485C4A /* imgui_widgets.cpp */; };
|
||||
AA54A6DF26E52CE400485C4A /* imgui_widgets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A20426E52CE100485C4A /* imgui_widgets.cpp */; };
|
||||
AA54A6E026E52CE400485C4A /* imgui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A20626E52CE100485C4A /* imgui.cpp */; };
|
||||
AA54A6E126E52CE400485C4A /* imgui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A20626E52CE100485C4A /* imgui.cpp */; };
|
||||
AA54A6E226E52CE400485C4A /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = AA54A20926E52CE100485C4A /* LICENSE.txt */; };
|
||||
AA54A6E326E52CE400485C4A /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = AA54A20926E52CE100485C4A /* LICENSE.txt */; };
|
||||
AA54A6E426E52CE400485C4A /* imgui_demo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A20A26E52CE100485C4A /* imgui_demo.cpp */; };
|
||||
AA54A6E526E52CE400485C4A /* imgui_demo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A20A26E52CE100485C4A /* imgui_demo.cpp */; };
|
||||
AA54A6E626E52CE400485C4A /* imgui_draw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A20B26E52CE100485C4A /* imgui_draw.cpp */; };
|
||||
AA54A6E726E52CE400485C4A /* imgui_draw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA54A20B26E52CE100485C4A /* imgui_draw.cpp */; };
|
||||
AAB0D0BF26F24001005DC611 /* VulkanRaytracingSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB0D0BE26F24001005DC611 /* VulkanRaytracingSample.cpp */; };
|
||||
AAB0D0C026F24001005DC611 /* VulkanRaytracingSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB0D0BE26F24001005DC611 /* VulkanRaytracingSample.cpp */; };
|
||||
C9788FD52044D78D00AB0892 /* VulkanAndroid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9788FD32044D78D00AB0892 /* VulkanAndroid.cpp */; };
|
||||
C9A79EFC204504E000696219 /* VulkanUIOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9A79EFB204504E000696219 /* VulkanUIOverlay.cpp */; };
|
||||
C9A79EFD2045051D00696219 /* VulkanUIOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9A79EFB204504E000696219 /* VulkanUIOverlay.cpp */; };
|
||||
C9A79EFE2045051D00696219 /* VulkanUIOverlay.h in Sources */ = {isa = PBXBuildFile; fileRef = C9A79EFA204504E000696219 /* VulkanUIOverlay.h */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
A91227BB1E9D5E9D00108018 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 6;
|
||||
files = (
|
||||
A9581BAC1EEB64EC00247309 /* libMoltenVK.dylib in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A9532B741EF9987C000A09E2 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 6;
|
||||
files = (
|
||||
A9532B761EF99894000A09E2 /* libMoltenVK.dylib in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
1D6058910D05DD3D006BFB54 /* examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = examples.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
A92F37071C7E1B2B008F8BC9 /* examples.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = examples.h; sourceTree = "<group>"; };
|
||||
A951FF001E9C349000FA9144 /* camera.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = camera.hpp; sourceTree = "<group>"; };
|
||||
A951FF011E9C349000FA9144 /* frustum.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = frustum.hpp; sourceTree = "<group>"; };
|
||||
A951FF021E9C349000FA9144 /* keycodes.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = keycodes.hpp; sourceTree = "<group>"; };
|
||||
A951FF031E9C349000FA9144 /* threadpool.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = threadpool.hpp; sourceTree = "<group>"; };
|
||||
A951FF071E9C349000FA9144 /* VulkanDebug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanDebug.cpp; sourceTree = "<group>"; };
|
||||
A951FF081E9C349000FA9144 /* VulkanDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanDebug.h; sourceTree = "<group>"; };
|
||||
A951FF0A1E9C349000FA9144 /* vulkanexamplebase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vulkanexamplebase.cpp; sourceTree = "<group>"; };
|
||||
A951FF0B1E9C349000FA9144 /* vulkanexamplebase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vulkanexamplebase.h; sourceTree = "<group>"; };
|
||||
A951FF0C1E9C349000FA9144 /* VulkanFrameBuffer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = VulkanFrameBuffer.hpp; sourceTree = "<group>"; };
|
||||
A951FF0D1E9C349000FA9144 /* VulkanHeightmap.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = VulkanHeightmap.hpp; sourceTree = "<group>"; };
|
||||
A951FF0E1E9C349000FA9144 /* VulkanInitializers.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = VulkanInitializers.hpp; sourceTree = "<group>"; };
|
||||
A951FF131E9C349000FA9144 /* VulkanTools.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanTools.cpp; sourceTree = "<group>"; };
|
||||
A951FF141E9C349000FA9144 /* VulkanTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanTools.h; sourceTree = "<group>"; };
|
||||
A9532B751EF99894000A09E2 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = MoltenVK/dylib/iOS/libMoltenVK.dylib; sourceTree = "<group>"; };
|
||||
A9581BAB1EEB64EC00247309 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = MoltenVK/dylib/macOS/libMoltenVK.dylib; sourceTree = "<group>"; };
|
||||
A977BCFE1B66BB010067E5BF /* examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = examples.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A977BD211B67186B0067E5BF /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
|
||||
A977BD221B67186B0067E5BF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
A977BD231B67186B0067E5BF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
A977BD251B67186B0067E5BF /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
|
||||
A977BD261B67186B0067E5BF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
A98703D81E9D382A0066959C /* data */ = {isa = PBXFileReference; lastKnownFileType = folder; name = data; path = ../data; sourceTree = "<group>"; };
|
||||
A9A222171B5D69F40050A5F9 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
||||
A9BC9B1A1EE8421F00384233 /* MVKExample.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MVKExample.cpp; sourceTree = "<group>"; };
|
||||
A9BC9B1B1EE8421F00384233 /* MVKExample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKExample.h; sourceTree = "<group>"; };
|
||||
A9CDEA271B6A782C00F7B008 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
|
||||
AA54A1B226E5274500485C4A /* VulkanBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanBuffer.cpp; sourceTree = "<group>"; };
|
||||
AA54A1B326E5274500485C4A /* VulkanBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanBuffer.h; sourceTree = "<group>"; };
|
||||
AA54A1B626E5275300485C4A /* VulkanDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanDevice.cpp; sourceTree = "<group>"; };
|
||||
AA54A1B726E5275300485C4A /* VulkanDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanDevice.h; sourceTree = "<group>"; };
|
||||
AA54A1BA26E5276000485C4A /* VulkanglTFModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanglTFModel.cpp; sourceTree = "<group>"; };
|
||||
AA54A1BB26E5276000485C4A /* VulkanglTFModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanglTFModel.h; sourceTree = "<group>"; };
|
||||
AA54A1BE26E5276C00485C4A /* VulkanSwapChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanSwapChain.h; sourceTree = "<group>"; };
|
||||
AA54A1BF26E5276C00485C4A /* VulkanSwapChain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanSwapChain.cpp; sourceTree = "<group>"; };
|
||||
AA54A1C226E5277600485C4A /* VulkanTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanTexture.h; sourceTree = "<group>"; };
|
||||
AA54A1C326E5277600485C4A /* VulkanTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanTexture.cpp; sourceTree = "<group>"; };
|
||||
AA54A1DD26E52CE100485C4A /* memstream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memstream.c; sourceTree = "<group>"; };
|
||||
AA54A1DE26E52CE100485C4A /* vk_funclist.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vk_funclist.inl; sourceTree = "<group>"; };
|
||||
AA54A1E026E52CE100485C4A /* etcdec.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = etcdec.cxx; sourceTree = "<group>"; };
|
||||
AA54A1E126E52CE100485C4A /* checkheader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = checkheader.c; sourceTree = "<group>"; };
|
||||
AA54A1E226E52CE100485C4A /* errstr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = errstr.c; sourceTree = "<group>"; };
|
||||
AA54A1E326E52CE100485C4A /* writer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = writer.c; sourceTree = "<group>"; };
|
||||
AA54A1E426E52CE100485C4A /* filestream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filestream.c; sourceTree = "<group>"; };
|
||||
AA54A1E626E52CE100485C4A /* mainpage.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = mainpage.md; sourceTree = "<group>"; };
|
||||
AA54A1E926E52CE100485C4A /* vk_format.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vk_format.h; sourceTree = "<group>"; };
|
||||
AA54A1EA26E52CE100485C4A /* texture.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = texture.c; sourceTree = "<group>"; };
|
||||
AA54A1EB26E52CE100485C4A /* ktxint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ktxint.h; sourceTree = "<group>"; };
|
||||
AA54A1EC26E52CE100485C4A /* stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stream.h; sourceTree = "<group>"; };
|
||||
AA54A1ED26E52CE100485C4A /* hashlist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hashlist.c; sourceTree = "<group>"; };
|
||||
AA54A1EE26E52CE100485C4A /* vk_funcs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vk_funcs.c; sourceTree = "<group>"; };
|
||||
AA54A1F026E52CE100485C4A /* uthash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uthash.h; sourceTree = "<group>"; };
|
||||
AA54A1F226E52CE100485C4A /* memstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memstream.h; sourceTree = "<group>"; };
|
||||
AA54A1F526E52CE100485C4A /* filestream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filestream.h; sourceTree = "<group>"; };
|
||||
AA54A1F626E52CE100485C4A /* hashtable.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hashtable.c; sourceTree = "<group>"; };
|
||||
AA54A1F926E52CE100485C4A /* swap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = swap.c; sourceTree = "<group>"; };
|
||||
AA54A1FB26E52CE100485C4A /* vk_funcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vk_funcs.h; sourceTree = "<group>"; };
|
||||
AA54A20126E52CE100485C4A /* imgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imgui.h; sourceTree = "<group>"; };
|
||||
AA54A20226E52CE100485C4A /* imstb_textedit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imstb_textedit.h; sourceTree = "<group>"; };
|
||||
AA54A20326E52CE100485C4A /* imconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imconfig.h; sourceTree = "<group>"; };
|
||||
AA54A20426E52CE100485C4A /* imgui_widgets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imgui_widgets.cpp; sourceTree = "<group>"; };
|
||||
AA54A20526E52CE100485C4A /* imstb_truetype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imstb_truetype.h; sourceTree = "<group>"; };
|
||||
AA54A20626E52CE100485C4A /* imgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imgui.cpp; sourceTree = "<group>"; };
|
||||
AA54A20726E52CE100485C4A /* imgui_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imgui_internal.h; sourceTree = "<group>"; };
|
||||
AA54A20826E52CE100485C4A /* imstb_rectpack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imstb_rectpack.h; sourceTree = "<group>"; };
|
||||
AA54A20926E52CE100485C4A /* LICENSE.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE.txt; sourceTree = "<group>"; };
|
||||
AA54A20A26E52CE100485C4A /* imgui_demo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imgui_demo.cpp; sourceTree = "<group>"; };
|
||||
AA54A20B26E52CE100485C4A /* imgui_draw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = imgui_draw.cpp; sourceTree = "<group>"; };
|
||||
AAB0D0BE26F24001005DC611 /* VulkanRaytracingSample.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanRaytracingSample.cpp; sourceTree = "<group>"; };
|
||||
AAB0D0C126F2400E005DC611 /* VulkanRaytracingSample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanRaytracingSample.h; sourceTree = "<group>"; };
|
||||
C9788FD02044D78D00AB0892 /* benchmark.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = benchmark.hpp; sourceTree = "<group>"; };
|
||||
C9788FD22044D78D00AB0892 /* VulkanAndroid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanAndroid.h; sourceTree = "<group>"; };
|
||||
C9788FD32044D78D00AB0892 /* VulkanAndroid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanAndroid.cpp; sourceTree = "<group>"; };
|
||||
C9A79EFA204504E000696219 /* VulkanUIOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VulkanUIOverlay.h; sourceTree = "<group>"; };
|
||||
C9A79EFB204504E000696219 /* VulkanUIOverlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VulkanUIOverlay.cpp; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A9532B771EF9991A000A09E2 /* libMoltenVK.dylib in Frameworks */,
|
||||
A9581BA81EEB648C00247309 /* (null) in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A977BCF11B66BB010067E5BF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A9532B781EF99937000A09E2 /* libMoltenVK.dylib in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D6058910D05DD3D006BFB54 /* examples.app */,
|
||||
A977BCFE1B66BB010067E5BF /* examples.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A92F37071C7E1B2B008F8BC9 /* examples.h */,
|
||||
A9BC9B1B1EE8421F00384233 /* MVKExample.h */,
|
||||
A9BC9B1A1EE8421F00384233 /* MVKExample.cpp */,
|
||||
A951FEFF1E9C349000FA9144 /* base */,
|
||||
AA54A1CF26E52CE100485C4A /* external */,
|
||||
A98703D81E9D382A0066959C /* data */,
|
||||
A9B67B6A1C3AAE9800373FFD /* iOS */,
|
||||
A9B67B811C3AAEA200373FFD /* macOS */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
);
|
||||
name = CustomTemplate;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A9581BAB1EEB64EC00247309 /* libMoltenVK.dylib */,
|
||||
A9532B751EF99894000A09E2 /* libMoltenVK.dylib */,
|
||||
A9B6B7641C0F795D00A9E33A /* CoreAudio.framework */,
|
||||
A9ADEC601B6EC2EB00DBA48C /* iOS */,
|
||||
A9ADEC611B6EC2F300DBA48C /* macOS */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A951FEFF1E9C349000FA9144 /* base */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C9A79EFB204504E000696219 /* VulkanUIOverlay.cpp */,
|
||||
C9A79EFA204504E000696219 /* VulkanUIOverlay.h */,
|
||||
C9788FD02044D78D00AB0892 /* benchmark.hpp */,
|
||||
C9788FD32044D78D00AB0892 /* VulkanAndroid.cpp */,
|
||||
C9788FD22044D78D00AB0892 /* VulkanAndroid.h */,
|
||||
A951FF001E9C349000FA9144 /* camera.hpp */,
|
||||
A951FF011E9C349000FA9144 /* frustum.hpp */,
|
||||
A951FF021E9C349000FA9144 /* keycodes.hpp */,
|
||||
A951FF031E9C349000FA9144 /* threadpool.hpp */,
|
||||
AA54A1B226E5274500485C4A /* VulkanBuffer.cpp */,
|
||||
AA54A1B326E5274500485C4A /* VulkanBuffer.h */,
|
||||
A951FF071E9C349000FA9144 /* VulkanDebug.cpp */,
|
||||
A951FF081E9C349000FA9144 /* VulkanDebug.h */,
|
||||
AA54A1B626E5275300485C4A /* VulkanDevice.cpp */,
|
||||
AA54A1B726E5275300485C4A /* VulkanDevice.h */,
|
||||
A951FF0A1E9C349000FA9144 /* vulkanexamplebase.cpp */,
|
||||
A951FF0B1E9C349000FA9144 /* vulkanexamplebase.h */,
|
||||
A951FF0C1E9C349000FA9144 /* VulkanFrameBuffer.hpp */,
|
||||
A951FF0D1E9C349000FA9144 /* VulkanHeightmap.hpp */,
|
||||
A951FF0E1E9C349000FA9144 /* VulkanInitializers.hpp */,
|
||||
AA54A1BA26E5276000485C4A /* VulkanglTFModel.cpp */,
|
||||
AA54A1BB26E5276000485C4A /* VulkanglTFModel.h */,
|
||||
AAB0D0BE26F24001005DC611 /* VulkanRaytracingSample.cpp */,
|
||||
AAB0D0C126F2400E005DC611 /* VulkanRaytracingSample.h */,
|
||||
AA54A1BF26E5276C00485C4A /* VulkanSwapChain.cpp */,
|
||||
AA54A1BE26E5276C00485C4A /* VulkanSwapChain.h */,
|
||||
AA54A1C326E5277600485C4A /* VulkanTexture.cpp */,
|
||||
AA54A1C226E5277600485C4A /* VulkanTexture.h */,
|
||||
A951FF131E9C349000FA9144 /* VulkanTools.cpp */,
|
||||
A951FF141E9C349000FA9144 /* VulkanTools.h */,
|
||||
);
|
||||
name = base;
|
||||
path = ../base;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A9ADEC601B6EC2EB00DBA48C /* iOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A9A222171B5D69F40050A5F9 /* Metal.framework */,
|
||||
1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */,
|
||||
2D500B990D5A79CF00DBA0E3 /* QuartzCore.framework */,
|
||||
1D30AB110D05D00D00671497 /* Foundation.framework */,
|
||||
A9CDEA271B6A782C00F7B008 /* GLKit.framework */,
|
||||
);
|
||||
name = iOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A9ADEC611B6EC2F300DBA48C /* macOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A977BD251B67186B0067E5BF /* Metal.framework */,
|
||||
A977BD221B67186B0067E5BF /* CoreGraphics.framework */,
|
||||
A977BD261B67186B0067E5BF /* QuartzCore.framework */,
|
||||
A977BD231B67186B0067E5BF /* Foundation.framework */,
|
||||
A977BD211B67186B0067E5BF /* AppKit.framework */,
|
||||
);
|
||||
name = macOS;
|
||||
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 */,
|
||||
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 */,
|
||||
A9B67B891C3AAEA200373FFD /* Resources */,
|
||||
);
|
||||
path = macOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A9B67B891C3AAEA200373FFD /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A9B67B8A1C3AAEA200373FFD /* Main.storyboard */,
|
||||
A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */,
|
||||
);
|
||||
path = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AA54A1CF26E52CE100485C4A /* external */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AA54A1D626E52CE100485C4A /* ktx */,
|
||||
AA54A20026E52CE100485C4A /* imgui */,
|
||||
);
|
||||
name = external;
|
||||
path = ../external;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AA54A1D626E52CE100485C4A /* ktx */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AA54A1DC26E52CE100485C4A /* lib */,
|
||||
);
|
||||
path = ktx;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AA54A1DC26E52CE100485C4A /* lib */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AA54A1E126E52CE100485C4A /* checkheader.c */,
|
||||
AA54A1E226E52CE100485C4A /* errstr.c */,
|
||||
AA54A1E026E52CE100485C4A /* etcdec.cxx */,
|
||||
AA54A1E426E52CE100485C4A /* filestream.c */,
|
||||
AA54A1F526E52CE100485C4A /* filestream.h */,
|
||||
AA54A1ED26E52CE100485C4A /* hashlist.c */,
|
||||
AA54A1F626E52CE100485C4A /* hashtable.c */,
|
||||
AA54A1EB26E52CE100485C4A /* ktxint.h */,
|
||||
AA54A1E626E52CE100485C4A /* mainpage.md */,
|
||||
AA54A1DD26E52CE100485C4A /* memstream.c */,
|
||||
AA54A1F226E52CE100485C4A /* memstream.h */,
|
||||
AA54A1EC26E52CE100485C4A /* stream.h */,
|
||||
AA54A1F926E52CE100485C4A /* swap.c */,
|
||||
AA54A1EA26E52CE100485C4A /* texture.c */,
|
||||
AA54A1F026E52CE100485C4A /* uthash.h */,
|
||||
AA54A1E926E52CE100485C4A /* vk_format.h */,
|
||||
AA54A1DE26E52CE100485C4A /* vk_funclist.inl */,
|
||||
AA54A1EE26E52CE100485C4A /* vk_funcs.c */,
|
||||
AA54A1FB26E52CE100485C4A /* vk_funcs.h */,
|
||||
AA54A1E326E52CE100485C4A /* writer.c */,
|
||||
);
|
||||
path = lib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AA54A20026E52CE100485C4A /* imgui */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
AA54A20326E52CE100485C4A /* imconfig.h */,
|
||||
AA54A20A26E52CE100485C4A /* imgui_demo.cpp */,
|
||||
AA54A20B26E52CE100485C4A /* imgui_draw.cpp */,
|
||||
AA54A20726E52CE100485C4A /* imgui_internal.h */,
|
||||
AA54A20426E52CE100485C4A /* imgui_widgets.cpp */,
|
||||
AA54A20626E52CE100485C4A /* imgui.cpp */,
|
||||
AA54A20126E52CE100485C4A /* imgui.h */,
|
||||
AA54A20826E52CE100485C4A /* imstb_rectpack.h */,
|
||||
AA54A20226E52CE100485C4A /* imstb_textedit.h */,
|
||||
AA54A20526E52CE100485C4A /* imstb_truetype.h */,
|
||||
AA54A20926E52CE100485C4A /* LICENSE.txt */,
|
||||
);
|
||||
path = imgui;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1D6058900D05DD3D006BFB54 /* examples-ios */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "examples-ios" */;
|
||||
buildPhases = (
|
||||
1D60588D0D05DD3D006BFB54 /* Resources */,
|
||||
1D60588E0D05DD3D006BFB54 /* Sources */,
|
||||
1D60588F0D05DD3D006BFB54 /* Frameworks */,
|
||||
A9532B741EF9987C000A09E2 /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "examples-ios";
|
||||
productName = foo;
|
||||
productReference = 1D6058910D05DD3D006BFB54 /* examples.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
A977BCBD1B66BB010067E5BF /* examples-macos */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = A977BCFB1B66BB010067E5BF /* Build configuration list for PBXNativeTarget "examples-macos" */;
|
||||
buildPhases = (
|
||||
A977BCBE1B66BB010067E5BF /* Resources */,
|
||||
A977BCC91B66BB010067E5BF /* Sources */,
|
||||
A977BCF11B66BB010067E5BF /* Frameworks */,
|
||||
A91227BB1E9D5E9D00108018 /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "examples-macos";
|
||||
productName = foo;
|
||||
productReference = A977BCFE1B66BB010067E5BF /* examples.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0920;
|
||||
TargetAttributes = {
|
||||
1D6058900D05DD3D006BFB54 = {
|
||||
DevelopmentTeam = S42TTF822Y;
|
||||
};
|
||||
A977BCBD1B66BB010067E5BF = {
|
||||
DevelopmentTeam = S42TTF822Y;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "examples" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1D6058900D05DD3D006BFB54 /* examples-ios */,
|
||||
A977BCBD1B66BB010067E5BF /* examples-macos */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1D60588D0D05DD3D006BFB54 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A9B67B7F1C3AAE9800373FFD /* Icon.png in Resources */,
|
||||
A9B67B801C3AAE9800373FFD /* Main.storyboard in Resources */,
|
||||
AA54A6C626E52CE300485C4A /* mainpage.md in Resources */,
|
||||
AA54A6E226E52CE400485C4A /* LICENSE.txt in Resources */,
|
||||
AA54A6BA26E52CE300485C4A /* vk_funclist.inl in Resources */,
|
||||
A9B67B7E1C3AAE9800373FFD /* Default~ipad.png in Resources */,
|
||||
A9B67B7D1C3AAE9800373FFD /* Default-568h@2x.png in Resources */,
|
||||
A98703D91E9D382A0066959C /* data in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A977BCBE1B66BB010067E5BF /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
AA54A6E326E52CE400485C4A /* LICENSE.txt in Resources */,
|
||||
AA54A6BB26E52CE300485C4A /* vk_funclist.inl in Resources */,
|
||||
AA54A6C726E52CE300485C4A /* mainpage.md in Resources */,
|
||||
A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */,
|
||||
A98703DA1E9D382A0066959C /* data in Resources */,
|
||||
A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1D60588E0D05DD3D006BFB54 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
AA54A1C426E5277600485C4A /* VulkanTexture.cpp in Sources */,
|
||||
AA54A6CE26E52CE400485C4A /* vk_funcs.c in Sources */,
|
||||
AA54A6C426E52CE300485C4A /* filestream.c in Sources */,
|
||||
AA54A6C026E52CE300485C4A /* errstr.c in Sources */,
|
||||
A951FF171E9C349000FA9144 /* VulkanDebug.cpp in Sources */,
|
||||
AA54A6E626E52CE400485C4A /* imgui_draw.cpp in Sources */,
|
||||
A9BC9B1C1EE8421F00384233 /* MVKExample.cpp in Sources */,
|
||||
AA54A6BC26E52CE300485C4A /* etcdec.cxx in Sources */,
|
||||
AA54A6D226E52CE400485C4A /* hashtable.c in Sources */,
|
||||
AA54A6B826E52CE300485C4A /* memstream.c in Sources */,
|
||||
AA54A6C226E52CE300485C4A /* writer.c in Sources */,
|
||||
C9A79EFC204504E000696219 /* VulkanUIOverlay.cpp in Sources */,
|
||||
AA54A6DE26E52CE400485C4A /* imgui_widgets.cpp in Sources */,
|
||||
A9B67B7A1C3AAE9800373FFD /* DemoViewController.mm in Sources */,
|
||||
A9B67B781C3AAE9800373FFD /* AppDelegate.m in Sources */,
|
||||
AA54A6CA26E52CE300485C4A /* texture.c in Sources */,
|
||||
AAB0D0BF26F24001005DC611 /* VulkanRaytracingSample.cpp in Sources */,
|
||||
C9788FD52044D78D00AB0892 /* VulkanAndroid.cpp in Sources */,
|
||||
A951FF1B1E9C349000FA9144 /* VulkanTools.cpp in Sources */,
|
||||
AA54A6CC26E52CE300485C4A /* hashlist.c in Sources */,
|
||||
A951FF191E9C349000FA9144 /* vulkanexamplebase.cpp in Sources */,
|
||||
AA54A1B426E5274500485C4A /* VulkanBuffer.cpp in Sources */,
|
||||
AA54A6D826E52CE400485C4A /* swap.c in Sources */,
|
||||
AA54A6BE26E52CE300485C4A /* checkheader.c in Sources */,
|
||||
A9B67B7C1C3AAE9800373FFD /* main.m in Sources */,
|
||||
AA54A1B826E5275300485C4A /* VulkanDevice.cpp in Sources */,
|
||||
AA54A1C026E5276C00485C4A /* VulkanSwapChain.cpp in Sources */,
|
||||
AA54A6E426E52CE400485C4A /* imgui_demo.cpp in Sources */,
|
||||
AA54A6E026E52CE400485C4A /* imgui.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A977BCC91B66BB010067E5BF /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C9A79EFD2045051D00696219 /* VulkanUIOverlay.cpp in Sources */,
|
||||
AA54A6CF26E52CE400485C4A /* vk_funcs.c in Sources */,
|
||||
AA54A6C526E52CE300485C4A /* filestream.c in Sources */,
|
||||
AA54A6C126E52CE300485C4A /* errstr.c in Sources */,
|
||||
C9A79EFE2045051D00696219 /* VulkanUIOverlay.h in Sources */,
|
||||
AA54A6E726E52CE400485C4A /* imgui_draw.cpp in Sources */,
|
||||
AA54A1B526E5274500485C4A /* VulkanBuffer.cpp in Sources */,
|
||||
AA54A6BD26E52CE300485C4A /* etcdec.cxx in Sources */,
|
||||
AA54A6D326E52CE400485C4A /* hashtable.c in Sources */,
|
||||
AA54A6B926E52CE300485C4A /* memstream.c in Sources */,
|
||||
AA54A6C326E52CE300485C4A /* writer.c in Sources */,
|
||||
AA54A1B926E5275300485C4A /* VulkanDevice.cpp in Sources */,
|
||||
AA54A6DF26E52CE400485C4A /* imgui_widgets.cpp in Sources */,
|
||||
A951FF181E9C349000FA9144 /* VulkanDebug.cpp in Sources */,
|
||||
AA54A6CB26E52CE300485C4A /* texture.c in Sources */,
|
||||
AAB0D0C026F24001005DC611 /* VulkanRaytracingSample.cpp in Sources */,
|
||||
A9BC9B1D1EE8421F00384233 /* MVKExample.cpp in Sources */,
|
||||
A9B67B8C1C3AAEA200373FFD /* AppDelegate.m in Sources */,
|
||||
AA54A1C126E5276C00485C4A /* VulkanSwapChain.cpp in Sources */,
|
||||
AA54A6CD26E52CE400485C4A /* hashlist.c in Sources */,
|
||||
A9B67B8F1C3AAEA200373FFD /* main.m in Sources */,
|
||||
AA54A1C526E5277600485C4A /* VulkanTexture.cpp in Sources */,
|
||||
AA54A6D926E52CE400485C4A /* swap.c in Sources */,
|
||||
AA54A6BF26E52CE300485C4A /* checkheader.c in Sources */,
|
||||
A951FF1C1E9C349000FA9144 /* VulkanTools.cpp in Sources */,
|
||||
A951FF1A1E9C349000FA9144 /* vulkanexamplebase.cpp in Sources */,
|
||||
A9B67B8D1C3AAEA200373FFD /* DemoViewController.mm in Sources */,
|
||||
AA54A6E526E52CE400485C4A /* imgui_demo.cpp in Sources */,
|
||||
AA54A6E126E52CE400485C4A /* imgui.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1D6058940D05DD3E006BFB54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
DEVELOPMENT_TEAM = S42TTF822Y;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
"DEBUG=1",
|
||||
_DEBUG,
|
||||
VK_USE_PLATFORM_IOS_MVK,
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path";
|
||||
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/MoltenVK/dylib/iOS\"";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.examples-team";
|
||||
SDKROOT = iphoneos;
|
||||
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALID_ARCHS = "$(ARCHS_STANDARD)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D6058950D05DD3E006BFB54 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
DEVELOPMENT_TEAM = S42TTF822Y;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
VK_USE_PLATFORM_IOS_MVK,
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path";
|
||||
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/MoltenVK/dylib/iOS\"";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.examples-team";
|
||||
SDKROOT = iphoneos;
|
||||
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALID_ARCHS = "$(ARCHS_STANDARD)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
A977BCFC1B66BB010067E5BF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = S42TTF822Y;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
"DEBUG=1",
|
||||
_DEBUG,
|
||||
VK_USE_PLATFORM_MACOS_MVK,
|
||||
);
|
||||
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path";
|
||||
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/MoltenVK/dylib/macOS\"";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.examples-team";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
A977BCFD1B66BB010067E5BF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = S42TTF822Y;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
VK_USE_PLATFORM_MACOS_MVK,
|
||||
);
|
||||
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "@executable_path";
|
||||
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/MoltenVK/dylib/macOS\"";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.examples-team";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF4F08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = NO;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = MVK_vulkanscene;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"\"$(SRCROOT)/MoltenVK/include\"",
|
||||
"\"$(SRCROOT)/../external\"/**",
|
||||
"\"$(SRCROOT)/../base\"",
|
||||
);
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
|
||||
PRODUCT_NAME = "${PROJECT}";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = NO;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = MVK_vulkanscene;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"\"$(SRCROOT)/MoltenVK/include\"",
|
||||
"\"$(SRCROOT)/../external\"/**",
|
||||
"\"$(SRCROOT)/../base\"",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
|
||||
PRODUCT_NAME = "${PROJECT}";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "examples-ios" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D6058940D05DD3E006BFB54 /* Debug */,
|
||||
1D6058950D05DD3E006BFB54 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
A977BCFB1B66BB010067E5BF /* Build configuration list for PBXNativeTarget "examples-macos" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
A977BCFC1B66BB010067E5BF /* Debug */,
|
||||
A977BCFD1B66BB010067E5BF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "examples" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4F08A954540054247B /* Debug */,
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
{
|
||||
"DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "5B3778DF088377325550251267213ED1422AF030",
|
||||
"DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
|
||||
|
||||
},
|
||||
"DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
|
||||
"986064432ACD0B21E33CA886A95425627120351A" : 9223372036854775807,
|
||||
"5B3778DF088377325550251267213ED1422AF030" : 9223372036854775807
|
||||
},
|
||||
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "CD2D1537-0CC5-4969-BD35-AB1ED0A0FACA",
|
||||
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
|
||||
"986064432ACD0B21E33CA886A95425627120351A" : "..\/..\/..\/Molten",
|
||||
"5B3778DF088377325550251267213ED1422AF030" : "Vulkan-bw\/"
|
||||
},
|
||||
"DVTSourceControlWorkspaceBlueprintNameKey" : "examples",
|
||||
"DVTSourceControlWorkspaceBlueprintVersion" : 204,
|
||||
"DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "xcode\/examples.xcodeproj",
|
||||
"DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
|
||||
{
|
||||
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/brenwill\/Vulkan.git",
|
||||
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
|
||||
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "5B3778DF088377325550251267213ED1422AF030"
|
||||
},
|
||||
{
|
||||
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/brenwill\/molten.git",
|
||||
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
|
||||
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "986064432ACD0B21E33CA886A95425627120351A"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0920"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "examples.app"
|
||||
BlueprintName = "examples-ios"
|
||||
ReferencedContainer = "container:examples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = ""
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "examples.app"
|
||||
BlueprintName = "examples-ios"
|
||||
ReferencedContainer = "container:examples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
language = ""
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugXPCServices = "NO"
|
||||
debugServiceExtension = "internal"
|
||||
enableGPUFrameCaptureMode = "3"
|
||||
enableGPUValidationMode = "1"
|
||||
allowLocationSimulation = "NO"
|
||||
viewDebuggingEnabled = "No"
|
||||
queueDebuggingEnabled = "No">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "examples.app"
|
||||
BlueprintName = "examples-ios"
|
||||
ReferencedContainer = "container:examples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "examples.app"
|
||||
BlueprintName = "examples-ios"
|
||||
ReferencedContainer = "container:examples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0920"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A977BCBD1B66BB010067E5BF"
|
||||
BuildableName = "examples.app"
|
||||
BlueprintName = "examples-macos"
|
||||
ReferencedContainer = "container:examples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = ""
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A977BCBD1B66BB010067E5BF"
|
||||
BuildableName = "examples.app"
|
||||
BlueprintName = "examples-macos"
|
||||
ReferencedContainer = "container:examples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
language = ""
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "NO"
|
||||
debugXPCServices = "NO"
|
||||
debugServiceExtension = "internal"
|
||||
enableGPUFrameCaptureMode = "3"
|
||||
enableGPUValidationMode = "1"
|
||||
allowLocationSimulation = "NO"
|
||||
viewDebuggingEnabled = "No"
|
||||
queueDebuggingEnabled = "No">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A977BCBD1B66BB010067E5BF"
|
||||
BuildableName = "examples.app"
|
||||
BlueprintName = "examples-macos"
|
||||
ReferencedContainer = "container:examples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A977BCBD1B66BB010067E5BF"
|
||||
BuildableName = "examples.app"
|
||||
BlueprintName = "examples-macos"
|
||||
ReferencedContainer = "container:examples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
Before Width: | Height: | Size: 160 KiB |
|
|
@ -1,16 +0,0 @@
|
|||
/*
|
||||
* AppDelegate.h
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface AppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
@property (strong, nonatomic) UIViewController *viewController;
|
||||
|
||||
@end
|
||||
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
/*
|
||||
* AppDelegate.m
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import "AppDelegate.h"
|
||||
#import "DemoViewController.h"
|
||||
|
||||
@interface AppDelegate ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
// Override point for customization after application launch.
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)applicationWillResignActive:(UIApplication *)application {
|
||||
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
|
||||
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
|
||||
}
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application {
|
||||
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
|
||||
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
|
||||
}
|
||||
|
||||
- (void)applicationWillEnterForeground:(UIApplication *)application {
|
||||
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
|
||||
}
|
||||
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
||||
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application {
|
||||
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
|
||||
[(DemoViewController *)_viewController shutdownExample];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
/*
|
||||
* DemoViewController.h
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark DemoViewController
|
||||
|
||||
/** The main view controller for the demo storyboard. */
|
||||
@interface DemoViewController : UIViewController <UIKeyInput>
|
||||
-(void) shutdownExample;
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark DemoView
|
||||
|
||||
/** The Metal-compatibile view for the demo Storyboard. */
|
||||
@interface DemoView : UIView
|
||||
@end
|
||||
|
||||
|
|
@ -1,218 +0,0 @@
|
|||
/*
|
||||
* DemoViewController.mm
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import "DemoViewController.h"
|
||||
#import "AppDelegate.h"
|
||||
|
||||
#include "MVKExample.h"
|
||||
|
||||
|
||||
const std::string getAssetPath() {
|
||||
return [NSBundle.mainBundle.resourcePath stringByAppendingString: @"/data/"].UTF8String;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark DemoViewController
|
||||
|
||||
@implementation DemoViewController {
|
||||
MVKExample* _mvkExample;
|
||||
CADisplayLink* _displayLink;
|
||||
BOOL _viewHasAppeared;
|
||||
CGPoint _startPoint;
|
||||
}
|
||||
|
||||
/** Since this is a single-view app, init Vulkan when the view is loaded. */
|
||||
-(void) viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
self.view.contentScaleFactor = UIScreen.mainScreen.nativeScale;
|
||||
|
||||
_mvkExample = new MVKExample(self.view, 1.0f); // SRS - Use 1x scale factor for UIOverlay on iOS
|
||||
|
||||
// SRS - Enable AppDelegate to call into DemoViewController for handling app lifecycle events (e.g. termination)
|
||||
auto appDelegate = (AppDelegate *)UIApplication.sharedApplication.delegate;
|
||||
appDelegate.viewController = self;
|
||||
|
||||
uint32_t fps = 60;
|
||||
_displayLink = [CADisplayLink displayLinkWithTarget: self selector: @selector(renderFrame)];
|
||||
[_displayLink setFrameInterval: 60 / fps];
|
||||
[_displayLink addToRunLoop: NSRunLoop.currentRunLoop forMode: NSDefaultRunLoopMode];
|
||||
|
||||
// Setup double tap gesture to toggle virtual keyboard
|
||||
UITapGestureRecognizer* tapSelector = [[[UITapGestureRecognizer alloc]
|
||||
initWithTarget: self action: @selector(handleTapGesture:)] autorelease];
|
||||
tapSelector.numberOfTapsRequired = 2;
|
||||
tapSelector.cancelsTouchesInView = YES;
|
||||
tapSelector.requiresExclusiveTouchType = YES;
|
||||
[self.view addGestureRecognizer: tapSelector];
|
||||
|
||||
// SRS - Setup pan gesture to detect and activate translation
|
||||
UIPanGestureRecognizer* panSelector = [[[UIPanGestureRecognizer alloc]
|
||||
initWithTarget: self action: @selector(handlePanGesture:)] autorelease];
|
||||
panSelector.minimumNumberOfTouches = 2;
|
||||
panSelector.cancelsTouchesInView = YES;
|
||||
panSelector.requiresExclusiveTouchType = YES;
|
||||
[self.view addGestureRecognizer: panSelector];
|
||||
|
||||
// SRS - Setup pinch gesture to detect and activate zoom
|
||||
UIPinchGestureRecognizer* pinchSelector = [[[UIPinchGestureRecognizer alloc]
|
||||
initWithTarget: self action: @selector(handlePinchGesture:)] autorelease];
|
||||
pinchSelector.cancelsTouchesInView = YES;
|
||||
pinchSelector.requiresExclusiveTouchType = YES;
|
||||
[self.view addGestureRecognizer: pinchSelector];
|
||||
|
||||
_viewHasAppeared = NO;
|
||||
}
|
||||
|
||||
-(void) viewDidAppear: (BOOL) animated {
|
||||
[super viewDidAppear: animated];
|
||||
_viewHasAppeared = YES;
|
||||
}
|
||||
|
||||
-(BOOL) canBecomeFirstResponder { return _viewHasAppeared; }
|
||||
|
||||
-(void) renderFrame {
|
||||
//_mvkExample->renderFrame();
|
||||
_mvkExample->displayLinkOutputCb(); // SRS - Call displayLinkOutputCb() to animate frames vs. renderFrame() for static image
|
||||
}
|
||||
|
||||
-(void) shutdownExample {
|
||||
[_displayLink invalidate];
|
||||
delete _mvkExample;
|
||||
}
|
||||
|
||||
// Toggle the display of the virtual keyboard
|
||||
-(void) toggleKeyboard {
|
||||
if (self.isFirstResponder) {
|
||||
[self resignFirstResponder];
|
||||
} else {
|
||||
[self becomeFirstResponder];
|
||||
}
|
||||
}
|
||||
|
||||
// Display and hide the keyboard by double tapping on the view
|
||||
-(void) handleTapGesture: (UITapGestureRecognizer*) gestureRecognizer {
|
||||
if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
|
||||
[self toggleKeyboard];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#pragma mark UIKeyInput methods
|
||||
|
||||
// Returns whether text is available
|
||||
-(BOOL) hasText { return YES; }
|
||||
|
||||
// A key on the keyboard has been pressed.
|
||||
-(void) insertText: (NSString*) text {
|
||||
unichar keychar = (text.length > 0) ? [text.lowercaseString characterAtIndex: 0] : 0;
|
||||
_mvkExample->keyPressed(keychar);
|
||||
}
|
||||
|
||||
// The delete backward key has been pressed.
|
||||
-(void) deleteBackward {
|
||||
_mvkExample->keyPressed(KEY_DELETE);
|
||||
}
|
||||
|
||||
|
||||
#pragma mark UITouch methods
|
||||
|
||||
-(CGPoint) getTouchLocalPoint:(UIEvent*) theEvent {
|
||||
UITouch *touch = [[theEvent allTouches] anyObject];
|
||||
CGPoint point = [touch locationInView: self.view];
|
||||
point.x *= self.view.contentScaleFactor;
|
||||
point.y *= self.view.contentScaleFactor;
|
||||
return point;
|
||||
}
|
||||
|
||||
// SRS - Handle touch events
|
||||
-(void) touchesBegan:(NSSet*) touches withEvent:(UIEvent*) theEvent {
|
||||
if (touches.count == 1) {
|
||||
auto point = [self getTouchLocalPoint: theEvent];
|
||||
_mvkExample->mouseDown(point.x, point.y);
|
||||
}
|
||||
}
|
||||
|
||||
-(void) touchesMoved:(NSSet*) touches withEvent:(UIEvent*) theEvent {
|
||||
if (touches.count == 1) {
|
||||
auto point = [self getTouchLocalPoint: theEvent];
|
||||
_mvkExample->mouseDragged(point.x, point.y);
|
||||
}
|
||||
}
|
||||
|
||||
-(void) touchesEnded:(NSSet*) touches withEvent:(UIEvent*) theEvent {
|
||||
_mvkExample->mouseUp();
|
||||
}
|
||||
|
||||
-(void) touchesCancelled:(NSSet*) touches withEvent:(UIEvent*) theEvent {
|
||||
_mvkExample->mouseUp();
|
||||
}
|
||||
|
||||
#pragma mark UIGesture methods
|
||||
|
||||
-(CGPoint) getGestureLocalPoint:(UIGestureRecognizer*) gestureRecognizer {
|
||||
CGPoint point = [gestureRecognizer locationInView: self.view];
|
||||
point.x *= self.view.contentScaleFactor;
|
||||
point.y *= self.view.contentScaleFactor;
|
||||
return point;
|
||||
}
|
||||
|
||||
// SRS - Respond to pan gestures for translation
|
||||
-(void) handlePanGesture: (UIPanGestureRecognizer*) gestureRecognizer {
|
||||
switch (gestureRecognizer.state) {
|
||||
case UIGestureRecognizerStateBegan: {
|
||||
_startPoint = [self getGestureLocalPoint: gestureRecognizer];
|
||||
_mvkExample->otherMouseDown(_startPoint.x, _startPoint.y);
|
||||
break;
|
||||
}
|
||||
case UIGestureRecognizerStateChanged: {
|
||||
auto translation = [gestureRecognizer translationInView: self.view];
|
||||
translation.x *= self.view.contentScaleFactor;
|
||||
translation.y *= self.view.contentScaleFactor;
|
||||
_mvkExample->mouseDragged(_startPoint.x + translation.x, _startPoint.y + translation.y);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
_mvkExample->otherMouseUp();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// SRS - Respond to pinch gestures for zoom
|
||||
-(void) handlePinchGesture: (UIPinchGestureRecognizer*) gestureRecognizer {
|
||||
switch (gestureRecognizer.state) {
|
||||
case UIGestureRecognizerStateBegan: {
|
||||
_startPoint = [self getGestureLocalPoint: gestureRecognizer];
|
||||
_mvkExample->rightMouseDown(_startPoint.x, _startPoint.y);
|
||||
break;
|
||||
}
|
||||
case UIGestureRecognizerStateChanged: {
|
||||
_mvkExample->mouseDragged(_startPoint.x, _startPoint.y - self.view.frame.size.height * log(gestureRecognizer.scale));
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
_mvkExample->rightMouseUp();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark DemoView
|
||||
|
||||
@implementation DemoView
|
||||
|
||||
/** Returns a Metal-compatible layer. */
|
||||
+(Class) layerClass { return [CAMetalLayer class]; }
|
||||
|
||||
@end
|
||||
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>iOS/Resources/Icon.png</string>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string></string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiresFullScreen</key>
|
||||
<true/>
|
||||
<key>UIStatusBarHidden</key>
|
||||
<true/>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9060" systemVersion="15A279b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="vmV-Wi-8wg">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9051"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Demo View Controller-->
|
||||
<scene sceneID="UPC-Y9-dN2">
|
||||
<objects>
|
||||
<viewController id="vmV-Wi-8wg" customClass="DemoViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="klr-UD-pWY"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="lMV-Es-kLU"/>
|
||||
</layoutGuides>
|
||||
<view key="view" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="xKx-Gc-5Is" customClass="DemoView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<animations/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="ERB-qy-6pP" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="404" y="555"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* main.m
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, @"AppDelegate");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
/*
|
||||
* AppDelegate.h
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface AppDelegate : NSObject <NSApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) NSViewController *viewController;
|
||||
|
||||
@end
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
* AppDelegate.m
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import "AppDelegate.h"
|
||||
#import "DemoViewController.h"
|
||||
|
||||
@interface AppDelegate ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
|
||||
// Insert code here to initialize your application
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(NSNotification *)aNotification {
|
||||
// Insert code here to tear down your application
|
||||
[(DemoViewController *)_viewController shutdownExample];
|
||||
}
|
||||
|
||||
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender {
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
/*
|
||||
* DemoViewController.h
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import <AppKit/AppKit.h>
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark DemoViewController
|
||||
|
||||
/** The main view controller for the demo storyboard. */
|
||||
@interface DemoViewController : NSViewController
|
||||
-(void) shutdownExample;
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark DemoView
|
||||
|
||||
/** The Metal-compatibile view for the demo Storyboard. */
|
||||
@interface DemoView : NSView
|
||||
@end
|
||||
|
||||
|
|
@ -1,188 +0,0 @@
|
|||
/*
|
||||
* DemoViewController.mm
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import "DemoViewController.h"
|
||||
#import "AppDelegate.h"
|
||||
#import <QuartzCore/CAMetalLayer.h>
|
||||
|
||||
#include "MVKExample.h"
|
||||
|
||||
const std::string getAssetPath() {
|
||||
return [NSBundle.mainBundle.resourcePath stringByAppendingString: @"/data/"].UTF8String;
|
||||
}
|
||||
|
||||
/** Rendering loop callback function for use with a CVDisplayLink. */
|
||||
static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink,
|
||||
const CVTimeStamp* now,
|
||||
const CVTimeStamp* outputTime,
|
||||
CVOptionFlags flagsIn,
|
||||
CVOptionFlags* flagsOut,
|
||||
void* target) {
|
||||
//((MVKExample*)target)->renderFrame();
|
||||
((MVKExample*)target)->displayLinkOutputCb(); // SRS - Call displayLinkOutputCb() to animate frames vs. renderFrame() for static image
|
||||
return kCVReturnSuccess;
|
||||
}
|
||||
|
||||
CALayer* layer;
|
||||
MVKExample* _mvkExample;
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark DemoViewController
|
||||
|
||||
@implementation DemoViewController {
|
||||
CVDisplayLinkRef _displayLink;
|
||||
}
|
||||
|
||||
/** Since this is a single-view app, initialize Vulkan during view loading. */
|
||||
-(void) viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
self.view.wantsLayer = YES; // Back the view with a layer created by the makeBackingLayer method (called immediately on set)
|
||||
|
||||
_mvkExample = new MVKExample(self.view, layer.contentsScale); // SRS - Use backing layer scale factor for UIOverlay on macOS
|
||||
|
||||
// SRS - Enable AppDelegate to call into DemoViewController for handling application lifecycle events (e.g. termination)
|
||||
auto appDelegate = (AppDelegate *)NSApplication.sharedApplication.delegate;
|
||||
appDelegate.viewController = self;
|
||||
|
||||
CVDisplayLinkCreateWithActiveCGDisplays(&_displayLink);
|
||||
CVDisplayLinkSetOutputCallback(_displayLink, &DisplayLinkCallback, _mvkExample);
|
||||
CVDisplayLinkStart(_displayLink);
|
||||
}
|
||||
|
||||
-(void) shutdownExample {
|
||||
CVDisplayLinkStop(_displayLink);
|
||||
CVDisplayLinkRelease(_displayLink);
|
||||
delete _mvkExample;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark DemoView
|
||||
|
||||
@implementation DemoView
|
||||
|
||||
/** Indicates that the view wants to draw using the backing layer instead of using drawRect:. */
|
||||
-(BOOL) wantsUpdateLayer { return YES; }
|
||||
|
||||
/** Returns a Metal-compatible layer. */
|
||||
+(Class) layerClass { return [CAMetalLayer class]; }
|
||||
|
||||
/** If the wantsLayer property is set to YES, this method will be invoked to return a layer instance. */
|
||||
-(CALayer*) makeBackingLayer {
|
||||
layer = [self.class.layerClass layer];
|
||||
CGSize viewScale = [self convertSizeToBacking: CGSizeMake(1.0, 1.0)];
|
||||
layer.contentsScale = MIN(viewScale.width, viewScale.height);
|
||||
return layer;
|
||||
}
|
||||
|
||||
// SRS - Activate mouse cursor tracking within the view, set view as window delegate, and center the window
|
||||
- (void) viewDidMoveToWindow {
|
||||
auto trackingArea = [[NSTrackingArea alloc] initWithRect:[self bounds] options: (NSTrackingMouseMoved | NSTrackingActiveAlways | NSTrackingInVisibleRect) owner:self userInfo:nil];
|
||||
[self addTrackingArea: trackingArea];
|
||||
|
||||
[self.window setDelegate: self.window.contentView];
|
||||
[self.window center];
|
||||
}
|
||||
|
||||
-(BOOL) acceptsFirstResponder { return YES; }
|
||||
|
||||
// SRS - Handle keyboard events
|
||||
-(void) keyDown:(NSEvent*) theEvent {
|
||||
NSString *text = [theEvent charactersIgnoringModifiers];
|
||||
unichar keychar = (text.length > 0) ? [text.lowercaseString characterAtIndex: 0] : 0;
|
||||
switch (keychar)
|
||||
{
|
||||
case KEY_DELETE: // support keyboards with no escape key
|
||||
case KEY_ESCAPE:
|
||||
[NSApp terminate:nil];
|
||||
break;
|
||||
default:
|
||||
_mvkExample->keyDown(keychar);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
-(void) keyUp:(NSEvent*) theEvent {
|
||||
NSString *text = [theEvent charactersIgnoringModifiers];
|
||||
unichar keychar = (text.length > 0) ? [text.lowercaseString characterAtIndex: 0] : 0;
|
||||
_mvkExample->keyUp(keychar);
|
||||
}
|
||||
|
||||
// SRS - Handle mouse events
|
||||
-(NSPoint) getMouseLocalPoint:(NSEvent*) theEvent {
|
||||
NSPoint location = [theEvent locationInWindow];
|
||||
NSPoint point = [self convertPointToBacking:location];
|
||||
point.y = self.frame.size.height*self.window.backingScaleFactor - point.y;
|
||||
return point;
|
||||
}
|
||||
|
||||
-(void) mouseDown:(NSEvent*) theEvent {
|
||||
auto point = [self getMouseLocalPoint:theEvent];
|
||||
_mvkExample->mouseDown(point.x, point.y);
|
||||
}
|
||||
|
||||
-(void) mouseUp:(NSEvent*) theEvent {
|
||||
_mvkExample->mouseUp();
|
||||
}
|
||||
|
||||
-(void) rightMouseDown:(NSEvent*) theEvent {
|
||||
auto point = [self getMouseLocalPoint:theEvent];
|
||||
_mvkExample->rightMouseDown(point.x, point.y);
|
||||
}
|
||||
|
||||
-(void) rightMouseUp:(NSEvent*) theEvent {
|
||||
_mvkExample->rightMouseUp();
|
||||
}
|
||||
|
||||
-(void) otherMouseDown:(NSEvent*) theEvent {
|
||||
auto point = [self getMouseLocalPoint:theEvent];
|
||||
_mvkExample->otherMouseDown(point.x, point.y);
|
||||
}
|
||||
|
||||
-(void) otherMouseUp:(NSEvent*) theEvent {
|
||||
_mvkExample->otherMouseUp();
|
||||
}
|
||||
|
||||
-(void) mouseDragged:(NSEvent*) theEvent {
|
||||
auto point = [self getMouseLocalPoint:theEvent];
|
||||
_mvkExample->mouseDragged(point.x, point.y);
|
||||
}
|
||||
|
||||
-(void) rightMouseDragged:(NSEvent*) theEvent {
|
||||
auto point = [self getMouseLocalPoint:theEvent];
|
||||
_mvkExample->mouseDragged(point.x, point.y);
|
||||
}
|
||||
|
||||
-(void) otherMouseDragged:(NSEvent*) theEvent {
|
||||
auto point = [self getMouseLocalPoint:theEvent];
|
||||
_mvkExample->mouseDragged(point.x, point.y);
|
||||
}
|
||||
|
||||
-(void) mouseMoved:(NSEvent*) theEvent {
|
||||
auto point = [self getMouseLocalPoint:theEvent];
|
||||
_mvkExample->mouseDragged(point.x, point.y);
|
||||
}
|
||||
|
||||
-(void) scrollWheel:(NSEvent*) theEvent {
|
||||
short wheelDelta = [theEvent deltaY];
|
||||
_mvkExample->scrollWheel(wheelDelta);
|
||||
}
|
||||
|
||||
- (void)windowWillEnterFullScreen:(NSNotification *)notification
|
||||
{
|
||||
_mvkExample->fullScreen(true);
|
||||
}
|
||||
|
||||
- (void)windowWillExitFullScreen:(NSNotification *)notification
|
||||
{
|
||||
_mvkExample->fullScreen(false);
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string></string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) 2016-2017 The Brenwill Workshop Ltd.</string>
|
||||
<key>NSMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -1,134 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Application-->
|
||||
<scene sceneID="JPo-4y-FX3">
|
||||
<objects>
|
||||
<application id="hnw-xV-0zn" sceneMemberID="viewController">
|
||||
<menu key="mainMenu" title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
|
||||
<items>
|
||||
<menuItem title="MoltenVK Demo" id="1Xt-HY-uBw">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="MoltenVK Demo" systemMenu="apple" id="uQy-DD-JDr">
|
||||
<items>
|
||||
<menuItem title="About Demo" id="5kV-Vb-QxS">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="orderFrontStandardAboutPanel:" target="Ady-hI-5gd" id="Exp-CZ-Vem"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
|
||||
<menuItem title="Hide Demo" keyEquivalent="h" id="Olw-nP-bQN">
|
||||
<connections>
|
||||
<action selector="hide:" target="Ady-hI-5gd" id="PnN-Uc-m68"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
|
||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||
<connections>
|
||||
<action selector="hideOtherApplications:" target="Ady-hI-5gd" id="VT4-aY-XCT"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Show All" id="Kd2-mp-pUS">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="unhideAllApplications:" target="Ady-hI-5gd" id="Dhg-Le-xox"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
|
||||
<menuItem title="Quit Demo" keyEquivalent="q" id="4sb-4s-VLi">
|
||||
<connections>
|
||||
<action selector="terminate:" target="Ady-hI-5gd" id="Te7-pn-YzF"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Window" id="aUF-d1-5bR">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
|
||||
<items>
|
||||
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
|
||||
<connections>
|
||||
<action selector="performMiniaturize:" target="Ady-hI-5gd" id="VwT-WD-YPe"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Zoom" id="R4o-n2-Eq4">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="performZoom:" target="Ady-hI-5gd" id="DIl-cC-cCs"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
|
||||
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="arrangeInFront:" target="Ady-hI-5gd" id="DRN-fu-gQh"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Help" id="wpr-3q-Mcd">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
|
||||
<items>
|
||||
<menuItem title="MoltenVK Demo Help" keyEquivalent="?" id="FKE-Sm-Kum">
|
||||
<connections>
|
||||
<action selector="showHelp:" target="Ady-hI-5gd" id="y7X-2Q-9no"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="Voe-Tx-rLC" id="PrD-fu-P6m"/>
|
||||
</connections>
|
||||
</application>
|
||||
<customObject id="Voe-Tx-rLC" customClass="AppDelegate"/>
|
||||
<customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="83.5" y="-47"/>
|
||||
</scene>
|
||||
<!--Window Controller-->
|
||||
<scene sceneID="R2V-B0-nI4">
|
||||
<objects>
|
||||
<windowController id="B8D-0N-5wS" sceneMemberID="viewController">
|
||||
<window key="window" title="MoltenVK Vulkan Example" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="IQv-IB-iLA">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<rect key="contentRect" x="1051" y="656" width="1280" height="720"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="B8D-0N-5wS" id="ayw-fB-DBj"/>
|
||||
</connections>
|
||||
</window>
|
||||
<connections>
|
||||
<segue destination="XfG-lQ-9wD" kind="relationship" relationship="window.shadowedContentViewController" id="cq2-FE-JQM"/>
|
||||
</connections>
|
||||
</windowController>
|
||||
<customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="83" y="146"/>
|
||||
</scene>
|
||||
<!--Demo View Controller-->
|
||||
<scene sceneID="hIz-AP-VOD">
|
||||
<objects>
|
||||
<viewController id="XfG-lQ-9wD" customClass="DemoViewController" sceneMemberID="viewController">
|
||||
<view key="view" id="m2S-Jp-Qdl" customClass="DemoView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="1280" height="720"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<customObject id="rPt-NT-nkU" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="83" y="713"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"size" : "16x16",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-16.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "16x16",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "32x32",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-32.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "32x32",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "128x128",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-128.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "128x128",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "256x256",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-256.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "256x256",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "512x512",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-512.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "512x512",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 671 B |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
/*
|
||||
* main.m
|
||||
*
|
||||
* Copyright (c) 2016-2017 The Brenwill Workshop Ltd.
|
||||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
int main(int argc, const char * argv[]) {
|
||||
return NSApplicationMain(argc, argv);
|
||||
}
|
||||