diff --git a/xcode/README_MoltenVK_Examples.md b/xcode/README_MoltenVK_Examples.md index 39d0f416..0a5f8cbf 100755 --- a/xcode/README_MoltenVK_Examples.md +++ b/xcode/README_MoltenVK_Examples.md @@ -7,7 +7,7 @@ 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. +*This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format. For best results, use a Markdown reader.* @@ -16,7 +16,7 @@ For best results, use a Markdown reader.* Introduction ------------ -The *Xcode* project in this folder builds and runs the *Vulkan* examples in this +The *Xcode* project in this folder builds and runs the *Vulkan* examples in this repository on *iOS* and *macOS*, using the **MoltenVK** *Vulkan* driver. @@ -26,7 +26,7 @@ repository on *iOS* and *macOS*, using the **MoltenVK** *Vulkan* driver. Installing MoltenVK ------------------- -The examples in this repository can be run on *iOS* and *macOS* by using +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. @@ -34,16 +34,16 @@ 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 + 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 @@ -55,13 +55,13 @@ Follow these instructions to install **MoltenVK**: Installing AssImp ----------------- -The examples in this repository make use of the [*AssImp*](http://assimp.sourceforge.net) -library to load resource assets from files. To run the examples you must download and +The examples in this repository make use of the [*AssImp*](http://assimp.sourceforge.net) +library to load resource assets from files. To run the examples you must download and install *AssImp* library as follows. ->***Note:*** Due to the way that *AssImp* makes use of the *CMake* utility, an installation -of *AssImp* can only be built for a single platform. To create *AssImp* libraries for both -*iOS* and *macOS*, download a separate copy of the *AssImp* directory for each platform +>***Note:*** Due to the way that *AssImp* makes use of the *CMake* utility, an installation +of *AssImp* can only be built for a single platform. To create *AssImp* libraries for both +*iOS* and *macOS*, download a separate copy of the *AssImp* directory for each platform (or create a copy of the downloaded *AssImp* directory for each platform before building). @@ -73,7 +73,7 @@ of *AssImp* can only be built for a single platform. To create *AssImp* librarie 3. Open the file `assimp-3.3.1-ios/port/iOS/IPHONEOS_ARM64_TOOLCHAIN.cmake` file and comment out the following lines: - + #SET (CC "${DEVROOT}/usr/bin/llvm-gcc") #SET (CXX "${DEVROOT}/usr/bin/llvm-g++") #CMAKE_FORCE_C_COMPILER (${CC} LLVM) @@ -81,13 +81,13 @@ of *AssImp* can only be built for a single platform. To create *AssImp* librarie 4. Open a *Terminal* session and navigate to the `assimp-3.3.1-ios/port/iOS` directory, and run the following build command: - + cd path-to-assimp-3.3.1-ios/port/iOS ./build.sh --stdlib=libc++ --archs="arm64" --no-fat -5. In the `assimp` directory within this directory, remove the existing `assimp-ios` +5. In the `assimp` directory within this directory, remove the existing `assimp-ios` symbolic link, and create a new symbolic link pointing to the `assimp-3.3.1-ios` directory: - + cd path-to-this-directory/assimp rm assimp-ios ln -s path-to-assimp-3.3.1-ios assimp-ios @@ -99,16 +99,18 @@ of *AssImp* can only be built for a single platform. To create *AssImp* librarie 2. Unzip and rename the directory to `assimp-3.3.1-macos`. -3. Open a *Terminal* session and navigate to the `assimp-3.3.1-ios/port/macOS` directory, +3. Open a *Terminal* session and navigate to the `assimp-3.3.1-macos` directory, and run the following build commands: - + cd path-to-assimp-3.3.1-macos cmake CMakeLists.txt -G 'Unix Makefiles' make -4. In the `assimp` directory within this directory, remove the existing `assimp-macos` + * If compilation fails, fix typo in `assimp-3.3.1-macos/code/D3MFImporter.cpp` and try `make` again + +4. In the `assimp` directory within this directory, remove the existing `assimp-macos` symbolic link, and create a new symbolic link pointing to the `assimp-3.3.1-macos` directory: - + cd path-to-this-directory/assimp rm assimp-macos ln -s path-to-assimp-3.3.1-macos assimp-macos @@ -126,17 +128,17 @@ in this repository on either *iOS* or *macOS*. To do so, follow these instructio 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 + 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. + + - 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.