Skip to content

This repository is a project for learning Vulkan API, constraint based 3D physics, Lua scripting, spatial sound rendering, HTML+CSS UI rendering.

Notifications You must be signed in to change notification settings

Goshido/android-vulkan

Repository files navigation

android-vulkan

Welcome to android-vulkan source code repository. This project was started as personal hobby. Main purpose of the project is learning and implementing the most recent programming techniques for robust 3D game engines on the Android mobile devices. Two years later the project goals were extended to 3D physics engine development, Lua embedded scripting language integration, spatial sound rendering and HTML5 + CSS rendering system for UI.


Introduction

android-vulkan is 3D engine framework. android-vulkan is dedicated to Vulkan API learning, 3D physics engine development, Lua embedded scripting language integration, spatial sound rendering and HTML5 + CSS rendering system for UI.

Documentation

Useful documentation is located here.

Quick start instructions

Requirements

Note desktop operating system requirements apply for builder machine only. In other words you can build, deploy and debug the project out of the box as soon as you are able to install proper Android Studio.

The canonical way is to use real Android device via USB connection. Android emulator is never tested and there are no plans to support it.

Pay attention that all 3rd party libraries already prebuild and project has all needed header files. You do not need to build them by yourself. Same applies to SPIR-V shader blobs and game assets.

Building manual

To begin, clone this repository onto your local drive.

Optional: Recompile project shaders to SPIR-V representation via DirectX Shader Compiler. See manual here.

Create and setup Android certificate. See manual here.

Next step is to compile project via Android Studio IDE as usual.

Controller support

XBOX ONE S controller is supported via Bluetooth connection. Other controllers are not tested.

About

This repository is a project for learning Vulkan API, constraint based 3D physics, Lua scripting, spatial sound rendering, HTML+CSS UI rendering.

Resources

Stars

Watchers

Forks