Methane Kit v0.7.0

Евгений Городецкий обновлён 1 год назад v0.7.0.1 618fdd2 Релиз
0
Описание

iOS and tvOS platforms support was added in this release. <img src=“https://github.com/MethanePowered/MethaneKit/blob/master/Apps/04-ShadowCube/Screenshots/ShadowCubeIOSMetal.jpg?raw=true” alt=“Methane Shadow Cube iOS Metal” align=“right” valign=“middle” width=“150”/>

  • 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 and RenderContext::GetFontResolutionDpi methods to Platform::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 and DrawIndexed calls implementation for Metal was changed to exclude using of start_vertex and start_instance parameters for GPU Family < MTLGPUFamilyApple3 or MTLGPUFamilyMac2, 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 via CMake/MethaneApplication.cmake

    • Split CMake/MethaneGlobalOptions.cmake from CMake/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

Get release binaries on GitHub.

Файлы
  • Нет файлов