3D Content Creation Tools

#gamedev #haxe #tools

Lubos Lenco a06962ce8f Update submodules 4 years ago
.github b7481ae286 Update workflows 5 years ago
Assets 4f3bd2f055 Update and improve german locale 4 years ago
Libraries a06962ce8f Update submodules 4 years ago
Shaders ed0b8f89da Cleanup 4 years ago
Sources d415e5b4f6 Apply checkstyle 4 years ago
armorcore @ 1fa270e24c aa83de6112 Update submodules 4 years ago
.gitattributes 38514c673d Update git config 6 years ago
.gitignore f02e47fbfd Scaling with 3d gizmo 5 years ago
.gitmodules 1b7e131d92 Cleanup 4 years ago
LICENSE.md d90e637b84 Repository link 6 years ago
README.md ced73a02c5 Update readme 4 years ago
changes.md 22e8b00bad Plugin manager 6 years ago
checkstyle.json 4a16a82852 Apply checkstyle 6 years ago
khafile.js 396ed4f412 Move base assets to armorbase 4 years ago
kincflags.js 458238a4aa Add kincflags.js 4 years ago

README.md

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), nodejs and git installed.

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

Windows

node armorcore/make -g direct3d11
cd armorcore
# 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
# Open generated Visual Studio project at `build\ArmorPaint.sln`
# Build and run for x64 & release

Linux

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

macOS

node armorcore/make -g metal
cp -a build/krom/ armorcore/Deployment
cd armorcore
git apply patch/metal_depth.diff --directory=Kinc
node Kinc/make -g metal
# Open generated Xcode project at `build/ArmorPaint.xcodeproj`
# Build and run

Android wip

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

iOS wip

node armorcore/make ios -g metal
cp -a build/krom/ armorcore/Deployment
cd armorcore
git apply patch/ios_document_picker.diff --directory=Kinc
git apply patch/metal_depth.diff --directory=Kinc
node Kinc/make ios -g metal
# Open generated Xcode project `build/ArmorPaint.xcodeproj`
# Set iOS Deployment Target to 11.0
# Build for device in release mode

Windows DXR wip

node armorcore/make -g direct3d12
cd armorcore
# Unpack `v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB)
git apply patch/window_handling.diff --directory=Kinc
git apply patch/d3d12_raytrace.diff --directory=Kinc
git apply patch/d3d12_wrap_sampler.diff --directory=Kinc
node Kinc/make -g direct3d12 --raytrace dxr
# Open generated Visual Studio project at `build\ArmorPaint.sln`
# Build and run for x64 & release

Linux VKRT wip

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

Windows VR wip

node armorcore/make -g direct3d11 --vr oculus
cd armorcore
# 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 at `build\ArmorPaint.sln`
# Build and run for x64 & release

Updating cloned repository

git pull origin master
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
node armorcore/make -g api --snapshot
./ArmorPaint . --snapshot
# Generates a `krom.bin` file from `krom.js` file