procedural-3d-engine/apple/MVKExample.h
SRSaunders ba927eab6c
Add updated iOS App support to the Vulkan examples (#1119)
* Fix clang Objective-C++ flags for macOS command line builds

* Fix getAssetPath() and getShaderBasePath() for macOS command line builds

* Protect debugUtilsMessageCallback() from failing when pMessageIdName is NULL

* Fix a few clang function override and mismatched type warnings

* Fix validation layer warnings on exit for computeraytracing example

* Fix regression in text visibility toggle for textOverlay example

* Support VK_USE_PLATFORM_METAL_EXT vs. deprecated VK_USE_PLATFORM_MACOS_MVK / DVK_USE_PLATFORM_IOS_MVK

* Check dynamic state features before enabling capabilities in dynamicstate example

* Fix vkCmdDraw() vertexCount argument (PARTICLE_COUNT) in particlesystem example

* Update examples list and restore benchmarking script (to top level)

* Fix validation warning in descriptorindexing example

* Fix device max recursion depth validation warnings in ray tracing examples

* Fix OpenMP build settings for texture3d example on all platforms

* Update and simplify build instructions for macOS

* Update CI script with correct library path for libomp on macOS x86_64

* Update CI scipt to install libomp prior to macOS builds

* Trying one more time to get the CI script working for macOS libomp

* Fix vertexCount argument using calculated size in particlesystem example

* Fix combined image descriptor offset calculation in descriptorbuffer example

* Add iOS App support for Vulkan examples on simulator and physical devices

* Add continuous integration (CI) script for iOS

* Update CI script to build iOS using Xcode 14 via macos-12 runner-image

* Update iOS project docs for Xcode 14 and rename ios folder to apple

* Update macOS docs and CI script to use LIBOMP_PREFIX for OpenMP library path

* Delete benchmark-all-validate.py

Delete benchmark script as per feedback from Sascha Willems

* Update debugprintf example documentation in examples.h
2024-05-22 21:07:27 +02:00

42 lines
1.3 KiB
C++

/*
* 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;
};