Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
luboslenco committed Jan 17, 2024
1 parent 9c22c1c commit 87ddd9c
Showing 1 changed file with 19 additions and 40 deletions.
59 changes: 19 additions & 40 deletions README.md
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
```

0 comments on commit 87ddd9c

Please sign in to comment.