Skip to content
core-computingsPublic

About

Compute and Rendering Engine

Resources

Stars

12 stars

Watchers

0 watching

Forks

Latest commit

 

History

188 Commits

Folders and files

Repository files navigation

CORE: Compute and Open Rendering Engine

CI CI

CORE is a C++20 framework for GPU computing and rendering. It simplifies working with Vulkan, OpenCL, Metal, and OpenGL, with examples and tests for compute and graphics workloads. It provides higher-level abstractions over these GPU APIs to reduce boilerplate and make compute and rendering tasks easier to implement.

To get started with CORE, see CORE quickstart guide

For batched Vulkan buffer uploads and partial copies, see the buffer transfer guide.

For saving and reloading device-specific OpenCL programs, see the program binary guide.

For vertical-cross cubemap face layout and copy benchmarks, see the cubemap copy guide.

1. Supported Platforms

  • macOS: build and run locally.
  • Android (arm64-v8a): cross-compile on macOS and run on an Android device.

2. Install Dependencies

Ask your AI agent to follow docs/install_dependencies.md. For example:

Read docs/install_dependencies.md and prepare this machine to build CORE for macOS (or Android arm64-v8a). Check existing tools first, install missing dependencies, configure the environment, and verify the setup.

3. Build and Run

Run all commands from the repository root in the shell configured in step 2. Initialize submodules before the first build:

git submodule update --init --recursive

Before running the demos in examples/, sync their required data (such as models and textures). These data files are not stored in this repository; they are maintained separately in core_data. Run the sync script from the repository root to download the data into the corresponding local directories.

./scripts/sync_data.sh

The script requires Git LFS and SSH access to git@github.com:chuzcjoe/core_data.git. Run it again whenever you need to update the local data.

macOS

# Build libraries, examples, and tests.
./scripts/run.sh -t macos

# Run the Vulkan triangle example.
./build/macos/examples/vk_triangle_demo

# Build and run all module test suites.
./scripts/run.sh -t macos -r tests

More examples are available in examples/; macOS executables are built under build/macos/examples/.

Android

./scripts/run.sh -t arm64-v8a

To run tests, connect an Android device with USB debugging enabled and authorize it for adb:

adb devices
./scripts/run.sh -t arm64-v8a -r tests

About

Compute and Rendering Engine

Resources

Stars

12 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages