2018-11-07 15:52:34 +01:00

armorpaint
==============
2020-01-11 23:15:51 +01:00
[ArmorPaint ](https://armorpaint.org ) is a software for 3D PBR texture painting - check out the [manual ](https://armorpaint.org/manual ).
2018-11-07 15:52:34 +01:00
2019-05-03 11:47:30 +02:00
*Note 1: This repository is aimed at developers and may not be stable. Distributed binaries are currently [paid](https://armorpaint.org/download) to help with the project funding. All of the development is happening here in order to make it accessible to everyone. Thank you for support!*
2018-11-07 15:52:34 +01:00
2020-09-21 13:35:10 +02:00
*Note 2: If you are compiling git version of ArmorPaint, then you need to have a compiler ([Visual Studio](https://visualstudio.microsoft.com/downloads/) - Windows, [clang](https://clang.llvm.org/get_started.html) + [deps](https://github.com/armory3d/armorpaint/wiki/Linux-Dependencies) - Linux, [Xcode](https://developer.apple.com/xcode/resources/) - macOS / iOS, [Android Studio](https://developer.android.com/studio) - Android), [nodejs](https://nodejs.org/en/download/) and [git](https://git-scm.com/downloads) installed.*
2020-10-22 19:24:53 +02:00
2019-05-26 12:30:39 +02:00
```bash
git clone --recursive https://github.com/armory3d/armorpaint
cd armorpaint
```
2020-10-22 19:24:53 +02:00
**Windows**
2019-05-26 12:30:39 +02:00
```bash
2020-08-15 15:03:16 +02:00
node armorcore/make -g direct3d11
cd armorcore
2020-04-08 12:14:49 +02:00
# Unpack `v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB)
2020-06-24 13:13:51 +02:00
git apply patch/window_handling.diff --directory= Kinc
2019-09-19 20:20:06 +02:00
node Kinc/make -g direct3d11
2019-05-26 12:30:39 +02:00
# Open generated Visual Studio project
2020-01-14 15:56:34 +01:00
# Set `Project - Properties - Debugging - Command Arguments` to `..\..\build\krom`
2019-05-26 12:30:39 +02:00
# Build for x64 & release
```
2020-10-22 19:24:53 +02:00
**Linux**
2019-05-26 12:30:39 +02:00
```bash
2020-08-15 15:03:16 +02:00
node armorcore/make -g opengl
cd armorcore
2019-09-19 20:20:06 +02:00
node Kinc/make -g opengl --compiler clang --compile
2019-05-26 12:30:39 +02:00
cd Deployment
strip Krom
./Krom ../../build/krom
```
2020-10-22 19:24:53 +02:00
**macOS**
2019-05-26 12:30:39 +02:00
```bash
2020-08-15 15:03:16 +02:00
node armorcore/make -g metal
cp -a build/krom/ armorcore/Deployment
cd armorcore
2020-09-28 17:05:01 +02:00
git apply patch/metal_depth.diff --directory= Kinc
2020-05-14 16:48:33 +02:00
node Kinc/make -g metal
2020-05-07 13:56:28 +02:00
# Open generated Xcode project
2019-05-26 12:30:39 +02:00
# Build
```
2020-10-22 19:24:53 +02:00
**Android** *wip*
2019-10-10 14:33:28 +02:00
```bash
2020-08-15 15:03:16 +02:00
node armorcore/make android -g opengl --shaderversion 300
cp -r build/krom/ armorcore/build/Krom/app/src/main/assets/
cd armorcore
2020-05-09 19:35:46 +02:00
node Kinc/make android -g opengl
2020-03-06 19:21:43 +01:00
# Manual tweaking is required for now:
2020-08-15 15:03:16 +02:00
# https://github.com/armory3d/armorcore/blob/master/kincfile.js#L68
2020-03-06 19:21:43 +01:00
# Open generated Android Studio project
# Build for device
```
2020-10-22 19:24:53 +02:00
**iOS** *wip*
2020-03-06 19:21:43 +01:00
```bash
2020-08-15 15:03:16 +02:00
node armorcore/make ios -g metal
cp -a build/krom/ armorcore/Deployment
cd armorcore
2020-06-30 19:31:32 +02:00
git apply patch/ios_document_picker.diff --directory= Kinc
2020-09-28 17:05:01 +02:00
git apply patch/metal_depth.diff --directory= Kinc
2020-05-14 16:48:33 +02:00
node Kinc/make ios -g metal
2020-03-06 19:21:43 +01:00
# Open generated Xcode project
# Build for device
```
2020-10-22 19:24:53 +02:00
**Windows DXR** *wip*
2020-03-06 19:21:43 +01:00
```bash
2020-08-15 15:03:16 +02:00
node armorcore/make -g direct3d12
cd armorcore
2020-05-09 19:23:22 +02:00
# Unpack `v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB)
2020-06-24 13:13:51 +02:00
git apply patch/window_handling.diff --directory= Kinc
git apply patch/d3d12_raytrace.diff --directory= Kinc
2020-07-09 10:21:01 +02:00
git apply patch/d3d12_wrap_sampler.diff --directory= Kinc
2020-05-09 19:23:22 +02:00
node Kinc/make -g direct3d12 --raytrace dxr
# Open generated Visual Studio project
# Set `Project - Properties - Debugging - Command Arguments` to `..\..\build\krom`
# Build for x64 & release
```
2020-10-22 19:24:53 +02:00
**Linux VKRT** *wip*
2020-05-09 19:23:22 +02:00
```bash
2020-08-15 15:03:16 +02:00
node armorcore/make -g vulkan
cd armorcore
2020-08-12 23:24:04 +02:00
git apply patch/vulkan_raytrace.diff --directory= Kinc
2020-08-21 10:59:36 +02:00
git clone --recursive https://github.com/Kode/krafix Libraries/krafix
2020-08-05 19:26:14 +02:00
node Kinc/make -g vulkan --raytrace vkrt --compiler clang --compile
cd Deployment
strip Krom
./Krom ../../build/krom
```
2020-10-22 19:24:53 +02:00
**Windows VR** *wip*
2020-08-05 19:26:14 +02:00
```bash
2020-08-15 15:03:16 +02:00
node armorcore/make -g direct3d11 --vr oculus
cd armorcore
2020-08-07 15:22:56 +02:00
# Unpack `v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB)
git apply patch/window_handling.diff --directory= Kinc
node Kinc/make -g direct3d11 --vr oculus
# Open generated Visual Studio project
# Set `Project - Properties - Debugging - Command Arguments` to `..\..\build\krom`
# Build for x64 & release
```
2020-10-22 19:24:53 +02:00
**Updating cloned repository**
2020-08-07 15:22:56 +02:00
```bash
2019-10-10 14:33:28 +02:00
git pull origin master
git submodule update --init --recursive
2020-09-08 23:15:17 +02:00
# Delete `armorpaint/build` directory if present
2019-10-10 14:33:28 +02:00
```
2020-10-22 19:24:53 +02:00
2020-11-03 15:19:41 +01:00
**Generating a v8 snapshot file**
```bash
./Krom . . --snapshot
# Generates a `krom.bin` file
```
**Generating a locale file**
2020-06-25 01:37:07 +09:00
```bash
pip install typing_extensions -t Assets/locale/tools
python ./Assets/locale/tools/extract_locales.py <locale code>
2020-11-03 15:19:41 +01:00
# Generates an `Assets/locale/<locale code>.json` file
2020-06-25 01:37:07 +09:00
```