-
Notifications
You must be signed in to change notification settings - Fork 32
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9c22c1c
commit 87ddd9c
Showing
1 changed file
with
19 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,48 @@ | ||
# armorcore | ||
|
||
3D engine core for C with embedded V8. ArmorCore is designed for the [Graphics5](https://github.com/Kode/Kinc/tree/master/Backends/Graphics5) api and targets Direct3D12, Vulkan, Metal and WebGPU. *(wip!)* | ||
3D engine core for C with JS scripting. JavaScript is executed via V8 or compiled ahead-of-time from TypeScript with Static Hermes. ArmorCore targets Direct3D12, Vulkan, Metal and WebGPU. Browser support is handled by compiling C sources into WebAssembly. | ||
|
||
Based on [Krom](https://github.com/Kode/Krom). Powered by [Kinc](https://github.com/Kode/Kinc). | ||
Powered by [Kinc](https://github.com/Kode/Kinc) - low-level hardware abstraction library. | ||
|
||
*(wip)* | ||
|
||
```bash | ||
git clone --recursive https://github.com/armory3d/armorcore | ||
cd armorcore | ||
``` | ||
|
||
**Windows** | ||
**Windows (x64)** | ||
```bash | ||
# Unpack `v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB) | ||
Kinc/make -g direct3d11 | ||
# Open generated Visual Studio project at `build\Krom.sln` | ||
Kinc/make -g direct3d12 | ||
# Open generated Visual Studio project at `build\Armory.sln` | ||
# Build for x64 & release | ||
``` | ||
|
||
**Linux** | ||
**Linux (x64)** | ||
```bash | ||
Kinc/make -g opengl --compiler clang --compile | ||
cd Deployment | ||
strip Krom | ||
Kinc/make -g vulkan --compiler clang --compile | ||
``` | ||
|
||
**macOS** | ||
**macOS (arm64)** | ||
```bash | ||
Kinc/make -g metal | ||
# Open generated Xcode project at `build/Krom.xcodeproj` | ||
# Open generated Xcode project at `build/Armory.xcodeproj` | ||
# Build | ||
``` | ||
|
||
**Android** *wip* | ||
**Android (arm64)** | ||
```bash | ||
Kinc/make -g opengl android | ||
Kinc/make -g vulkan android | ||
# Manual tweaking is required for now: | ||
# https://github.com/armory3d/armorcore/blob/master/kfile.js#L136 | ||
# Open generated Android Studio project at `build/Krom` | ||
# Build for device | ||
# https://github.com/armory3d/armorcore/blob/main/kfile.js#L134 | ||
# Open generated Android Studio project at `build/Armory` | ||
# Build | ||
``` | ||
|
||
**iOS** *wip* | ||
**iOS (arm64)** | ||
```bash | ||
Kinc/make -g metal ios | ||
# Open generated Xcode project at `build/Krom.xcodeproj` | ||
# Build for device | ||
``` | ||
|
||
**Windows DXR** *wip* | ||
```bash | ||
# Unpack `v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB) | ||
Kinc/make -g direct3d12 | ||
# Open generated Visual Studio project at `build\Krom.sln` | ||
# Build for x64 & release | ||
``` | ||
|
||
**Linux VKRT** *wip* | ||
```bash | ||
Kinc/make -g vulkan --compiler clang --compile | ||
cd Deployment | ||
strip Krom | ||
``` | ||
|
||
**Generating a v8 snapshot file** | ||
```bash | ||
./Krom . --snapshot | ||
# Generates a `krom.bin` file from `krom.js` file | ||
# Open generated Xcode project at `build/Armory.xcodeproj` | ||
# Build | ||
``` |