Upgrade to Cubism 5 Release R1.
[facial-landmarks-for-cubism.git] / README.md
index 345fe15..14117ab 100644 (file)
--- a/README.md
+++ b/README.md
@@ -29,12 +29,8 @@ The main advantage is a much lower CPU load.
 
 ## Supporting environments
 
-This library was developed and tested only on Ubuntu 18.04 using GCC 7.5.0.
-
-Currently it only supports Unix-like environments, as I am using
-`<sys/socket.h>` etc to communicate with OpenSeeFace. If there is demand
-for it, I can try to make it work on Windows as well (contributions
-welcome).
+This library was tested on Ubuntu 18.04 using GCC 7.5.0, and on
+Windows 10 using Visual Studio 2019.
 
 The library should only require C++11. The Cubism
 SDK requires C++14. I have made use of one C++17 library (`<filesystem>`)
@@ -48,6 +44,8 @@ if you don't have C++17 support.
 
 2. Install dependencies.
 
+   On Linux:
+
    You will require a recent C/C++ compiler, `make`, `patch`, and CMake >= 3.16. To compile the example
    program you will also require the OpenGL library (and its dev headers)
    among other libraries required for the example program. The libraries I
@@ -55,6 +53,12 @@ if you don't have C++17 support.
 
        libgl1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libglu1-mesa-dev
 
+   On Windows:
+
+   You will need a recent C/C++ compiler (I've tested Visual Studio 2019),
+   `patch`, CMake >= 3.16, and a `sh` shell (Git Bash works fine). I did not
+   need to install any other library, but I have not tested on a clean machine.
+
 3. Clone this repository
 
        git clone https://github.com/adrianiainlam/facial-landmarks-for-cubism.git
@@ -67,17 +71,17 @@ if you don't have C++17 support.
 
 To build the example program:
 
-5. Download "Cubism 4 SDK for Native R3" from the Live2D website:
+5. Download "Cubism 5 SDK for Native R1" from the Live2D website:
    <https://www.live2d.com/en/download/cubism-sdk/download-native/>.
 
-   Extract the archive -- put the "CubismSdkForNative-4-r.3" folder under
+   Extract the archive -- put the "CubismSdkForNative-5-r.1" folder under
    the "example" folder of this repo.
 
    Note: The Cubism SDK is the property of Live2D and is not part of this
    project. You must agree to Live2D's license agreements to use it.
 
 6. Go into the
-   "example/CubismSdkForNative-4-r.3/Samples/OpenGL/thirdParty/scripts"
+   "example/CubismSdkForNative-5-r.1/Samples/OpenGL/thirdParty/scripts"
    directory and run
 
        ./setup_glew_glfw
@@ -86,17 +90,24 @@ To build the example program:
 
        ./build.sh
 
+   On Linux, the build should be complete after running this script.
+   On Windows, you will also need to go into "./demo_build/scripts"
+   and run one of the scripts corresponding to your MSVC version.
+   The script will ask for your configurations. I've tried "1 2 1"
+   which works fine for me.
+
 8. Now try running the example program.
 
    First, (in a separate terminal) go to where you have downloaded
    OpenSeeFace, and run
 
-       ./python3 ./facetracker.py -v 4 --model 3 -M
+       python3 ./facetracker.py -v 4 --model 3 -M
 
    I tried models 3 and 4, and I think both work reasonably well.
    Please feel free to explore other options provided by OSF.
 
    Back to the original terminal, from the "example" directory:
+   (for Windows, replace "make_gcc" with your MSVC version)
 
        cd ./demo_build/build/make_gcc/bin/Demo/
        ./Demo
@@ -184,3 +195,4 @@ really have many environments / faces to test it on. Feel free to submit
 issues or pull requests on GitHub, or send questions or patches to me
 (see my email address above) if you prefer email. Thanks :)
 
+Special thanks to GitHub user @Arkueid for adding Windows support!