Skip to content

armory3d/armorpaint

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
October 4, 2022 18:12
January 27, 2023 15:11
January 21, 2023 12:20
January 27, 2023 15:11
January 27, 2023 17:23
August 20, 2019 10:45
December 11, 2020 17:12
March 31, 2021 23:39
May 26, 2019 15:39
December 9, 2019 00:28
May 30, 2022 16:47
May 30, 2022 16:47
January 27, 2023 15:11
March 9, 2022 17:37

armorpaint

ArmorPaint is a software for 3D PBR texture painting - check out the manual.

Note 1: This repository is aimed at developers and may not be stable. Distributed binaries are paid 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!

Note 2: If you are compiling git version of ArmorPaint, then you need to have a compiler (Visual Studio - Windows, clang + deps - Linux, Xcode - macOS / iOS, Android Studio - Android) and git installed.

git clone --recursive https://github.com/armory3d/armorpaint
cd armorpaint

Windows

# Unpack `armorcore\v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB)
armorcore\Kinc\make --from armorcore -g direct3d11
# Open generated Visual Studio project at `build\ArmorPaint.sln`
# Build and run for x64 & release
# Copy build\x64\Release\ArmorPaint.exe to build\krom to run ArmorPaint.exe directly

Linux

armorcore/Kinc/make --from armorcore -g opengl --compiler clang --compile
cd armorcore/Deployment
strip ArmorPaint
./ArmorPaint ../../build/krom

macOS

armorcore/Kinc/make --from armorcore -g metal
cp -a build/krom/ armorcore/Deployment
# Open generated Xcode project at `build/ArmorPaint.xcodeproj`
# Build and run

Android wip

git apply armorcore/patch/android_document_picker.diff --directory=armorcore/Kinc
armorcore/Kinc/make --from armorcore -g opengl android
cp -r build/krom/* build/ArmorPaint/app/src/main/assets/
# Manual tweaking is required for now:
# https://github.com/armory3d/armorcore/blob/master/kfile.js#L136
# Open generated Android Studio project at `build/ArmorPaint`
# Build for device

iOS wip

git clone https://github.com/armory3d/armorpaint_plugins Libraries/plugins
git apply armorcore/patch/ios_document_picker.diff --directory=armorcore/Kinc
armorcore/Kinc/make --from armorcore -g metal ios
cp -a build/krom/ armorcore/Deployment
# Open generated Xcode project `build/ArmorPaint.xcodeproj`
# Set iOS Deployment Target to 14.0
# Build for device in release mode

Windows DXR wip

# Unpack `armorcore\v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB)
git apply armorcore/patch/d3d12_raytrace.diff --directory=armorcore/Kinc
armorcore\Kinc\make --from armorcore -g direct3d12
# Open generated Visual Studio project at `build\ArmorPaint.sln`
# Build and run for x64 & release
# Copy build\x64\Release\ArmorPaint.exe to build\krom to run ArmorPaint.exe directly

Linux VKRT wip

git clone --recursive https://github.com/armory3d/glsl_to_spirv armorcore/Libraries/glsl_to_spirv
git apply armorcore/patch/vulkan_raytrace.diff --directory=armorcore/Kinc
armorcore/Kinc/make --from armorcore -g vulkan --compiler clang --compile
cd armorcore/Deployment
strip ArmorPaint
./ArmorPaint ../../build/krom

Windows VR wip

# Unpack `armorcore\v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB)
armorcore\Kinc\make --from armorcore -g direct3d11 --vr oculus
# Open generated Visual Studio project at `build\ArmorPaint.sln`
# Build and run for x64 & release
# Copy build\x64\Release\ArmorPaint.exe to build\krom to run ArmorPaint.exe directly

Updating cloned repository

git pull origin main
git submodule update --init --recursive
# Delete `armorpaint/build` directory if present

Generating a locale file

pip install typing_extensions -t Assets/locale/tools
python ./Assets/locale/tools/extract_locales.py <locale code>
# Generates an `Assets/locale/<locale code>.json` file

Release builds Optional, used for best performance

# Compile krom.js using the closure compiler
https://developers.google.com/closure/compiler
# Generate a v8 snapshot file
export ARM_SNAPSHOT=1
armorcore/Kinc/make --from armorcore -g api
./ArmorPaint . --snapshot
# Generates a `krom.bin` file from `krom.js` file