NVIDIA-Omniverse / kit-app-template

Omniverse Kit App Template
Other
85 stars 28 forks source link

Omniverse Kit App Template

:warning: BETA Release Information

This branch is for the Omniverse Kit 106 BETA. It includes BETA versions of the Kit SDK, associated development tools, and templates. For the latest stable release, see the 105.1 branch.

Overview

Welcome to kit-app-template, an essential toolkit for developers diving into GPU-accelerated application development within the NVIDIA Omniverse ecosystem. This repository provides streamlined templates and tools designed to simplify the creation of high-performance OpenUSD-based applications powered by the Omniverse Kit SDK.

About Omniverse Kit SDK

The Omniverse Kit SDK empowers developers to build immersive 3D applications with ease. Key features include:

Applications and Use Cases

The kit-app-template enables developers to create cross-platform (Windows and Linux) accelerated applications, equipped with tooling to streamline packaging for easier deployment. This covers a broad range of use cases, from simulating real-world systems to generating photorealistic synthetic data for AI training. Whether your focus is on creating engaging virtual worlds, developing tools for data analysis, or crafting simulations, the combination of this repository and the Kit SDK provides the foundation you need.

A Deeper Understanding

The kit-app-template repository is designed to abstract complexity, jumpstarting your development with pre-configured templates, tools, and essential boilerplate. For those seeking a deeper understanding of the application and extension creation process, we've provided a companion tutorial. Explore the tutorial here—it offers detailed insights into the underlying structure and mechanisms, enabling a thorough grasp of both Kit and the development process.

New Developers

For a beginner-friendly introduction to application development using the Omniverse Kit SDK, see the NVIDIA DLI course Developing an Omniverse Kit-Based Application (account and login required)

Table of Contents

Prerequisites and Environment Setup

To kickstart your development journey with Omniverse Applications and Extensions, your system should adhere to the following specifications:

Repository Structure

Directory Item Purpose
.vscode VS Code configuration details and helper tasks
readme-assets/ Images and additional repository documentation
templates/ Template Applications and Extensions.
tools/ Tooling settings and repository specific (local) tools
.editorconfig EditorConfig file.
.gitattributes Git configuration.
.gitignore Git configuration.
LICENSE License for the repo.
README.md Project information.
premake5.lua Build configuration - such as what apps to build.
repo.bat Windows repo tool entry point.
repo.sh Linux repo tool entry point.
repo.toml Top level configuration of repo tools.
repo_tools.toml Setup of local, repository specific tools

Quick Start

This section guides you through creating your first Kit SDK-based Application using the kit-app-template repository. For a more comprehensive explanation of functionality previewed here, reference the following Tutorial for an in-depth exploration.

1. Clone the Repository

Begin by cloning the kit-app-template to your local workspace:

1a. Clone

git clone https://github.com/NVIDIA-Omniverse/kit-app-template.git

1b. Navigate to Cloned Directory

cd kit-app-template

2. Create and Configure New Application From Template

Run the following command to initiate the configuration wizard:

Linux:

./repo.sh template new

Windows:

.\repo.bat template new

Note: If this is your first time running the template new tool, you'll be prompted to accept the Omniverse Licensing Terms.

Follow the prompt instructions:

3. Build

Build your new application with the following command:

Linux:

./repo.sh build

Windows:

.\repo.bat build

If you experience issues related to build, please see the Usage and Troubleshooting section for additional information.

4. Launch

Initiate your newly created application using:

Linux:

./repo.sh launch

Windows:

.\repo.bat launch

? Select with arrow keys which App would you like to launch: [Select the created editor application]

NOTE: The initial startup may take 5 to 8 minutes as shaders compile for the first time. After initial shader compilation, startup time will reduce dramatically

Templates

kit-app-template features an array of configurable templates for Extensions and Applications, catering to a range of desired development starting points from minimal to feature rich.

Applications

Begin constructing Omniverse Applications using these templates

Extensions

Enhance Omniverse capabilities with extension templates:

Tools

The kit-app-template includes a suite of tools to aid in the development, testing, and deployment of your projects. A brief overview of some key tools:

For a more detailed overview of available tooling see the Kit App Template Tooling Guide or execute the help command specific to the tool your are interested in (e.g. ./repo.sh template -h or .\repo.bat template -h).

License

Development using the Omniverse Kit SDK is subject to the licensing terms detailed here.

Data Collection

The Omniverse Kit SDK collects anonymous usage data to help improve software performance and aid in diagnostic purposes. Rest assured, no personal information such as user email, name or any other field is collected.

To learn more about what data is collected, how we use it and how you can change the data collection setting see details page.

Additional Resources

Contributing

We provide this source code as-is and are currently not accepting outside contributions.