From 7a3d51d41849c2cf27d4451e0f47bc770ea84d45 Mon Sep 17 00:00:00 2001 From: wada Date: Thu, 8 Sep 2022 11:16:10 +0900 Subject: [PATCH] Update to Cubism 4 SDK for Native R5 --- CHANGELOG.md | 17 ++ Core/CHANGELOG.md | 15 ++ Core/README.ja.md | 72 +++++++ Core/README.md | 19 +- Core/RedistributableFiles.txt | 8 + Framework | 2 +- NOTICE.ja.md | 83 ++++++++ NOTICE.md | 82 ++++---- README.ja.md | 186 ++++++++++++++++++ README.md | 145 ++++++++------ Samples/Cocos2d-x/Demo/CMakeLists.txt | 5 +- .../Demo/proj.win/scripts/proj_msvc2022.bat | 18 ++ Samples/Cocos2d-x/README.ja.md | 162 +++++++++++++++ Samples/Cocos2d-x/README.md | 110 +++++------ .../Demo/proj.d3d11.cmake/CMakeLists.txt | 4 + .../scripts/nmake_msvc2022.bat | 19 ++ .../scripts/proj_msvc2022.bat | 19 ++ Samples/D3D11/README.ja.md | 86 ++++++++ Samples/D3D11/README.md | 60 +++--- .../thirdParty/scripts/setup_msvc2019.bat | 2 +- .../D3D9/Demo/proj.d3d9.cmake/CMakeLists.txt | 3 + .../scripts/nmake_msvc2022.bat | 19 ++ .../proj.d3d9.cmake/scripts/proj_msvc2022.bat | 19 ++ .../src/CubismDirectXRenderer.hpp | 2 +- Samples/D3D9/README.ja.md | 60 ++++++ Samples/D3D9/README.md | 46 +++-- Samples/Metal/README.ja.md | 82 ++++++++ Samples/Metal/README.md | 60 +++--- .../OpenGL/Demo/proj.win.cmake/CMakeLists.txt | 3 + .../proj.win.cmake/scripts/nmake_msvc2022.bat | 19 ++ .../proj.win.cmake/scripts/proj_msvc2022.bat | 19 ++ Samples/OpenGL/README.ja.md | 160 +++++++++++++++ Samples/OpenGL/README.md | 126 ++++++------ .../OpenGL/thirdParty/scripts/setup_glew_glfw | 2 +- .../thirdParty/scripts/setup_glew_glfw.bat | 2 +- .../scripts/setup_glew_glfw_vs2013.bat | 2 +- .../OpenGL/thirdParty/scripts/setup_ios_cmake | 2 +- 37 files changed, 1432 insertions(+), 308 deletions(-) create mode 100644 Core/README.ja.md create mode 100644 NOTICE.ja.md create mode 100644 README.ja.md create mode 100644 Samples/Cocos2d-x/Demo/proj.win/scripts/proj_msvc2022.bat create mode 100644 Samples/Cocos2d-x/README.ja.md create mode 100644 Samples/D3D11/Demo/proj.d3d11.cmake/scripts/nmake_msvc2022.bat create mode 100644 Samples/D3D11/Demo/proj.d3d11.cmake/scripts/proj_msvc2022.bat create mode 100644 Samples/D3D11/README.ja.md create mode 100644 Samples/D3D9/Demo/proj.d3d9.cmake/scripts/nmake_msvc2022.bat create mode 100644 Samples/D3D9/Demo/proj.d3d9.cmake/scripts/proj_msvc2022.bat create mode 100644 Samples/D3D9/README.ja.md create mode 100644 Samples/Metal/README.ja.md create mode 100644 Samples/OpenGL/Demo/proj.win.cmake/scripts/nmake_msvc2022.bat create mode 100644 Samples/OpenGL/Demo/proj.win.cmake/scripts/proj_msvc2022.bat create mode 100644 Samples/OpenGL/README.ja.md diff --git a/CHANGELOG.md b/CHANGELOG.md index f2c43bfe..3d23fb19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [4-r.5] - 2022-09-08 + +### Added + +* Add support for Visual Studio 2022. +* Add the multilingual supported documents. + +### Changed + +* Update third-party libraries. + +### Fixed + +* Fix an issue where the window title for the minimum sample of D3D9 was that of D3D11. + + ## [4-r.5-beta.5] - 2022-08-04 ### Changed @@ -230,6 +246,7 @@ See [Core Changelog] for details. * What was `Package.json` is currently being changed to`cubism-info.yml`. +[4-r.5]: https://github.com/Live2D/CubismNativeSamples/compare/4-r.5-beta.5...4-r.5 [4-r.5-beta.5]: https://github.com/Live2D/CubismNativeSamples/compare/4-r.5-beta.4.1...4-r.5-beta.5 [4-r.5-beta.4.1]: https://github.com/Live2D/CubismNativeSamples/compare/4-r.5-beta.4...4-r.5-beta.4.1 [4-r.5-beta.4]: https://github.com/Live2D/CubismNativeSamples/compare/4-r.5-beta.3...4-r.5-beta.4 diff --git a/Core/CHANGELOG.md b/Core/CHANGELOG.md index 1712724f..6dde5199 100644 --- a/Core/CHANGELOG.md +++ b/Core/CHANGELOG.md @@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## 2022-09-08 + +### Added + +* Add the multilingual supported documents. +* Support Visual Studio 2022. + + +## 2022-08-04 + +### Fixed + +* [Web] Fix `csmGetMocVersion` function argument. + + ## 2022-07-07 ### Added diff --git a/Core/README.ja.md b/Core/README.ja.md new file mode 100644 index 00000000..d579b8b9 --- /dev/null +++ b/Core/README.ja.md @@ -0,0 +1,72 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Live2D Cubism Core + +このフォルダーには、ネイティブアプリケーションを開発するためのヘッダーおよびプラットフォーム固有のライブラリファイルが含まれています。 + +Cubism Coreは、Cubismモデルをアプリケーションにロードするための小さなライブラリです。 + + +## はじめに + +モデルを画面に表示して、アニメーションを再生するための情報については、[CubismNativeSamples](https://github.com/Live2D/CubismNativeSamples)をご覧ください。 + + +## ファイル構造 + +``` +Core +├─ dll # Shared (Dynamic) Library files +├─ include # Header file +└─ lib # Static Library files +``` + + +## ライブラリリスト + +| プラットフォーム | アーキテクチャ | dll | lib | パス | 注記 | +| --- | --- | --- | --- | --- | --- | +| Android | ARM64 | ✓ | ✓ | android/arm64-v8a | | +| Android | ARMv7 | ✓ | ✓ | android/armeabi-v7a | | +| Android | x86 | ✓ | ✓ | android/x86 | | +| Android | x86_64 | ✓ | ✓ | android/x86_64 | | +| iOS | ARM64 | | ✓ | ios/xxx-iphoneos | iOSデバイス | +| iOS | x86_64 | | ✓ | ios/xxx-iphonesimulator | iOS Simulator | +| Linux | x86_64 | ✓ | ✓ | linux/x86_64 | | +| macOS | ARM64 | ✓ | ✓ | macos/arm64 | | +| macOS | x86_64 | ✓ | ✓ | macos/x86_64 | | +| Mac Catalyst | ARM64 | | ✓ | experimental/catalyst | Universal Binary | +| Mac Catalyst | x86_64 | | ✓ | experimental/catalyst | Universal Binary | +| Raspberry Pi | ARM | ✓ | ✓ | experimental/rpi | | +| UWP | ARM | ✓ | | experimental/uwp/arm | | +| UWP | ARM64 | ✓ | | experimental/uwp/arm64 | | +| UWP | x64 | ✓ | | experimental/uwp/x64 | | +| UWP | x86 | ✓ | | experimental/uwp/x86 | | +| Windows | x86 | ✓ | ✓ | windows/x86 | | +| Windows | x86_64 | ✓ | ✓ | windows/x86_64 | | + +### 実験的ライブラリ + +`Raspberry Pi`、`UWP`、`catalyst`は実験的なライブラリです。 + +### Windows用スタティックライブラリ + +ライブラリは、VC++バージョン名ディレクトリの下にあります。 + +以下は、VC++バージョンのVisual Studioバージョンです。 + +| VC++バージョン | Visual Studioバージョン | +| ---: | --- | +| 120 | Visual Studio 2013 | +| 140 | Visual Studio 2015 | +| 141 | Visual Studio 2017 | +| 142 | Visual Studio 2019 | +| 143 | Visual Studio 2022 | + +また、サフィックスライブラリ(`_MD`、`_MDd`、`_MT`、`_MTd`)は、ライブラリのコンパイルに使用される[ランタイムライブラリの使用](https://docs.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library) オプションを参照します。 + +### 呼び出し規約 + +*Windows/x86*のダイナミックリンクライブラリを使用する場合は、呼び出し規約として明示的に`__stdcall`を使用してください。 diff --git a/Core/README.md b/Core/README.md index 15e0d58a..9b965eeb 100644 --- a/Core/README.md +++ b/Core/README.md @@ -1,8 +1,12 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + # Live2D Cubism Core This folder contains header and platform-specific library files for developing native applications. -What's the Core anyway? It's a small library that allows you to load Cubism models in your application. +What's the Core anyway? It's a small library that allows you to load Cubism models into your application. ## Getting Started @@ -38,7 +42,7 @@ Core | Mac Catalyst | ARM64 | | ✓ | experimental/catalyst | Universal Binary | | Mac Catalyst | x86_64 | | ✓ | experimental/catalyst | Universal Binary | | Raspberry Pi | ARM | ✓ | ✓ | experimental/rpi | | -| UWP | ARM | ✓ | | experimental/uwp/arm | | +| UWP | ARM | ✓ |   | experimental/uwp/arm |   | | UWP | ARM64 | ✓ | | experimental/uwp/arm64 | | | UWP | x64 | ✓ | | experimental/uwp/x64 | | | UWP | x86 | ✓ | | experimental/uwp/x86 | | @@ -51,9 +55,9 @@ Core ### Windows Static Library -Libraries are located under VC++ version name directory. +Libraries are located under the VC++ version name directory. -Below is the Visual Studio version for VC++ version. +Below is the Visual Studio version for the VC++ version. | VC++ version | Visual Studio version | | ---: | --- | @@ -61,11 +65,10 @@ Below is the Visual Studio version for VC++ version. | 140 | Visual Studio 2015 | | 141 | Visual Studio 2017 | | 142 | Visual Studio 2019 | +| 143 | Visual Studio 2022 | -Also, the suffix library (`_MD`, `_MDd`, `_MT`, `_MTd`) refers to the -[Use Run-Time Library](https://docs.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library) -option used to compile the library. +Also, the suffix library (`_MD`, `_MDd`, `_MT`, `_MTd`) refers to the [Use Run-Time Library] option used to compile the library. ### Calling convention -When using dynamic library of *Windows/x86*, explicitly using `__stdcall` as calling convention. +When using the dynamic library of *Windows/x86*, explicitly use `__stdcall` as the calling convention. diff --git a/Core/RedistributableFiles.txt b/Core/RedistributableFiles.txt index ecdce5b8..6f02cc2d 100644 --- a/Core/RedistributableFiles.txt +++ b/Core/RedistributableFiles.txt @@ -46,6 +46,10 @@ under the terms of the Live2D Proprietary Software License Agreement: - lib/windows/x86/142/Live2DCubismCore_MDd.lib - lib/windows/x86/142/Live2DCubismCore_MT.lib - lib/windows/x86/142/Live2DCubismCore_MTd.lib +- lib/windows/x86/143/Live2DCubismCore_MD.lib +- lib/windows/x86/143/Live2DCubismCore_MDd.lib +- lib/windows/x86/143/Live2DCubismCore_MT.lib +- lib/windows/x86/143/Live2DCubismCore_MTd.lib - lib/windows/x86_64/120/Live2DCubismCore_MD.lib - lib/windows/x86_64/120/Live2DCubismCore_MDd.lib - lib/windows/x86_64/120/Live2DCubismCore_MT.lib @@ -62,3 +66,7 @@ under the terms of the Live2D Proprietary Software License Agreement: - lib/windows/x86_64/142/Live2DCubismCore_MDd.lib - lib/windows/x86_64/142/Live2DCubismCore_MT.lib - lib/windows/x86_64/142/Live2DCubismCore_MTd.lib +- lib/windows/x86_64/143/Live2DCubismCore_MD.lib +- lib/windows/x86_64/143/Live2DCubismCore_MDd.lib +- lib/windows/x86_64/143/Live2DCubismCore_MT.lib +- lib/windows/x86_64/143/Live2DCubismCore_MTd.lib \ No newline at end of file diff --git a/Framework b/Framework index cbd4dfaa..59520260 160000 --- a/Framework +++ b/Framework @@ -1 +1 @@ -Subproject commit cbd4dfaa5ee95218ea3f9af30f8525c60b4a9b36 +Subproject commit 595202600a2065ded554769b495fa9520fc413e7 diff --git a/NOTICE.ja.md b/NOTICE.ja.md new file mode 100644 index 00000000..fb8eac79 --- /dev/null +++ b/NOTICE.ja.md @@ -0,0 +1,83 @@ +[English](NOTICE.md) / [日本語](NOTOICE.ja.md) + +--- + +# お知らせ + +## [注意事項] Cocos2d-xセットアップのエラーについて (2022-03-15) + +Cocos2d-xサンプルプロジェクトのセットアップ時に実行するsetup-cocos2dバッチにおいてエラーが発生いたします。 +これはGitHubがGitプロトコルセキュリティを改善したことに起因し、GitにてCocos2d-xのsubmodule取得が失敗するためです。 +具体的には`git://`経由での接続ができなくなったためエラーが発生しています。 + +詳しくはGitHub公式ブログをご確認ください。 + +* [GitHub 公式ブログ](https://github.blog/2021-09-01-improving-git-protocol-security-github/) + +### 回避方法 + +* ターミナルもしくはコマンドプロンプトにて以下のコマンドを実行することで、`git://`を用いた接続を`https://`に置き換える + * `git config --global url."https://github.com/".insteadOf git://github.com/` + * このコマンドは実行端末の全ユーザのgitconfigに影響します。ご了承ください。 + + +## [注意事項] Metal及びCocos2d-x v4.0 の macOSサンプルビルドにおけるメモリリークについて (2021-12-09) + +Metal及びCocos2d-x v4.0 の macOSサンプルビルドにおいてメモリリークが発生いたします。 +これはMetalフレームワーク内で発生するため、公式の対応をお待ち下さい。 +本件のお問い合わせについて弊社ではお答えいたしかねますので、ご了承ください。 + +詳細については Apple Developer Forums をご確認ください。 + +* [Apple Developer Forums - Memory leak in MTLCommandBuffer?](https://developer.apple.com/forums/thread/120931) + + +## [制限事項] Apple製品の対応状況について (2021-12-09 更新) + +macOS Monterey v12.0につきまして、Cubism 4 SDK for Native R4 (4-r.4) にて対応いたしました。 +また、Cubism 4 SDK for Native R4 Beta1 (4-r.4-beta.1) 以降のバージョンでApple Silicon版のmacに対応しております。 +※Cubism Editorは現在Apple Silicon製のMacに対応しておりません、ご了承ください。 + + +## [制限事項] Cocos2d-x v4.0 の Linux(Ubuntu)サンプルビルドについて (2021-04-15) + +Cocos2d-x v4.0 は `Ubuntu 20.04` ビルドに対応しておりません。 +使用する際は以下の回避方法を確認し、いずれかを適用してご利用いただきますようお願いいたします。 + +### 回避方法 + +* `Ubuntu 16.04` または `Ubuntu 18.04` を使用する + +* 以下issueを確認し、`Cocos2d-x v4.0` で使用されている `libchipmunk` ライブラリを差し替える + * [cocos2d/cocos2d-x linking error when integrating with libchipmunk on linux#20471](https://github.com/cocos2d/cocos2d-x/issues/20471) + * WARNING: この回避方法を使用してビルドしたプロジェクトはいかなる場合でも保守いたしかねます + + +## [注意事項] Visual Studio 2013 ご利用時の OpenGL サンプルビルドについて (2021-02-17) + +`Visual Studio 2013` を使用した `OpenGL` サンプルビルドでは、`setup_glew_glfw.bat` をそのまま使用してビルドすると `GLEW` にてリンクエラーが発生します。 +以下回避方法を確認し、ご利用いただきますようお願いいたします。 + +### 回避方法 + +* `GLEW 2.2.0` を使用する場合 + * `glew` プロジェクトから `libvcruntime.lib` の参照を削除する + * `Visual Studio 2013` 以降の Visual Studio を使用する + +* `GLEW 2.1.0` を使用する場合 + * `setup_glew_glfw_vs2013.bat` を使用して `thirdParty` のセットアップを行う + + +## Cubism Core + +### [注意事項] macOS Catalina 以降のバージョンでの `.bundle` と `.dylib` の利用について + +macOS Catalina 上で `.bundle` と `.dylib` を利用する際、公証の確認のためオンライン環境に接続している必要があります。 + +詳しくは、Apple社 公式ドキュメントをご確認ください。 + +* [Apple社 公式ドキュメント](https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution) + +--- + +©Live2D diff --git a/NOTICE.md b/NOTICE.md index b429c627..78e4b574 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -1,76 +1,82 @@ -## [注意事項] Cocos2d-xセットアップのエラーについて (2022-03-15) +[English](NOTICE.md) / [日本語](NOTOICE.ja.md) -Cocos2d-xサンプルプロジェクトのセットアップ時に実行するsetup-cocos2dバッチにおいてエラーが発生いたします。 -これはGitHubがGitプロトコルセキュリティを改善したことに起因し、GitにてCocos2d-xのsubmodule取得が失敗するためです。 -具体的には`git://`経由での接続ができなくなったためエラーが発生しています。 +--- + +# Notices + +## [Caution] About Cocos2d-x setup error (2022-03-15) + +An error occurs in the setup-cocos2d batch that is executed when setting up the Cocos2d-x sample project. +This is because GitHub has improved the security of the Git protocol, and Git fails to get the Cocos2d-x submodule. +Specifically, an error has occurred because the connection via `git://` is no longer possible. -詳しくはGitHub公式ブログをご確認ください。 +Please check the official GitHub blog for details. -* [GitHub 公式ブログ](https://github.blog/2021-09-01-improving-git-protocol-security-github/) +* [GitHub Official Blog](https://github.blog/2021-09-01-improving-git-protocol-security-github/) -### 回避方法 +### Workaround -* ターミナルもしくはコマンドプロンプトにて以下のコマンドを実行することで、`git://`を用いた接続を`https://`に置き換える +* Replace the connection using `git://` with `https://` by executing the following command in the terminal or command prompt. * `git config --global url."https://github.com/".insteadOf git://github.com/` - * このコマンドは実行端末の全ユーザのgitconfigに影響します。ご了承ください。 + * Please note that this command affects gitconfig for all users of the execution terminal. -## [注意事項] Metal及びCocos2d-x v4.0 の macOSサンプルビルドにおけるメモリリークについて (2021-12-09) +## [Caution] Memory leak in macOS sample builds of Metal and Cocos2d-x v4.0 (2021-12-09) -Metal及びCocos2d-x v4.0 の macOSサンプルビルドにおいてメモリリークが発生いたします。 -これはMetalフレームワーク内で発生するため、公式の対応をお待ち下さい。 -本件のお問い合わせについて弊社ではお答えいたしかねますので、ご了承ください。 +A memory leak occurs in the macOS sample builds of Metal and Cocos2d-x v4.0. +This happens within the Metal framework, so please wait for official support. +Note that we cannot answer inquiries regarding this matter. -詳細については Apple Developer Forums をご確認ください。 +Please check the Apple Developer Forums for more information. * [Apple Developer Forums - Memory leak in MTLCommandBuffer?](https://developer.apple.com/forums/thread/120931) -## [制限事項] Apple製品の対応状況について (2021-12-09 更新) +## [Limitation] Support for Apple products (updated 2021-12-09) -macOS Monterey v12.0につきまして、Cubism 4 SDK for Native R4 (4-r.4) にて対応いたしました。 -また、Cubism 4 SDK for Native R4 Beta1 (4-r.4-beta.1) 以降のバージョンでApple Silicon版のmacに対応しております。 -※Cubism Editorは現在Apple Silicon製のMacに対応しておりません、ご了承ください。 +macOS Monterey v12.0 is now supported by the Cubism 4 SDK for Native R4 (4-r.4). +In addition, Cubism 4 SDK for Native R4 Beta1 (4-r.4-beta.1) or later versions are compatible with the Apple Silicon version of Mac. +† Please note that Cubism Editor is not currently compatible with Apple Silicon Macs. -## [制限事項] Cocos2d-x v4.0 の Linux(Ubuntu)サンプルビルドについて (2021-04-15) +## [Limitation] About the Linux (Ubuntu) sample builds of Cocos2d-x v4.0 (2021-04-15) -Cocos2d-x v4.0 は `Ubuntu 20.04` ビルドに対応しておりません。 -使用する際は以下の回避方法を確認し、いずれかを適用してご利用いただきますようお願いいたします。 +Cocos2d-x v4.0 does not support `Ubuntu 20.04` builds. +Please check and apply one of the following workarounds when using it. -### 回避方法 +### Workaround -* `Ubuntu 16.04` または `Ubuntu 18.04` を使用する +* Use `Ubuntu 16.04` or `Ubuntu 18.04` -* 以下issueを確認し、`Cocos2d-x v4.0` で使用されている `libchipmunk` ライブラリを差し替える +* Check the following issue and replace the `libchipmunk` library used in `Cocos2d-x v4.0` * [cocos2d/cocos2d-x linking error when integrating with libchipmunk on linux#20471](https://github.com/cocos2d/cocos2d-x/issues/20471) - * WARNING: この回避方法を使用してビルドしたプロジェクトはいかなる場合でも保守いたしかねます + * WARNING: Projects built using this workaround cannot be maintained under any circumstances. -## [注意事項] Visual Studio 2013 ご利用時の OpenGL サンプルビルドについて (2021-02-17) +## [Caution] About OpenGL sample builds when using Visual Studio 2013 (2021-02-17) -`Visual Studio 2013` を使用した `OpenGL` サンプルビルドでは、`setup_glew_glfw.bat` をそのまま使用してビルドすると `GLEW` にてリンクエラーが発生します。 -以下回避方法を確認し、ご利用いただきますようお願いいたします。 +In the `OpenGL` sample builds using `Visual Studio 2013`, a link error will occur in `GLEW` if you build using `setup_glew_glfw.bat` as is. +Please check and use the workaround below. -### 回避方法 +### Workaround -* `GLEW 2.2.0` を使用する場合 - * `glew` プロジェクトから `libvcruntime.lib` の参照を削除する - * `Visual Studio 2013` 以降の Visual Studio を使用する +* When using `GLEW 2.2.0` + * Remove the reference to `libvcruntime.lib` from the `glew` project + * Use Visual Studio later than `Visual Studio 2013` -* `GLEW 2.1.0` を使用する場合 - * `setup_glew_glfw_vs2013.bat` を使用して `thirdParty` のセットアップを行う +* When using `GLEW 2.1.0` + * Use `setup_glew_glfw_vs2013.bat` to set up `thirdParty` ## Cubism Core -### [注意事項] macOS Catalina 以降のバージョンでの `.bundle` と `.dylib` の利用について +### [Caution] About using `.bundle` and `.dylib` on macOS Catalina or later -macOS Catalina 上で `.bundle` と `.dylib` を利用する際、公証の確認のためオンライン環境に接続している必要があります。 +To use `.bundle` and `.dylib` on macOS Catalina, you need to be connected to an online environment to verify your notarization. -詳しくは、Apple社 公式ドキュメントをご確認ください。 +Please check the official Apple documentation for details. -* [Apple社 公式ドキュメント](https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution) +* [Apple Official Documentation](https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution) --- diff --git a/README.ja.md b/README.ja.md new file mode 100644 index 00000000..a6608ee4 --- /dev/null +++ b/README.ja.md @@ -0,0 +1,186 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Cubism Native Samples + +Live2D Cubism 4 Editor で出力したモデルを表示するアプリケーションのサンプル実装です。 + +Cubism Native Framework および Live2D Cubism Core と組み合わせて使用します。 + + +## ライセンス + +本 SDK を使用する前に[ライセンス](LICENSE.md)をご確認ください。 + + +## お知らせ + +本 SDK を使用する前に [お知らせ](NOTICE.ja.md)をご確認ください。 + + +## ディレクトリ構成 + +``` +. +├─ Core # Live2D Cubism Core が含まれるディレクトリ +├─ Framework # レンダリングやアニメーション機能などのソースコードが含まれるディレクトリ +└─ Samples + ├─ Cocos2d-x # Cocos2d-x のサンプルプロジェクトが含まれるディレクトリ + ├─ D3D9 # DirectX 9.0c のサンプルプロジェクトが含まれるディレクトリ + ├─ D3D11 # DirectX 11 のサンプルプロジェクトが含まれるディレクトリ + ├─ Metal # Metal のサンプルプロジェクトが含まれるディレクトリ + ├─ OpenGL # OpenGL のサンプルプロジェクトが含まれるディレクトリ + └─ Resources # モデルのファイルや画像などのリソースが含まれるディレクトリ +``` + + +## Cubism Native Framework + +モデルを表示、操作するための各種機能を提供します。 + +[Cubism Native Framework] は、当リポジトリのサブモジュールとして含まれています。 +当リポジトリをクローンした後、サブモジュールのクローンを実行することでファイルが追加されます。 + +[Cubism Native Framework]: (https://github.com/Live2D/CubismNativeFramework) + + +## Live2D Cubism Core for Native + +モデルをロードするためのライブラリです。 +当リポジトリには Live2D Cubism Core for Native は同梱されていません。 + +ダウンロードするには[こちら](https://www.live2d.com/download/cubism-sdk/download-native/)のページを参照ください。 +ダウンロードした Zip ファイルの中身を当リポジトリの `Core` ディレクトリにコピーし、プログラムにリンクさせてください。 + + +## ビルド方法 + +ビルド方法についてはサンプルプロジェクトによって異なります。 +各サンプルプロジェクトに同梱された `README.md` を参照ください。 + +### サンプルプロジェクトの成果物の生成場所 + +本サンプルでは、Android を除く CMake プロジェクトの成果物は `bin` ディレクトリに生成されます。 + +例)OpenGL サンプルの macOS プロジェクトのビルドを `make_gcc` スクリプトを使用して行なった場合 +``` +Demo +└─ proj.mac.cmake + └─ build + └─ make_gcc + └─ bin + └─ Demo + ├─ Resources # Samples/Resources と同じ + └─ Demo # 実行可能なアプリケーション +``` + + +## コンパイルオプション + +プロジェクトにおいて、マクロ `USE_RENDER_TARGET` または `USE_MODEL_RENDER_TARGET` が有効な場合、 +モデルがテクスチャへレンダリングされるようになります。 +詳細はサンプルディレクトリ内の `LAppLive2DManager.cpp` を参照ください。 + + +## SDKマニュアル + +[Cubism SDK Manual](https://docs.live2d.com/cubism-sdk-manual/top/) + + +## 変更履歴 + +当リポジトリの変更履歴については [CHANGELOG.md](CHANGELOG.md) を参照ください。 + + +## 開発環境 + +| 開発ツール | バージョン | +| --- | --- | +| Android Studio | Chipmunk 2021.2.1 Patch 2 | +| CMake | 3.24.1 | +| Visual Studio 2013 | Update 5 | +| Visual Studio 2015 | Update 3 | +| Visual Studio 2017 | 15.9.50 | +| Visual Studio 2019 | 16.11.18 | +| Visual Studio 2022 | 17.3.2 | +| XCode | 13.4.1 | + +### Android + +| Android SDK tools | バージョン | +| --- | --- | +| Android NDK | 25.1.8937393 | +| Android SDK | 33.0.0 | +| CMake | 3.22.1 | + +### Linux + +| 系統 | ディストリビューション・バージョン | Docker イメージ | GCC | +| --- | --- | --- | --- | +| Red Hat | Amazon Linux 2 | `amazonlinux:2` | 7.3.1 | +| Red Hat | CentOS 7 | `centos:7` | 4.8.5 | +| Red Hat | CentOS Stream 8 *1 | `centos:latest` | 8.5.0 | +| Red Hat | CentOS Stream 9 | - | 11.3.1 | +| Debian | Ubuntu 18.04 | `ubuntu:18.04` | 7.5.0 | +| Debian | Ubuntu 22.04 | `ubuntu:22.04` | 11.2.0 | + +*1 CentOS 8はサポートしておりません + +#### Mesa ライブラリ + +* Red Hat + * `mesa-libGL-devel` + * `mesa-libGLU-devel` +* Debian + * `libgl1-mesa-dev` + * `libglu1-mesa-dev` + + +## 動作確認環境 + +| プラットフォーム | バージョン | +| --- | --- | +| iOS / iPadOS | 15.6.1 | +| macOS | 12.5.1 | +| Windows 10 | 21H2 | +| Windows 11 | 21H2 | + +### Android + +| バージョン | デバイス | Tegra | +| --- | --- | --- | +| 12 | Pixel 6a | | +| 7.1.1 | Nexus 9 | ✔︎ | + +### Linux + +| 系統 | ディストリビューション | バージョン | +| --- | --- | --- | +| Red Hat | Amazon Linux | 2 | +| Red Hat | CentOS Stream | 8 | +| Red Hat | CentOS Stream | 9 | +| Debian | Ubuntu | 22.04 | + +## プロジェクトへの貢献 + +プロジェクトに貢献する方法はたくさんあります。バグのログの記録、このGitHubでのプルリクエストの送信、Live2Dコミュニティでの問題の報告と提案の作成です。 + +### フォークとプルリクエスト + +修正、改善、さらには新機能をもたらすかどうかにかかわらず、プルリクエストに感謝します。ただし、ラッパーは可能な限り軽量で浅くなるように設計されているため、バグ修正とメモリ/パフォーマンスの改善のみを行う必要があることに注意してください。メインリポジトリを可能な限りクリーンに保つために、必要に応じて個人用フォークと機能ブランチを作成してください。 + +### バグ + +Live2Dコミュニティでは、問題のレポートと機能リクエストを定期的にチェックしています。バグレポートを提出する前に、Live2Dコミュニティで検索して、問題のレポートまたは機能リクエストがすでに投稿されているかどうかを確認してください。問題がすでに存在する場合は、関連するコメントを追記してください。 + +### 提案 + +SDKの将来についてのフィードバックにも関心があります。Live2Dコミュニティで提案や機能のリクエストを送信できます。このプロセスをより効果的にするために、それらをより明確に定義するのに役立つより多くの情報を含めるようお願いしています。 + +## コミュニティ + +ユーザー同士でCubism SDKの活用方法の提案や質問をしたい場合は、是非コミュニティをご活用ください。 + +- [Live2D 公式コミュニティ](https://creatorsforum.live2d.com/) +- [Live2D community(English)](https://community.live2d.com/) diff --git a/README.md b/README.md index aaf44cc5..93282104 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,69 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + # Cubism Native Samples -Live2D Cubism 4 Editor で出力したモデルを表示するアプリケーションのサンプル実装です。 +This is a sample implementation of an application that displays models output by Live2D Cubism 4 Editor. -Cubism Native Framework および Live2D Cubism Core と組み合わせて使用します。 +It is used in conjunction with Cubism Native Framework and Live2D Cubism Core. -## ライセンス +## License -本 SDK を使用する前に[ライセンス](LICENSE.md)をご確認ください。 +Please check the [license](LICENSE.md) before using this SDK. -## 注意事項 +## Notices -本 SDK を使用する前に [注意事項](NOTICE.md)をご確認ください。 +Please check the [notices](NOTICE.md) before using this SDK. -## ディレクトリ構成 +## Directory structure ``` . -├─ Core # Live2D Cubism Core が含まれるディレクトリ -├─ Framework # レンダリングやアニメーション機能などのソースコードが含まれるディレクトリ +├─ Core # Directory containing Live2D Cubism Core +├─ Framework # Directory containing source code for rendering and animation functions └─ Samples - ├─ Cocos2d-x # Cocos2d-x のサンプルプロジェクトが含まれるディレクトリ - ├─ D3D9 # DirectX 9.0c のサンプルプロジェクトが含まれるディレクトリ - ├─ D3D11 # DirectX 11 のサンプルプロジェクトが含まれるディレクトリ - ├─ Metal # Metal のサンプルプロジェクトが含まれるディレクトリ - ├─ OpenGL # OpenGL のサンプルプロジェクトが含まれるディレクトリ - └─ Resources # モデルのファイルや画像などのリソースが含まれるディレクトリ + ├─ Cocos2d-x # Directory containing the Cocos2d-x sample project + ├─ D3D9 # Directory containing the DirectX 9.0c sample project + ├─ D3D11 # Directory containing the DirectX 11 sample project + ├─ Metal # Directory containing the Metal sample project + ├─ OpenGL # Directory containing the OpenGL sample project + └─ Resources # Directory containing resources such as model files and images ``` ## Cubism Native Framework -モデルを表示、操作するための各種機能を提供します。 +Provides various functions for displaying and manipulating the model. -[Cubism Native Framework] は、当リポジトリのサブモジュールとして含まれています。 -当リポジトリをクローンした後、サブモジュールのクローンを実行することでファイルが追加されます。 +[Cubism Native Framework] is included as a submodule of this repository. +After cloning this repository, the files will be added by cloning the submodule. [Cubism Native Framework]: (https://github.com/Live2D/CubismNativeFramework) ## Live2D Cubism Core for Native -モデルをロードするためのライブラリです。 -当リポジトリには Live2D Cubism Core for Native は同梱されていません。 +A library for loading the model. +Live2D Cubism Core for Native is not included in this repository. -ダウンロードするには[こちら](https://www.live2d.com/download/cubism-sdk/download-native/)のページを参照ください。 -ダウンロードした Zip ファイルの中身を当リポジトリの `Core` ディレクトリにコピーし、プログラムにリンクさせてください。 +To download, please refer to [this](https://www.live2d.com/download/cubism-sdk/download-native/) page. +Copy the contents of the downloaded ZIP file to the `Core` directory of this repository and link it to the program. -## ビルド方法 +## How to build -ビルド方法についてはサンプルプロジェクトによって異なります。 -各サンプルプロジェクトに同梱された `README.md` を参照ください。 +The build method depends on the sample project. +Please refer to the `README.md` included with each sample project. -### サンプルプロジェクトの成果物の生成場所 +### Where to generate the sample project deliverables -本サンプルでは、Android を除く CMake プロジェクトの成果物は `bin` ディレクトリに生成されます。 +In this sample, the deliverables of CMake projects except Android are generated in the `bin` directory. -例)OpenGL サンプルの macOS プロジェクトのビルドを `make_gcc` スクリプトを使用して行なった場合 +E.g. When building a macOS project of the OpenGL sample using the `make_gcc` script ``` Demo └─ proj.mac.cmake @@ -67,61 +71,62 @@ Demo └─ make_gcc └─ bin └─ Demo - ├─ Resources # Samples/Resources と同じ - └─ Demo # 実行可能なアプリケーション + ├─ Resources # Same as Samples/Resources + └─ Demo # Executable applications ``` -## コンパイルオプション +## Compile options -プロジェクトにおいて、マクロ `USE_RENDER_TARGET` または `USE_MODEL_RENDER_TARGET` が有効な場合、 -モデルがテクスチャへレンダリングされるようになります。 -詳細はサンプルディレクトリ内の `LAppLive2DManager.cpp` を参照ください。 +If the macro `USE_RENDER_TARGET` or `USE_MODEL_RENDER_TARGET` is enabled in your project, the model will be rendered to the texture. +Please refer to 'LAppLive2DManager.cpp' in the sample directory for details. -## SDKマニュアル +## SDK manual [Cubism SDK Manual](https://docs.live2d.com/cubism-sdk-manual/top/) -## 変更履歴 +## Changelog -当リポジトリの変更履歴については [CHANGELOG.md](CHANGELOG.md) を参照ください。 +Please refer to [CHANGELOG.md](CHANGELOG.md) for the changelog of this repository. -## 開発環境 +## Development environment -| 開発ツール | バージョン | +| Development Tool | Version | | --- | --- | -| Android Studio | Chipmunk 2021.2.1 Patch 1 | -| CMake | 3.23.0 | +| Android Studio | Chipmunk 2021.2.1 Patch 2 | +| CMake | 3.24.1 | | Visual Studio 2013 | Update 5 | | Visual Studio 2015 | Update 3 | -| Visual Studio 2017 | 15.9.49 | -| Visual Studio 2019 | 16.11.17 | +| Visual Studio 2017 | 15.9.50 | +| Visual Studio 2019 | 16.11.18 | +| Visual Studio 2022 | 17.3.2 | | XCode | 13.4.1 | ### Android -| Android SDK tools | バージョン | +| Android SDK tools | Version | | --- | --- | -| Android NDK | 24.0.08215888 | +| Android NDK | 25.1.8937393 | | Android SDK | 33.0.0 | -| CMake | 3.18.1 | +| CMake | 3.22.1 | ### Linux -| 系統 | ディストリビューション・バージョン | Docker イメージ | GCC | +| System | Distribution version | Docker image | GCC | | --- | --- | --- | --- | | Red Hat | Amazon Linux 2 | `amazonlinux:2` | 7.3.1 | | Red Hat | CentOS 7 | `centos:7` | 4.8.5 | | Red Hat | CentOS Stream 8 *1 | `centos:latest` | 8.5.0 | +| Red Hat | CentOS Stream 9 | - | 11.3.1 | | Debian | Ubuntu 18.04 | `ubuntu:18.04` | 7.5.0 | -| Debian | Ubuntu 20.04 | `ubuntu:20.04` | 9.4.0 | +| Debian | Ubuntu 22.04 | `ubuntu:22.04` | 11.2.0 | -*1 CentOS 8はサポートしておりません +*1 CentOS 8 is not supported -#### Mesa ライブラリ +#### Mesa library * Red Hat * `mesa-libGL-devel` @@ -131,34 +136,50 @@ Demo * `libglu1-mesa-dev` -## 動作確認環境 +## Operation environment -| プラットフォーム | バージョン | +| Platform | Version | | --- | --- | -| iOS / iPadOS | 15.5 | -| macOS | 12.5 | +| iOS / iPadOS | 15.6.1 | +| macOS | 12.5.1 | | Windows 10 | 21H2 | | Windows 11 | 21H2 | ### Android -| バージョン | デバイス | Tegra | +| Version | Device | Tegra | | --- | --- | --- | -| 11 | Pixel 3a | | +| 12 | Pixel 6a | | | 7.1.1 | Nexus 9 | ✔︎ | ### Linux -| 系統 | ディストリビューション | バージョン | +| System | Distribution | Version | | --- | --- | --- | | Red Hat | Amazon Linux | 2 | | Red Hat | CentOS Stream | 8 | -| Debian | Ubuntu | 20.04 | +| Red Hat | CentOS Stream | 9 | +| Debian | Ubuntu | 22.04 | + +## Contributing + +There are many ways to contribute to the project: logging bugs, submitting pull requests on this GitHub, and reporting issues and making suggestions in Live2D Community. + +### Forking And Pull Requests + +We very much appreciate your pull requests, whether they bring fixes, improvements, or even new features. Note, however, that the wrapper is designed to be as lightweight and shallow as possible and should therefore only be subject to bug fixes and memory/performance improvements. To keep the main repository as clean as possible, create a personal fork and feature branches there as needed. + +### Bugs + +We are regularly checking issue-reports and feature requests at Live2D Community. Before filing a bug report, please do a search in Live2D Community to see if the issue-report or feature request has already been posted. If you find your issue already exists, make relevant comments and add your reaction. + +### Suggestions +We're also interested in your feedback for the future of the SDK. You can submit a suggestion or feature request at Live2D Community. To make this process more effective, we're asking that you include more information to help define them more clearly. -## コミュニティ +## Community -ユーザー同士でCubism SDKの活用方法の提案や質問をしたい場合は、是非コミュニティをご活用ください。 +If you want to suggest or ask questions about how to use the Cubism SDK between users, please use the community. -- [Live2D 公式コミュニティ](https://creatorsforum.live2d.com/) -- [Live2D community(English)](https://community.live2d.com/) +- [Live2D community](https://community.live2d.com/) +- [Live2D 公式コミュニティ (Japanese)](https://creatorsforum.live2d.com/) diff --git a/Samples/Cocos2d-x/Demo/CMakeLists.txt b/Samples/Cocos2d-x/Demo/CMakeLists.txt index fd6ea824..e6515dc0 100644 --- a/Samples/Cocos2d-x/Demo/CMakeLists.txt +++ b/Samples/Cocos2d-x/Demo/CMakeLists.txt @@ -127,6 +127,9 @@ elseif(WINDOWS) elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 set(MSVC_NUM 142) + elseif(MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) + # Visual Studio 2022 + set(MSVC_NUM 143) elseif(MSVC) message(FATAL_ERROR "[${APP_NAME}] Unsupported Visual C++ compiler used.") else() @@ -255,7 +258,7 @@ if(APPLE) set_xcode_property(${APP_NAME} ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon") set_xcode_property(${APP_NAME} DEVELOPMENT_TEAM "") set_xcode_property(${APP_NAME} CODE_SIGN_IDENTITY "iPhone Developer") - set_xcode_property(${APP_NAME} PRODUCT_BUNDLE_IDENTIFIER "com.live2d.demo-4-r5-beta3-cocos2dx") + set_xcode_property(${APP_NAME} PRODUCT_BUNDLE_IDENTIFIER "com.live2d.demo-4-r5-cocos2dx") set_xcode_property(${APP_NAME} TARGETED_DEVICE_FAMILY "1,2") set_xcode_property(${APP_NAME} ONLY_ACTIVE_ARCH "NO") set_xcode_property(${APP_NAME} ARCHS "arm64") diff --git a/Samples/Cocos2d-x/Demo/proj.win/scripts/proj_msvc2022.bat b/Samples/Cocos2d-x/Demo/proj.win/scripts/proj_msvc2022.bat new file mode 100644 index 00000000..ecfbf93a --- /dev/null +++ b/Samples/Cocos2d-x/Demo/proj.win/scripts/proj_msvc2022.bat @@ -0,0 +1,18 @@ +@echo off + +setlocal + +set SCRIPT_PATH=%~dp0 +set MSVC_VERSION=2022 +set MSVC_NUMBER=17 +set VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe +set /a _MSVC_RANGE_S=MSVC_NUMBER +set /a _MSVC_RANGE_E=MSVC_NUMBER+1 +for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -legacy -version [%_MSVC_RANGE_S%^,%_MSVC_RANGE_E%^) -property installationPath`) do ( + set VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat +) + +call %SCRIPT_PATH%_msvc_common.bat +if %errorlevel% neq 0 pause & exit /b %errorlevel% + +pause & exit /b 0 diff --git a/Samples/Cocos2d-x/README.ja.md b/Samples/Cocos2d-x/README.ja.md new file mode 100644 index 00000000..40220d43 --- /dev/null +++ b/Samples/Cocos2d-x/README.ja.md @@ -0,0 +1,162 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Cubism Native Samples for Cocos2d-x + +Cocos2d-xで実装したアプリケーションのサンプル実装です。 + + +## 開発環境 + +| フレームワーク | バージョン | +| --- | --- | +| [XCode] | 12.4 | +| [Cocos2d-x] | 4.0 (`95e5d868ce5958c0dadfc485bdda52f1bc404fe0`) | + +その他の開発環境・動作確認環境はトップディレクトリにある [README.md](../../README.ja.md) を参照してください。 + +また、[Cocos2d-x ドキュメントの前提条件]も確認してください。 + +[Cocos2d-x ドキュメントの前提条件]: https://docs.cocos2d-x.org/cocos2d-x/v3/en/installation/prerequisites.html + +### Cocos2d-x v4.x に関して + +Cocos2d-x v4.0 から Metal API の対応に伴い、Renderer の構成が変更され、OpenGLES の API を直接使用することが出来なくなりました。 +詳しくは [Cocos2d-x のドキュメント](https://docs.cocos2d-x.org/cocos2d-x/v4/en/upgradeGuide/) を参照してください。 + +この変更に伴い Cocos2d-x v4.x 系では Cubism Framework の Renderer に Cocos2d-x 専用の物を用意いたしました。現在は、各プラットフォームで共通の Renderer を使用しており、 macOS, Windows, Linux, iOS, Android と横断的にクロスコンパイルを通すことが可能です。 + + +## ディレクトリ構造 + +``` +. +├─ Demo +│ ├─ Classes # Sources for sample projects +│ ├─ proj.android # Android Studio project +│ ├─ proj.ios # Additional files and build scripts for iOS +│ ├─ proj.linux # Additional files and build scripts for Linux +│ ├─ proj.mac # Additional files and build scripts for macOS +│ ├─ proj.win # Additional files and build scripts for Windows +│ └─ Resources # Resources of cocos2d-x template project +└─ thirdParty # Third party libraries and scripts +``` + + +## Demo + +[Cubism Native Framework] の各機能を一通り利用したサンプルです。 +モーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 +メニューボタンからモデルを切り替えることができます。 + +[Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework + +このディレクトリ内に含まれるものは以下の通りです。 + +### Classes + +サンプルプロジェクトで使用するソースコードが含まれます。 + +### proj.android + +Android 用の Android Studio プロジェクトが含まれます。 + +NOTE: 事前に下記の SDK のダウンロードが必要です + +* Android SDK Build-Tools +* NDK +* CMake + +### proj.ios + +iOS 用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `proj_xcode` | Xcode プロジェクト | + +ビルド時に下記の手順を行なってください。 + +1. XCode の `Project設定 - TARGETS - Demo - Packaging - Info.plist File` に記載されている `Info.plist` 内の `Executable file` を `$(EXECUTABLE_NAME)` または`Demo`(アプリ名)に書き換えてください + +NOTICE: Cubism Core は i386 アーキテクチャをサポートしていないため、**iPhone Simulator 向けのビルドは行えません。** + +### proj.linux + +Linux 用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `make_gcc` | 実行可能なアプリケーション | + +ビルド前に下記の手順を行なってください。 + +1. [Dependencies that you need] ドキュメントを参照して必要なパッケージをダウンロードします + +[Dependencies that you need]: https://docs.cocos2d-x.org/cocos2d-x/v4/en/installation/Linux.html#dependencies-that-you-need + +NOTICE: Linuxビルドには制限があります。使用する際は必ずトップディレクトリにある[NOTICE.md](../../NOTICE.md)をご確認ください。 + +### proj.mac + +macOS 用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `make_xcode` | 実行可能なアプリケーション | +| `proj_xcode` | Xcode プロジェクト | + +WARNING: macOSビルドにつきまして、`Cocos2d-x V4.0` に起因する不具合のために正常にビルドができない状態となっております。対処方法につきましては、以下の Issue をご確認ください。 + +* [cocos2d/cocos2d-x error: Objective-C was disabled in PCH file but is currently enabled +#20607 +](https://github.com/cocos2d/cocos2d-x/issues/20607#issuecomment-780266298) + +### proj.win + +Windows 用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `proj_msvcXXXX.bat` | Visual Studio プロジェクト | + +NOTICE: nmake を使用したビルドは Cocos2d-x のエラーが発生するため対応していません。 + +### Resources + +Cocos2d-xのテンプレートプロジェクトで参照しているリソースが含まれます。 + +### CMakeLists.txt + +CMake 用の設定ファイルです。 + +各プラットフォームのビルド設定が記載されています。 + + +## thirdParty + +サンプルプロジェクトで利用するサードパーティライブラリとビルドスクリプトが含まれます。 + +### Cocos2d-x のセットアップ + +`script` ディレクトリ内のスクリプトを実行することで Cocos2d-x のダウンロードを行います。 + +| プラットフォーム | スクリプト名 | +| --- | --- | +| Linux / macOS | `setup_cocos2d` | +| Windows | `setup_cocos2d.bat` | + +スクリプト内の `COCOS_COMMIT_HASH` を変更することで、使用する Cocos2d-x の SCM 上のバージョンをコミットハッシュで指定することが出来ます。 + +ダウンロード後は `thirdParty/cocos2d` というディレクトリ名で展開されます。 + +[Cocos2d-x]: https://cocos2d-x.org/ diff --git a/Samples/Cocos2d-x/README.md b/Samples/Cocos2d-x/README.md index 458bb566..44ec3a97 100644 --- a/Samples/Cocos2d-x/README.md +++ b/Samples/Cocos2d-x/README.md @@ -1,30 +1,34 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + # Cubism Native Samples for Cocos2d-x -Cocos2d-xで実装したアプリケーションのサンプル実装です。 +This is a sample implementation of an application implemented with Cocos2d-x. -## 開発環境 +## Development environment -| フレームワーク | バージョン | +| Framework | Version | | --- | --- | | [XCode] | 12.4 | | [Cocos2d-x] | 4.0 (`95e5d868ce5958c0dadfc485bdda52f1bc404fe0`) | -その他の開発環境・動作確認環境はトップディレクトリにある [README.md](../../README.md) を参照してください。 +For other development environments and operation environments, see [README.md](../../README.md) in the top directory. -また、[Cocos2d-x ドキュメントの前提条件]も確認してください。 +Please also check the [Cocos2d-x Documentation Prerequisites]. -[Cocos2d-x ドキュメントの前提条件]: https://docs.cocos2d-x.org/cocos2d-x/v3/en/installation/prerequisites.html +[Cocos2d-x Documentation Prerequisites]: https://docs.cocos2d-x.org/cocos2d-x/v3/en/installation/prerequisites.html -### Cocos2d-x v4.x に関して +### Regarding Cocos2d-x v4.x -Cocos2d-x v4.0 から Metal API の対応に伴い、Renderer の構成が変更され、OpenGLES の API を直接使用することが出来なくなりました。 -詳しくは [Cocos2d-x のドキュメント](https://docs.cocos2d-x.org/cocos2d-x/v4/en/upgradeGuide/) を参照してください。 +With support for the Metal API since Cocos2d-x v4.0, the configuration of the Renderer has changed to make it impossible to use the OpenGLES API directly. +Please check the [Cocos2d-x Documentation](https://docs.cocos2d-x.org/cocos2d-x/v4/en/upgradeGuide/) for more information. -この変更に伴い Cocos2d-x v4.x 系では Cubism Framework の Renderer に Cocos2d-x 専用の物を用意いたしました。現在は、各プラットフォームで共通の Renderer を使用しており、 macOS, Windows, Linux, iOS, Android と横断的にクロスコンパイルを通すことが可能です。 +Along with this change, we have prepared a dedicated Cocos2d-x Renderer for the Cubism Framework in the Cocos2d-x v4.x series. Currently, each platform uses a common Renderer, and it is possible to cross-compile across macOS, Windows, Linux, iOS, and Android. -## ディレクトリ構造 +## Directory structure ``` . @@ -42,23 +46,21 @@ Cocos2d-x v4.0 から Metal API の対応に伴い、Renderer の構成が変更 ## Demo -[Cubism Native Framework] の各機能を一通り利用したサンプルです。 -モーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 -メニューボタンからモデルを切り替えることができます。 +A sample that uses each function of [Cubism Native Framework]. You can play motions, set facial expressions, switch poses, set physics, etc. You can switch models from the menu button. [Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework -このディレクトリ内に含まれるものは以下の通りです。 +The items contained in this directory are as follows. ### Classes -サンプルプロジェクトで使用するソースコードが含まれます。 +Contains the source code used in the sample project. ### proj.android -Android 用の Android Studio プロジェクトが含まれます。 +Contains Android Studio projects for Android. -NOTE: 事前に下記の SDK のダウンロードが必要です +NOTE: You need to download the following SDKs in advance. * Android SDK Build-Tools * NDK @@ -66,93 +68,91 @@ NOTE: 事前に下記の SDK のダウンロードが必要です ### proj.ios -iOS 用の CMake プロジェクトです。 +CMake project for iOS. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `proj_xcode` | Xcode プロジェクト | +| `proj_xcode` | Xcode project | -ビルド時に下記の手順を行なってください。 +Follow the steps below when building. -1. XCode の `Project設定 - TARGETS - Demo - Packaging - Info.plist File` に記載されている `Info.plist` 内の `Executable file` を `$(EXECUTABLE_NAME)` または`Demo`(アプリ名)に書き換えてください +1. Rewrite the `Executable file` in `Info.plist` stated in XCode's `Project Settings - TARGETS - Demo - Packaging - Info.plist File` to `$(EXECUTABLE_NAME)` or `Demo` (app name). -NOTICE: Cubism Core は i386 アーキテクチャをサポートしていないため、**iPhone Simulator 向けのビルドは行えません。** +NOTICE: Cubism Core does not support the i386 architecture, so **it is not possible to build for iPhone Simulator.** ### proj.linux -Linux 用の CMake プロジェクトです。 +CMake project for Linux. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `make_gcc` | 実行可能なアプリケーション | +| `make_gcc` | Executable application | -ビルド前に下記の手順を行なってください。 +Follow the steps below before building. -1. [Dependencies that you need] ドキュメントを参照して必要なパッケージをダウンロードします +1. Refer to the [Dependencies that you need] documentation to download the required packages. [Dependencies that you need]: https://docs.cocos2d-x.org/cocos2d-x/v4/en/installation/Linux.html#dependencies-that-you-need -NOTICE: Linuxビルドには制限があります。使用する際は必ずトップディレクトリにある[NOTICE.md](../../NOTICE.md)をご確認ください。 +NOTICE: Linux builds have restrictions. Please be sure to check [NOTICE.md](../../NOTICE.md) in the top directory when using it. ### proj.mac -macOS 用の CMake プロジェクトです。 +CMake project for macOS. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `make_xcode` | 実行可能なアプリケーション | -| `proj_xcode` | Xcode プロジェクト | +| `make_xcode` | Executable application | +| `proj_xcode` | Xcode project | -WARNING: macOSビルドにつきまして、`Cocos2d-x V4.0` に起因する不具合のために正常にビルドができない状態となっております。対処方法につきましては、以下の Issue をご確認ください。 +WARNING: Regarding macOS build, it is not possible to build normally due to a problem caused by `Cocos2d-x V4.0`. Please check the following Issue for the workaround. -* [cocos2d/cocos2d-x error: Objective-C was disabled in PCH file but is currently enabled -#20607 -](https://github.com/cocos2d/cocos2d-x/issues/20607#issuecomment-780266298) +* [cocos2d/cocos2d-x error: Objective-C was disabled in PCH file but is currently enabled#20607](https://github.com/cocos2d/cocos2d-x/issues/20607#issuecomment-780266298) ### proj.win -Windows 用の CMake プロジェクトです。 +CMake project for Windows. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `proj_msvcXXXX.bat` | Visual Studio プロジェクト | +| `proj_msvcXXXX.bat` | Visual Studio project | -NOTICE: nmake を使用したビルドは Cocos2d-x のエラーが発生するため対応していません。 +NOTICE: Builds using nmake are not supported due to Cocos2d-x errors. ### Resources -Cocos2d-xのテンプレートプロジェクトで参照しているリソースが含まれます。 +Contains the resources referenced in the Cocos2d-x template project. ### CMakeLists.txt -CMake 用の設定ファイルです。 +Configuration file for CMake. -各プラットフォームのビルド設定が記載されています。 +The build settings for each platform are listed. ## thirdParty -サンプルプロジェクトで利用するサードパーティライブラリとビルドスクリプトが含まれます。 +Contains third-party libraries and build scripts used in the sample project. -### Cocos2d-x のセットアップ +### Cocos2d-x setup -`script` ディレクトリ内のスクリプトを実行することで Cocos2d-x のダウンロードを行います。 +Download Cocos2d-x by running the script in the `script` directory. -| プラットフォーム | スクリプト名 | +| Platform | Script name | | --- | --- | | Linux / macOS | `setup_cocos2d` | | Windows | `setup_cocos2d.bat` | -スクリプト内の `COCOS_COMMIT_HASH` を変更することで、使用する Cocos2d-x の SCM 上のバージョンをコミットハッシュで指定することが出来ます。 +You can specify the version of Cocos2d-x on the SCM to be used with a commit hash by changing `COCOS_COMMIT_HASH` in the script. -ダウンロード後は `thirdParty/cocos2d` というディレクトリ名で展開されます。 +After downloading, it will be expanded with the directory name `thirdParty/cocos2d`. [Cocos2d-x]: https://cocos2d-x.org/ diff --git a/Samples/D3D11/Demo/proj.d3d11.cmake/CMakeLists.txt b/Samples/D3D11/Demo/proj.d3d11.cmake/CMakeLists.txt index 37edba80..70373d2c 100644 --- a/Samples/D3D11/Demo/proj.d3d11.cmake/CMakeLists.txt +++ b/Samples/D3D11/Demo/proj.d3d11.cmake/CMakeLists.txt @@ -63,6 +63,10 @@ elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 set(COMPILER 142) set(MSVC_YEAR 2019) +elseif(MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) + # Visual Studio 2022 + set(COMPILER 143) + set(MSVC_YEAR 2022) elseif(MSVC) message(FATAL_ERROR "[${APP_NAME}] Unsupported Visual C++ compiler used.") else() diff --git a/Samples/D3D11/Demo/proj.d3d11.cmake/scripts/nmake_msvc2022.bat b/Samples/D3D11/Demo/proj.d3d11.cmake/scripts/nmake_msvc2022.bat new file mode 100644 index 00000000..bc6e1282 --- /dev/null +++ b/Samples/D3D11/Demo/proj.d3d11.cmake/scripts/nmake_msvc2022.bat @@ -0,0 +1,19 @@ +@echo off + +setlocal + +set SCRIPT_PATH=%~dp0 +set MSVC_VERSION=2022 +set MSVC_NUMBER=17 +set VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe +set /a _MSVC_RANGE_S=MSVC_NUMBER +set /a _MSVC_RANGE_E=MSVC_NUMBER+1 +for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -legacy -version [%_MSVC_RANGE_S%^,%_MSVC_RANGE_E%^) -property installationPath`) do ( + set VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat +) +set GENERATOR=nmake + +call "%SCRIPT_PATH%_msvc_common.bat" +if %errorlevel% neq 0 pause & exit /b %errorlevel% + +pause & exit /b 0 diff --git a/Samples/D3D11/Demo/proj.d3d11.cmake/scripts/proj_msvc2022.bat b/Samples/D3D11/Demo/proj.d3d11.cmake/scripts/proj_msvc2022.bat new file mode 100644 index 00000000..01031f47 --- /dev/null +++ b/Samples/D3D11/Demo/proj.d3d11.cmake/scripts/proj_msvc2022.bat @@ -0,0 +1,19 @@ +@echo off + +setlocal + +set SCRIPT_PATH=%~dp0 +set MSVC_VERSION=2022 +set MSVC_NUMBER=17 +set VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe +set /a _MSVC_RANGE_S=MSVC_NUMBER +set /a _MSVC_RANGE_E=MSVC_NUMBER+1 +for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -legacy -version [%_MSVC_RANGE_S%^,%_MSVC_RANGE_E%^) -property installationPath`) do ( + set VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat +) +set GENERATOR=proj + +call "%SCRIPT_PATH%_msvc_common.bat" +if %errorlevel% neq 0 pause & exit /b %errorlevel% + +pause & exit /b 0 diff --git a/Samples/D3D11/README.ja.md b/Samples/D3D11/README.ja.md new file mode 100644 index 00000000..ad0a17e4 --- /dev/null +++ b/Samples/D3D11/README.ja.md @@ -0,0 +1,86 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Cubism Native Samples for DirectX 11 + +DirectX 11 で実装したアプリケーションのサンプル実装です。 + + +## 開発環境 + +| 開発キット | Visual Studio | バージョン | +| --- | --- | --- | +| [DirectXTK] | 2013 | April 23, 2018 | +| [DirectXTK] | 2015 | December 17, 2019 | +| [DirectXTK] | 2017 | March 24, 2022 | +| [DirectXTK] | 2019 / 2022 | july 31, 2022 | + +その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.ja.md) を参照してください。 + + +## ディレクトリ構造 + +``` +. +├─ Demo +│ └─ proj.d3d11.cmake # CMake project +└─ thirdParty # Third party libraries and scripts +``` + + +## Demo + +[Cubism Native Framework] の各機能を一通り利用したサンプルです。 + +全ての機能を利用するフルバージョンのサンプルと最小限の機能のみが備わったミニマムバージョンのサンプルの二通りがあります。 + +フルバージョンではモーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 +また、メニューボタンからモデルを切り替えることができます。 + +ミニマムバージョンでは単一のモデルの読み込み・表示、単一のモーションの再生、表情の設定、物理演算の設定などを行います。 +ポーズの切り替えやモデルの切り替えには対応していません。 + +[Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework + +このディレクトリ内に含まれるものは以下の通りです。 + +### proj.d3d11.cmake + +CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `nmake_msvcXXXX.bat` | 実行可能なアプリケーション | +| `proj_msvcXXXX.bat` | Visual Studio プロジェクト | + +これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 + +開発キットとして [DirectXTK] を利用しています。 +[thirdParty](README.md#thirdParty) の項目を参照して事前にダウンロードを行なってください。 + + +## thirdParty + +サンプルプロジェクトで利用するサードパーティライブラリとビルドスクリプトが含まれます。 + +### DirectXTK のセットアップ + +`script` ディレクトリ内のスクリプトを実行することで DirectXTK のダウンロード及びライブラリのビルドを行います。 + +| Visual Studio | スクリプト名 | +| --- | --- | +| 2013 | `setup_msvc2013.bat` | +| 2015 | `setup_msvc2015.bat` | +| 2017 | `setup_msvc2017.bat` | +| 2019 | `setup_msvc2019.bat` | +| 2022 | `setup_msvc2022.bat` | + +スクリプト内の `XTK_VERSION` を変更することでライブラリのバージョンを指定することが出来ます。 + +[DirectXTK]: https://github.com/Microsoft/DirectXTK + +x64のリリースビルドを行うには.NET Framework 4.7.2のインストールが必要となります。 +[DirectXTK Release Notes]: https://github.com/microsoft/DirectXTK#release-notes diff --git a/Samples/D3D11/README.md b/Samples/D3D11/README.md index 6a119e49..51cb33d3 100644 --- a/Samples/D3D11/README.md +++ b/Samples/D3D11/README.md @@ -1,20 +1,25 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + # Cubism Native Samples for DirectX 11 -DirectX 11 で実装したアプリケーションのサンプル実装です。 +This is a sample implementation of an application implemented with DirectX 11. -## 開発環境 +## Development environment -| 開発キット | Visual Studio | バージョン | +| Development Kit | Visual Studio | Version | | --- | --- | --- | | [DirectXTK] | 2013 | April 23, 2018 | | [DirectXTK] | 2015 | December 17, 2019 | -| [DirectXTK] | 2017 / 2019 | March 24, 2022 | +| [DirectXTK] | 2017 | March 24, 2022 | +| [DirectXTK] | 2019 / 2022 | july 31, 2022 | -その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.md) を参照してください。 +For other development environments and operation environments, see [README.md](/README.md) in the top directory. -## ディレクトリ構造 +## Directory structure ``` . @@ -26,55 +31,56 @@ DirectX 11 で実装したアプリケーションのサンプル実装です。 ## Demo -[Cubism Native Framework] の各機能を一通り利用したサンプルです。 +A sample that uses each function of [Cubism Native Framework]. -全ての機能を利用するフルバージョンのサンプルと最小限の機能のみが備わったミニマムバージョンのサンプルの二通りがあります。 +There are two types of samples: the full version that uses all the features, and the minimum version that has only minimal features. -フルバージョンではモーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 -また、メニューボタンからモデルを切り替えることができます。 +In the full version, you can play motions, set facial expressions, switch poses, set physics, etc. +You can also switch models from the menu button. -ミニマムバージョンでは単一のモデルの読み込み・表示、単一のモーションの再生、表情の設定、物理演算の設定などを行います。 -ポーズの切り替えやモデルの切り替えには対応していません。 +In the minimum version, you can load and display a single model, play a single motion, set facial expressions, set physics, etc. +Switching poses and models are not supported. [Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework -このディレクトリ内に含まれるものは以下の通りです。 +The items contained in this directory are as follows. ### proj.d3d11.cmake -CMake プロジェクトです。 +CMake project. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `nmake_msvcXXXX.bat` | 実行可能なアプリケーション | -| `proj_msvcXXXX.bat` | Visual Studio プロジェクト | +| `nmake_msvcXXXX.bat` | Executable application | +| `proj_msvcXXXX.bat` | Visual Studio project | -これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 +When you run these scripts, you can choose to generate the full version or the minimum version of the sample. -開発キットとして [DirectXTK] を利用しています。 -[thirdParty](README.md#thirdParty) の項目を参照して事前にダウンロードを行なってください。 +[DirectXTK] is used as a development kit. +Please refer to the [thirdParty](README.md#thirdParty) section and download in advance. ## thirdParty -サンプルプロジェクトで利用するサードパーティライブラリとビルドスクリプトが含まれます。 +Contains third-party libraries and build scripts used in the sample project. -### DirectXTK のセットアップ +### DirectXTK setup -`script` ディレクトリ内のスクリプトを実行することで DirectXTK のダウンロード及びライブラリのビルドを行います。 +Download DirectXTK and build the library by running the script in the `script` directory. -| Visual Studio | スクリプト名 | +| Visual Studio | Script Name | | --- | --- | | 2013 | `setup_msvc2013.bat` | | 2015 | `setup_msvc2015.bat` | | 2017 | `setup_msvc2017.bat` | | 2019 | `setup_msvc2019.bat` | +| 2022 | `setup_msvc2022.bat` | -スクリプト内の `XTK_VERSION` を変更することでライブラリのバージョンを指定することが出来ます。 +You can specify the library version by changing `XTK_VERSION` in the script. [DirectXTK]: https://github.com/Microsoft/DirectXTK -x64のリリースビルドを行うには.NET Framework 4.7.2のインストールが必要となります。 +.NET Framework 4.7.2 must be installed to do an x64 release build. [DirectXTK Release Notes]: https://github.com/microsoft/DirectXTK#release-notes diff --git a/Samples/D3D11/thirdParty/scripts/setup_msvc2019.bat b/Samples/D3D11/thirdParty/scripts/setup_msvc2019.bat index ba08ecc7..9c9ed818 100644 --- a/Samples/D3D11/thirdParty/scripts/setup_msvc2019.bat +++ b/Samples/D3D11/thirdParty/scripts/setup_msvc2019.bat @@ -2,7 +2,7 @@ setlocal -set XTK_VERSION=mar2022 +set XTK_VERSION=jul2022 set SCRIPT_PATH=%~dp0 diff --git a/Samples/D3D9/Demo/proj.d3d9.cmake/CMakeLists.txt b/Samples/D3D9/Demo/proj.d3d9.cmake/CMakeLists.txt index 070485bc..33ae1142 100644 --- a/Samples/D3D9/Demo/proj.d3d9.cmake/CMakeLists.txt +++ b/Samples/D3D9/Demo/proj.d3d9.cmake/CMakeLists.txt @@ -57,6 +57,9 @@ elseif(MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 set(COMPILER 142) +elseif(MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) + # Visual Studio 2022 + set(COMPILER 143) elseif(MSVC) message(FATAL_ERROR "[${APP_NAME}] Unsupported Visual C++ compiler used.") else() diff --git a/Samples/D3D9/Demo/proj.d3d9.cmake/scripts/nmake_msvc2022.bat b/Samples/D3D9/Demo/proj.d3d9.cmake/scripts/nmake_msvc2022.bat new file mode 100644 index 00000000..bc6e1282 --- /dev/null +++ b/Samples/D3D9/Demo/proj.d3d9.cmake/scripts/nmake_msvc2022.bat @@ -0,0 +1,19 @@ +@echo off + +setlocal + +set SCRIPT_PATH=%~dp0 +set MSVC_VERSION=2022 +set MSVC_NUMBER=17 +set VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe +set /a _MSVC_RANGE_S=MSVC_NUMBER +set /a _MSVC_RANGE_E=MSVC_NUMBER+1 +for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -legacy -version [%_MSVC_RANGE_S%^,%_MSVC_RANGE_E%^) -property installationPath`) do ( + set VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat +) +set GENERATOR=nmake + +call "%SCRIPT_PATH%_msvc_common.bat" +if %errorlevel% neq 0 pause & exit /b %errorlevel% + +pause & exit /b 0 diff --git a/Samples/D3D9/Demo/proj.d3d9.cmake/scripts/proj_msvc2022.bat b/Samples/D3D9/Demo/proj.d3d9.cmake/scripts/proj_msvc2022.bat new file mode 100644 index 00000000..01031f47 --- /dev/null +++ b/Samples/D3D9/Demo/proj.d3d9.cmake/scripts/proj_msvc2022.bat @@ -0,0 +1,19 @@ +@echo off + +setlocal + +set SCRIPT_PATH=%~dp0 +set MSVC_VERSION=2022 +set MSVC_NUMBER=17 +set VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe +set /a _MSVC_RANGE_S=MSVC_NUMBER +set /a _MSVC_RANGE_E=MSVC_NUMBER+1 +for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -legacy -version [%_MSVC_RANGE_S%^,%_MSVC_RANGE_E%^) -property installationPath`) do ( + set VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat +) +set GENERATOR=proj + +call "%SCRIPT_PATH%_msvc_common.bat" +if %errorlevel% neq 0 pause & exit /b %errorlevel% + +pause & exit /b 0 diff --git a/Samples/D3D9/Demo/proj.d3d9.cmake/src/CubismDirectXRenderer.hpp b/Samples/D3D9/Demo/proj.d3d9.cmake/src/CubismDirectXRenderer.hpp index b4d1135f..0ce11aa9 100644 --- a/Samples/D3D9/Demo/proj.d3d9.cmake/src/CubismDirectXRenderer.hpp +++ b/Samples/D3D9/Demo/proj.d3d9.cmake/src/CubismDirectXRenderer.hpp @@ -93,7 +93,7 @@ class CubismDirectXRenderer */ bool CheckFullScreen(D3DFORMAT format, UINT width, UINT height); - const LPCSTR ClassName = "Cubism DirectX11 Sample"; + const LPCSTR ClassName = "Cubism DirectX9 Sample"; const csmInt32 BackBufferNum = 1; // バックバッファ枚数 enum LostStep diff --git a/Samples/D3D9/README.ja.md b/Samples/D3D9/README.ja.md new file mode 100644 index 00000000..f450e16e --- /dev/null +++ b/Samples/D3D9/README.ja.md @@ -0,0 +1,60 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Cubism Native Samples for DirectX 9.0c + +DirectX 9.0c で実装したアプリケーションのサンプル実装です。 + + +## 開発環境 + +| 開発キット | バージョン | +| --- | --- | +| [DirectX SDK] | 9.0c (June2010) | + +その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.ja.md) を参照してください。 + + +## ディレクトリ構造 + +``` +. +└─ Demo + └─ proj.d3d9.cmake # CMake project using DirectX 9.0c +``` + + +## Demo + +[Cubism Native Framework] の各機能を一通り利用したサンプルです。 + +全ての機能を利用するフルバージョンのサンプルと最小限の機能のみが備わったミニマムバージョンのサンプルの二通りがあります。 + +フルバージョンではモーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 +また、メニューボタンからモデルを切り替えることができます。 + +ミニマムバージョンでは単一のモデルの読み込み・表示、単一のモーションの再生、表情の設定、物理演算の設定などを行います。 +ポーズの切り替えやモデルの切り替えには対応していません。 + +[Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework + +このディレクトリ内に含まれるものは以下の通りです。 + +### proj.d3d9.cmake + +ソースファイルと CMake ファイル、及びバッチファイルが含まれます。 + +* `scripts/nmake_xxx.bat` を実行すると `build` ディレクトリに実行可能なアプリケーションが生成されます。 +* `scripts/proj_xxx.bat` を実行すると `build` ディレクトリにVisual Studioプロジェクトが生成されます。 +* これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 + +[DirectX SDK] を利用しているため、事前にインストールが必要です。 + +インストール時に `S1023` エラーが出た場合は、[マイクロソフトのサポート技術情報]を参考にしてください + +インストール時に SDK がインストールされたパスが環境変数 `DXSDK_DIR` が設定されます。 +ビルド時に環境変数未設定エラーが発生した場合は手動で上記の環境変数を設定してください。 + +[DirectX SDK]: https://www.microsoft.com/en-us/download/details.aspx?id=6812 +[マイクロソフトのサポート技術情報]: https://blogs.msdn.microsoft.com/windows_multimedia_jp/2013/09/05/kbdirectx-sdk diff --git a/Samples/D3D9/README.md b/Samples/D3D9/README.md index 0bc1551e..abddb012 100644 --- a/Samples/D3D9/README.md +++ b/Samples/D3D9/README.md @@ -1,18 +1,22 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + # Cubism Native Samples for DirectX 9.0c -DirectX 9.0c で実装したアプリケーションのサンプル実装です。 +This is a sample implementation of an application implemented with DirectX 9.0c. -## 開発環境 +## Development environment -| 開発キット | バージョン | +| Development kit | Version | | --- | --- | | [DirectX SDK] | 9.0c (June2010) | -その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.md) を参照してください。 +For other development environments and operation environments, see [README.md](/README.md) in the top directory. -## ディレクトリ構造 +## Directory structure ``` . @@ -23,34 +27,34 @@ DirectX 9.0c で実装したアプリケーションのサンプル実装です ## Demo -[Cubism Native Framework] の各機能を一通り利用したサンプルです。 +A sample that uses each function of [Cubism Native Framework]. -全ての機能を利用するフルバージョンのサンプルと最小限の機能のみが備わったミニマムバージョンのサンプルの二通りがあります。 +There are two types of samples: the full version that uses all the features, and the minimum version that has only minimal features. -フルバージョンではモーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 -また、メニューボタンからモデルを切り替えることができます。 +In the full version, you can play motions, set facial expressions, switch poses, set physics, etc. +You can also switch models from the menu button. -ミニマムバージョンでは単一のモデルの読み込み・表示、単一のモーションの再生、表情の設定、物理演算の設定などを行います。 -ポーズの切り替えやモデルの切り替えには対応していません。 +In the minimum version, you can load and display a single model, play a single motion, set facial expressions, set physics, etc. +Switching poses and models are not supported. [Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework -このディレクトリ内に含まれるものは以下の通りです。 +The items contained in this directory are as follows. ### proj.d3d9.cmake -ソースファイルと CMake ファイル、及びバッチファイルが含まれます。 +Contains source files, CMake files, and batch files. -* `scripts/nmake_xxx.bat` を実行すると `build` ディレクトリに実行可能なアプリケーションが生成されます。 -* `scripts/proj_xxx.bat` を実行すると `build` ディレクトリにVisual Studioプロジェクトが生成されます。 -* これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 +* Running `scripts/nmake_xxx.bat` will generate an executable application in the `build` directory. +* Running `scripts/proj_xxx.bat` will generate a Visual Studio project in the `build` directory. +* When you run these scripts, you can choose to generate the full version or the minimum version of the sample. -[DirectX SDK] を利用しているため、事前にインストールが必要です。 +Since [DirectX SDK] is used, it needs to be installed in advance. -インストール時に `S1023` エラーが出た場合は、[マイクロソフトのサポート技術情報]を参考にしてください +If you get a `S1023` error during installation, see [Microsoft Knowledge Base]. -インストール時に SDK がインストールされたパスが環境変数 `DXSDK_DIR` が設定されます。 -ビルド時に環境変数未設定エラーが発生した場合は手動で上記の環境変数を設定してください。 +The environment variable `DXSDK_DIR` is set to the path where the SDK was installed during installation. +If an environment variable unset error occurs during build, set the above environment variable manually. [DirectX SDK]: https://www.microsoft.com/en-us/download/details.aspx?id=6812 -[マイクロソフトのサポート技術情報]: https://blogs.msdn.microsoft.com/windows_multimedia_jp/2013/09/05/kbdirectx-sdk +[Microsoft Knowledge Base]: https://blogs.msdn.microsoft.com/windows_multimedia_jp/2013/09/05/kbdirectx-sdk diff --git a/Samples/Metal/README.ja.md b/Samples/Metal/README.ja.md new file mode 100644 index 00000000..c9a2fd81 --- /dev/null +++ b/Samples/Metal/README.ja.md @@ -0,0 +1,82 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Cubism Native Samples for Metal + +Metal で実装したアプリケーションのサンプル実装です。 +制限事項があります、トップディレクトリにある [NOTICE.md](/NOTICE.ja.md) を参照してください。 + + +## 開発環境 + +| サードパーティ | バージョン | +| --- | --- | +| [ios-cmake] | 4.3.0 | +| [stb_image.h] | 2.27 | + +その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.ja.md) を参照してください。 + + +## ディレクトリ構造 + +``` +. +├─ Demo +│ └─ proj.ios.cmake # CMake project for iOS or Mac Catalyst +└─ thirdParty # Third party libraries and scripts +``` + + +## Demo + +[Cubism Native Framework] の各機能を一通り使用したサンプルです。 +モーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 +メニューボタンからモデルを切り替えることができます。 + +[Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework + +このディレクトリ内に含まれるものは以下の通りです。 + +### proj.ios.cmake + +iOS もしくは Mac Catalyst用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます。 + +スクリプト実行時にiOS用かMac Catalyst用か選択できます。 + +| スクリプト名 | 生成物 | +| --- | --- | +| `proj_xcode` | Xcode プロジェクト | + +Mac Catalyst用ビルド時は下記の手順を行なってください。 + +1. XCode の `Project設定 - TARGETS - Demo - General - Deployment Info` の `macOS` のチェックボックスをオンにしてください。 +2. XCode の `Project設定 - TARGETS - Demo` および `Framework` の `Build Settings - Architectures - Architectures` の記載を実行環境に合わせて変更してください。 +3. XCode の `Project設定 - TARGETS - Demo` および `Framework` の `Build Settings - Architectures - Base SDK` を `iOS` に変更してください。 +もしくはApple公式Tutorialsを参考ください。 +[turning-on-mac-catalyst]:https://developer.apple.com/tutorials/mac-catalyst/turning-on-mac-catalyst + + + +CMake のツールチェーンとして [ios-cmake] を使用しています。 +[thirdParty](README.md#thirdParty) の項目を参照して事前にダウンロードを行なってください。 + +[ios-cmake]: https://github.com/leetal/ios-cmake + + + +## thirdParty + +サンプルプロジェクトで使用するサードパーティライブラリと自動展開スクリプトが含まれます。 + +## ios-cmake のセットアップ + +`script` ディレクトリ内の `setup_ios_cmake` を実行することで ios-cmake のダウンロードを行います。 + +スクリプト内の `IOS_CMAKE_VERSION` を変更することで、ダウンロードするバージョンを変更できます。 + +[ios-cmake]: https://github.com/leetal/ios-cmake +[stb_image.h]: https://github.com/nothings/stb/blob/master/stb_image.h + diff --git a/Samples/Metal/README.md b/Samples/Metal/README.md index 61d340b8..40d9dd2f 100644 --- a/Samples/Metal/README.md +++ b/Samples/Metal/README.md @@ -1,20 +1,24 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + # Cubism Native Samples for Metal -Metal で実装したアプリケーションのサンプル実装です。 -制限事項があります、トップディレクトリにある [NOTICE.md](/NOTICE.md) を参照してください。 +This is a sample implementation of an application implemented with Metal. +There are restrictions. Please check [NOTICE.md](/NOTICE.md) in the top directory. -## 開発環境 +## Development environment -| サードパーティ | バージョン | +| Third Party | Version | | --- | --- | -| [ios-cmake] | 4.2.0 | +| [ios-cmake] | 4.3.0 | | [stb_image.h] | 2.27 | -その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.md) を参照してください。 +For other development environments and operation environments, see [README.md](/README.md) in the top directory. -## ディレクトリ構造 +## Directory structure ``` . @@ -26,38 +30,37 @@ Metal で実装したアプリケーションのサンプル実装です。 ## Demo -[Cubism Native Framework] の各機能を一通り使用したサンプルです。 -モーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 -メニューボタンからモデルを切り替えることができます。 +A sample that uses each function of [Cubism Native Framework]. +You can play motions, set facial expressions, switch poses, set physics, etc. +You can switch models from the menu button. [Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework -このディレクトリ内に含まれるものは以下の通りです。 +The items contained in this directory are as follows. ### proj.ios.cmake -iOS もしくは Mac Catalyst用の CMake プロジェクトです。 +CMake project for iOS or Mac Catalyst. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます。 +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -スクリプト実行時にiOS用かMac Catalyst用か選択できます。 +You can choose between iOS and Mac Catalyst when running the script. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `proj_xcode` | Xcode プロジェクト | +| `proj_xcode` | Xcode project | -Mac Catalyst用ビルド時は下記の手順を行なってください。 +Follow the steps below when building for Mac Catalyst. -1. XCode の `Project設定 - TARGETS - Demo - General - Deployment Info` の `macOS` のチェックボックスをオンにしてください。 -2. XCode の `Project設定 - TARGETS - Demo` および `Framework` の `Build Settings - Architectures - Architectures` の記載を実行環境に合わせて変更してください。 -3. XCode の `Project設定 - TARGETS - Demo` および `Framework` の `Build Settings - Architectures - Base SDK` を `iOS` に変更してください。 -もしくはApple公式Tutorialsを参考ください。 -[turning-on-mac-catalyst]:https://developer.apple.com/tutorials/mac-catalyst/turning-on-mac-catalyst +1. Check the box for `macOS` in XCode's `Project Settings - TARGETS - Demo - General - Deployment Info`. +2. Change the description of XCode's `Project Settings - TARGETS - Demo` and `Framework`'s `Build Settings - Architectures - Architectures` according to the execution environment. +3. Change XCode's `Project Settings - TARGETS - Demo` and `Framework`'s `Build Settings - Architectures - Base SDK` to `iOS`, or refer to the Apple official tutorials. +[turning-on-mac-catalyst]: https://developer.apple.com/tutorials/mac-catalyst/turning-on-mac-catalyst -CMake のツールチェーンとして [ios-cmake] を使用しています。 -[thirdParty](README.md#thirdParty) の項目を参照して事前にダウンロードを行なってください。 +[ios-cmake] is used as a toolchain for CMake. +Please refer to the [thirdParty](README.md#thirdParty) section and download in advance. [ios-cmake]: https://github.com/leetal/ios-cmake @@ -65,14 +68,13 @@ CMake のツールチェーンとして [ios-cmake] を使用しています。 ## thirdParty -サンプルプロジェクトで使用するサードパーティライブラリと自動展開スクリプトが含まれます。 +Contains third-party libraries and auto-deployment scripts used in the sample project. -## ios-cmake のセットアップ +## ios-cmake setup -`script` ディレクトリ内の `setup_ios_cmake` を実行することで ios-cmake のダウンロードを行います。 +Download ios-cmake by running `setup_ios_cmake` in the `script` directory. -スクリプト内の `IOS_CMAKE_VERSION` を変更することで、ダウンロードするバージョンを変更できます。 +You can change the version to download by changing `IOS_CMAKE_VERSION` in the script. [ios-cmake]: https://github.com/leetal/ios-cmake [stb_image.h]: https://github.com/nothings/stb/blob/master/stb_image.h - diff --git a/Samples/OpenGL/Demo/proj.win.cmake/CMakeLists.txt b/Samples/OpenGL/Demo/proj.win.cmake/CMakeLists.txt index 17947027..68bed6db 100644 --- a/Samples/OpenGL/Demo/proj.win.cmake/CMakeLists.txt +++ b/Samples/OpenGL/Demo/proj.win.cmake/CMakeLists.txt @@ -66,6 +66,9 @@ elseif(MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1920) elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930) # Visual Studio 2019 set(COMPILER 142) +elseif(MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940) + # Visual Studio 2022 + set(COMPILER 143) elseif(MSVC) message(FATAL_ERROR "[${APP_NAME}] Unsupported Visual C++ compiler used.") else() diff --git a/Samples/OpenGL/Demo/proj.win.cmake/scripts/nmake_msvc2022.bat b/Samples/OpenGL/Demo/proj.win.cmake/scripts/nmake_msvc2022.bat new file mode 100644 index 00000000..bc6e1282 --- /dev/null +++ b/Samples/OpenGL/Demo/proj.win.cmake/scripts/nmake_msvc2022.bat @@ -0,0 +1,19 @@ +@echo off + +setlocal + +set SCRIPT_PATH=%~dp0 +set MSVC_VERSION=2022 +set MSVC_NUMBER=17 +set VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe +set /a _MSVC_RANGE_S=MSVC_NUMBER +set /a _MSVC_RANGE_E=MSVC_NUMBER+1 +for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -legacy -version [%_MSVC_RANGE_S%^,%_MSVC_RANGE_E%^) -property installationPath`) do ( + set VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat +) +set GENERATOR=nmake + +call "%SCRIPT_PATH%_msvc_common.bat" +if %errorlevel% neq 0 pause & exit /b %errorlevel% + +pause & exit /b 0 diff --git a/Samples/OpenGL/Demo/proj.win.cmake/scripts/proj_msvc2022.bat b/Samples/OpenGL/Demo/proj.win.cmake/scripts/proj_msvc2022.bat new file mode 100644 index 00000000..01031f47 --- /dev/null +++ b/Samples/OpenGL/Demo/proj.win.cmake/scripts/proj_msvc2022.bat @@ -0,0 +1,19 @@ +@echo off + +setlocal + +set SCRIPT_PATH=%~dp0 +set MSVC_VERSION=2022 +set MSVC_NUMBER=17 +set VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe +set /a _MSVC_RANGE_S=MSVC_NUMBER +set /a _MSVC_RANGE_E=MSVC_NUMBER+1 +for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -legacy -version [%_MSVC_RANGE_S%^,%_MSVC_RANGE_E%^) -property installationPath`) do ( + set VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat +) +set GENERATOR=proj + +call "%SCRIPT_PATH%_msvc_common.bat" +if %errorlevel% neq 0 pause & exit /b %errorlevel% + +pause & exit /b 0 diff --git a/Samples/OpenGL/README.ja.md b/Samples/OpenGL/README.ja.md new file mode 100644 index 00000000..b18b80c5 --- /dev/null +++ b/Samples/OpenGL/README.ja.md @@ -0,0 +1,160 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Cubism Native Samples for OpenGL + +OpenGL で実装したアプリケーションのサンプル実装です。 + + +## 開発環境 + +| サードパーティ | バージョン | +| --- | --- | +| [GLEW] | 2.2.0 | +| [GLFW] | 3.3.8 | +| [ios-cmake] | 4.3.0 | +| [stb_image.h] | 2.27 | + +その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.ja.md) を参照してください。 + + +## ディレクトリ構造 + +``` +. +├─ Demo +│ ├─ proj.android.cmake +│ │ ├─Full # Full Demo Android Studio project +│ │ └─Minimum # Minimum Demo Android Studio project +│ ├─ proj.ios.cmake # CMake project for iOS +│ ├─ proj.linux.cmake # CMake project for Linux +│ ├─ proj.mac.cmake # CMake project for macOS +│ └─ proj.win.cmake # CMake project for Windows +└─ thirdParty # Third party libraries and scripts +``` + + +## Demo + +[Cubism Native Framework] の各機能を一通り使用したサンプルです。 + +全ての機能を利用するフルバージョンのサンプルと、最小限の機能のみが備わったミニマムバージョンのサンプルの二通りがあります。 +選択方法については各プラットフォームの項目を参照してください。 + +その他のプラットフォーム向けのサンプルはフルバージョンのみが利用できます。 + +フルバージョンではモーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 +また、メニューボタンからモデルを切り替えることができます。 + +ミニマムバージョンでは単一のモデルの読み込み・表示、単一のモーションの再生、表情の設定、物理演算の設定などを行います。 +ポーズの切り替えやモデルの切り替えには対応していません。 + +[Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework + +このディレクトリ内に含まれるものは以下の通りです。 + +### proj.android.cmake + +このディレクトリにはフルバージョンとミニマムバージョンの二通りの Android Studio プロジェクトが含まれます。 + +NOTE: 事前に下記の SDK のダウンロードが必要です + +* Android SDK Build-Tools +* NDK +* CMake + +### proj.ios.cmake + +iOS 用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `proj_xcode` | Xcode プロジェクト | + +これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 + +CMake のツールチェーンとして [ios-cmake] を使用しています。 +[thirdParty](#thirdParty) の項目を参照して事前にダウンロードを行なってください。 + +[ios-cmake]: https://github.com/leetal/ios-cmake + +### proj.linux.cmake + +Linux 用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `make_gcc` | 実行可能なアプリケーション | + +これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 + +追加ライブラリとして [GLEW] と [GLFW] を使用しています。 +[thirdParty](#thirdParty) の項目を参照して事前にダウンロードを行なってください。 + +### proj.mac.cmake + +macOS 用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `make_xcode` | 実行可能なアプリケーション | +| `proj_xcode` | Xcode プロジェクト | + +これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 + +追加ライブラリとして [GLEW] と [GLFW] を使用しています。 +[thirdParty](#thirdParty) の項目を参照して事前にダウンロードを行なってください。 + +### proj.win.cmake + +Windows 用の CMake プロジェクトです。 + +`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます + +| スクリプト名 | 生成物 | +| --- | --- | +| `nmake_msvcXXXX.bat` | 実行可能なアプリケーション | +| `proj_msvcXXXX.bat` | Visual Studio プロジェクト | + +これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 + +追加ライブラリとして [GLEW] と [GLFW] を使用しています。 +[thirdParty](#thirdParty) の項目を参照して事前にダウンロードを行なってください。 + +## thirdParty + +サンプルプロジェクトで使用するサードパーティライブラリと自動展開スクリプトが含まれます。 + +### GLEW / GLFW のセットアップ + +`script` ディレクトリ内のスクリプトを実行することで GLEW と GLFW のダウンロードを行います。 + +| プラットフォーム | スクリプト名 | +| --- | --- | +| Linux *1 / macOS | `setup_glew_glfw` | +| Windows *2 | `setup_glew_glfw.bat` | + +スクリプト内の `GLEW_VERSION` 及び `GLFW_VERSION` を変更することで、ダウンロードするバージョンを変更できます。 + +*1 Linuxでは GLFW が依存するライブラリのインストールが必要になる場合がございますので、公式ページを参考に依存関係にあるライブラリをすべてインストールしてください。 +[GLFW.org Dependencies for X11 on Unix-like systems](https://www.glfw.org/docs/latest/compile_guide.html#compile_deps_x11) +*2 `Visual Studio 2013` をご利用の際、追加対応が必要となる場合がございます。 +詳しくは [NOTICE.md](/NOTICE.ja.md) をご確認ください。 + +## ios-cmake のセットアップ + +`script` ディレクトリ内の `setup_ios_cmake` を実行することで ios-cmake のダウンロードを行います。 + +スクリプト内の `IOS_CMAKE_VERSION` を変更することで、ダウンロードするバージョンを変更できます。 + +[GLEW]: https://github.com/nigels-com/glew +[GLFW]: https://github.com/glfw/glfw +[ios-cmake]: https://github.com/leetal/ios-cmake +[stb_image.h]: https://github.com/nothings/stb/blob/master/stb_image.h diff --git a/Samples/OpenGL/README.md b/Samples/OpenGL/README.md index 407ad566..73f79749 100644 --- a/Samples/OpenGL/README.md +++ b/Samples/OpenGL/README.md @@ -1,21 +1,25 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + # Cubism Native Samples for OpenGL -OpenGL で実装したアプリケーションのサンプル実装です。 +This is a sample implementation of an application implemented with OpenGL. -## 開発環境 +## Development environment -| サードパーティ | バージョン | +| Third Party | Version | | --- | --- | | [GLEW] | 2.2.0 | -| [GLFW] | 3.3.6 | -| [ios-cmake] | 4.2.0 | +| [GLFW] | 3.3.8 | +| [ios-cmake] | 4.3.0 | | [stb_image.h] | 2.27 | -その他の開発環境・動作確認環境はトップディレクトリにある [README.md](/README.md) を参照してください。 +For other development environments and operation environments, see [README.md](/README.md) in the top directory. -## ディレクトリ構造 +## Directory structure ``` . @@ -33,28 +37,28 @@ OpenGL で実装したアプリケーションのサンプル実装です。 ## Demo -[Cubism Native Framework] の各機能を一通り使用したサンプルです。 +A sample that uses each function of [Cubism Native Framework]. -全ての機能を利用するフルバージョンのサンプルと、最小限の機能のみが備わったミニマムバージョンのサンプルの二通りがあります。 -選択方法については各プラットフォームの項目を参照してください。 +There are two types of samples: the full version that uses all the features, and the minimum version that has only minimal features. +Please refer to the sections of each platform for the selection method. -その他のプラットフォーム向けのサンプルはフルバージョンのみが利用できます。 +Samples for other platforms are only available in the full version. -フルバージョンではモーションの再生、表情の設定、ポーズの切り替え、物理演算の設定などを行います。 -また、メニューボタンからモデルを切り替えることができます。 +In the full version, you can play motions, set facial expressions, switch poses, set physics, etc. +You can also switch models from the menu button. -ミニマムバージョンでは単一のモデルの読み込み・表示、単一のモーションの再生、表情の設定、物理演算の設定などを行います。 -ポーズの切り替えやモデルの切り替えには対応していません。 +In the minimum version, you can load and display a single model, play a single motion, set facial expressions, set physics, etc. +Switching poses and models are not supported. [Cubism Native Framework]: https://github.com/Live2D/CubismNativeFramework -このディレクトリ内に含まれるものは以下の通りです。 +The items contained in this directory are as follows. ### proj.android.cmake -このディレクトリにはフルバージョンとミニマムバージョンの二通りの Android Studio プロジェクトが含まれます。 +This directory contains two Android Studio projects: the full version and the minimum version. -NOTE: 事前に下記の SDK のダウンロードが必要です +NOTE: You need to download the following SDKs in advance. * Android SDK Build-Tools * NDK @@ -62,91 +66,93 @@ NOTE: 事前に下記の SDK のダウンロードが必要です ### proj.ios.cmake -iOS 用の CMake プロジェクトです。 +CMake project for iOS. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `proj_xcode` | Xcode プロジェクト | +| `proj_xcode` | Xcode project | -これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 +When you run these scripts, you can choose to generate the full version or the minimum version of the sample. -CMake のツールチェーンとして [ios-cmake] を使用しています。 -[thirdParty](README.md#thirdParty) の項目を参照して事前にダウンロードを行なってください。 +[ios-cmake] is used as a toolchain for CMake. +Please refer to the [thirdParty](#thirdParty) section and download in advance. [ios-cmake]: https://github.com/leetal/ios-cmake ### proj.linux.cmake -Linux 用の CMake プロジェクトです。 +CMake project for Linux. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `make_gcc` | 実行可能なアプリケーション | +| `make_gcc` | Executable application | -これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 +When you run these scripts, you can choose to generate the full version or the minimum version of the sample. -追加ライブラリとして [GLEW] と [GLFW] を使用しています。 -[thirdParty](README.md#thirdParty) の項目を参照して事前にダウンロードを行なってください。 +[GLEW] and [GLFW] are used as additional libraries. +Please refer to the [thirdParty](#thirdParty) section and download in advance. ### proj.mac.cmake -macOS 用の CMake プロジェクトです。 +CMake project for macOS. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `make_xcode` | 実行可能なアプリケーション | -| `proj_xcode` | Xcode プロジェクト | +| `make_xcode` | Executable application | +| `proj_xcode` | Xcode project | -これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 +When you run these scripts, you can choose to generate the full version or the minimum version of the sample. -追加ライブラリとして [GLEW] と [GLFW] を使用しています。 -[thirdParty](README.md#thirdParty) の項目を参照して事前にダウンロードを行なってください。 +[GLEW] and [GLFW] are used as additional libraries. +Please refer to the [thirdParty](#thirdParty) section and download in advance. ### proj.win.cmake -Windows 用の CMake プロジェクトです。 +CMake project for Windows. -`script` ディレクトリのスクリプトを実行すると `build` ディレクトリに CMake 成果物が生成されます +Running the script in the `script` directory will generate a CMake deliverable in the `build` directory. -| スクリプト名 | 生成物 | +| Script name | Product | | --- | --- | -| `nmake_msvcXXXX.bat` | 実行可能なアプリケーション | -| `proj_msvcXXXX.bat` | Visual Studio プロジェクト | +| `nmake_msvcXXXX.bat` | Executable application | +| `proj_msvcXXXX.bat` | Visual Studio project | -これらのスクリプトを実行した際にフルバージョンのサンプルを生成するか、ミニマムバージョンのサンプルを生成するかを選択することができます。 +When you run these scripts, you can choose to generate the full version or the minimum version of the sample. -追加ライブラリとして [GLEW] と [GLFW] を使用しています。 -[thirdParty](README.md#thirdParty) の項目を参照して事前にダウンロードを行なってください。 +[GLEW] and [GLFW] are used as additional libraries. +Please refer to the [thirdParty](#thirdParty) section and download in advance. ## thirdParty -サンプルプロジェクトで使用するサードパーティライブラリと自動展開スクリプトが含まれます。 +Contains third-party libraries and auto-deployment scripts used in the sample project. -### GLEW / GLFW のセットアップ +### GLEW / GLFW setup -`script` ディレクトリ内のスクリプトを実行することで GLEW と GLFW のダウンロードを行います。 +Download GLEW and GLFW by running the script in the `script` directory. -| プラットフォーム | スクリプト名 | +| Platform | Script name | | --- | --- | -| Linux / macOS | `setup_glew_glfw` | -| Windows | `setup_glew_glfw.bat` | +| Linux *1 / macOS | `setup_glew_glfw` | +| Windows *2 | `setup_glew_glfw.bat` | -スクリプト内の `GLEW_VERSION` 及び `GLFW_VERSION` を変更することで、ダウンロードするバージョンを変更できます。 +You can change the version to download by changing `GLEW_VERSION` and `GLFW_VERSION` in the script. -NOTE: `Visual Studio 2013` をご利用の際、追加対応が必要となる場合がございます。 -詳しくは [NOTICE](NOTICE.md) をご確認ください。 +*1 On Linux, it may be necessary to install libraries on which GLFW depends. Please refer to the official page to install all libraries on which GLFW depends. +[GLFW.org Dependencies for X11 on Unix-like systems](https://www.glfw.org/docs/latest/compile_guide.html#compile_deps_x11) +*2 Additional support may be required when using `Visual Studio 2013`. +See [NOTICE.md](/NOTICE.md) for details. -## ios-cmake のセットアップ +## ios-cmake setup -`script` ディレクトリ内の `setup_ios_cmake` を実行することで ios-cmake のダウンロードを行います。 +Download ios-cmake by running `setup_ios_cmake` in the `script` directory. -スクリプト内の `IOS_CMAKE_VERSION` を変更することで、ダウンロードするバージョンを変更できます。 +You can change the version to download by changing `IOS_CMAKE_VERSION` in the script. [GLEW]: https://github.com/nigels-com/glew [GLFW]: https://github.com/glfw/glfw diff --git a/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw b/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw index a4e394b4..c23ebe7b 100644 --- a/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw +++ b/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw @@ -3,7 +3,7 @@ set -ue GLEW_VERSION=2.2.0 -GLFW_VERSION=3.3.6 +GLFW_VERSION=3.3.8 SCRIPT_PATH=$(cd $(dirname $0) && pwd) diff --git a/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw.bat b/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw.bat index 29ff5ee8..679bc872 100644 --- a/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw.bat +++ b/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw.bat @@ -1,7 +1,7 @@ @echo off set GLEW_VERSION=2.2.0 -set GLFW_VERSION=3.3.6 +set GLFW_VERSION=3.3.8 set SCRIPT_PATH=%~dp0 diff --git a/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw_vs2013.bat b/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw_vs2013.bat index a52927cf..376d1c62 100644 --- a/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw_vs2013.bat +++ b/Samples/OpenGL/thirdParty/scripts/setup_glew_glfw_vs2013.bat @@ -1,7 +1,7 @@ @echo off set GLEW_VERSION=2.1.0 -set GLFW_VERSION=3.3.6 +set GLFW_VERSION=3.3.8 set SCRIPT_PATH=%~dp0 diff --git a/Samples/OpenGL/thirdParty/scripts/setup_ios_cmake b/Samples/OpenGL/thirdParty/scripts/setup_ios_cmake index 4b4682cb..58dac88d 100644 --- a/Samples/OpenGL/thirdParty/scripts/setup_ios_cmake +++ b/Samples/OpenGL/thirdParty/scripts/setup_ios_cmake @@ -2,7 +2,7 @@ set -ue -IOS_CMAKE_VERSION=4.2.0 +IOS_CMAKE_VERSION=4.3.0 SCRIPT_PATH=$(cd $(dirname $0) && pwd)