Methane Kit v0.7.0
iOS and tvOS platforms support was added in this release.
- Tutorials applications:
- Customised default UI options to make HUD visible by default on iOS.
- Added iOS screenshots for tutorials.
- Added keyboards shortcuts for tutorials in README files.
- Known issue: #101
- Platform libraries:
Methane::Platform::AppIOS
implementation was added to support iOS and tvOS mobile platforms (closed #12).- iOS Alert window implementation was added.
- Limited input support was added for iOS to translate touches to mouse events (keyboard input is not supported).
- Moved
RenderContext::GetContentScalingFactor
andRenderContext::GetFontResolutionDpi
methods toPlatform::IApp
interface with platform dependent implementations. Linux implementation for X11 was added.
- Graphics libraries:
- Manual memory management was removed from Objective-C Metal graphics implementation due to switching to ARC (automatic reference counting).
RenderCommandList::Draw
andDrawIndexed
calls implementation for Metal was changed to exclude using ofstart_vertex
andstart_instance
parameters for GPU Family <MTLGPUFamilyApple3
orMTLGPUFamilyMac2
, which is essential for working on iOS Simulators.- Unsupported
Sampler
parameters were put under#ifdef APPLE_MACOS
to enable tvOS support. - Fixed flipping camera projection up-side-down in portrait orientation.
- Tests infrastructure:
- Add missing test targets to GCov coverage on Ubuntu.
- Build infrastructure:
- Added CI Build & Test system based on GitHub Actions, which is partially duplicating CI in Azure Pipelines, but enables CI in forked repositories.
- Fixed shaders code signing by DXC in GitHub agents environment by adding hardcoded path to DXIL.dll in DXC environment.
- Added
Externals/iOS-Toolchain.cmake
file from iOS-CMake project to enable iOS & tvOS build configuration. - Apple Clang is now used with ARC enabled (automatic reference counting) via
-fobjc-arc
option. - Split MacOS and iOS application
.plist
configs generation viaCMake/MethaneApplication.cmake
- Split
CMake/MethaneGlobalOptions.cmake
fromCMake/MethaneBuildOptions.cmake
to allow including it in the root CMakeLists of external projects to properly set global CMake options. - Add support for Apple code signing via
APPLE_DEVELOPMENT_TEAM
cmake option. - Extended
Build/Unix/Build.sh
script to support iOS / tvOS builds via new command-line arguments--apple-platform
,--apple-dev-team
and--apple-deploy-target
. - Added iOS and tvOS configurations to
CMakePresets.json
. - Added iOS and tvOS Simulator builds in Azure Pipelines.
- Added CLion cmake configurations for iOS.
- Added iOS and tvOS build instructions to
Build/README.md
. - Fixed iOS app running natively on Mac with Apple Silicon, thanks to @andrejnau for solution of issue #101
- Added CI Build & Test system based on GitHub Actions, which is partially duplicating CI in Azure Pipelines, but enables CI in forked repositories.