Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Pyrite3D is an experimental project to stream very large 3D models to clients from the cloud. Large meshes and textures are preprocessed through PyriteCLI where they are sliced in a three dimensional cube space. The cubes are stored at various levels of vertex simplification and streamed on-demand via a queryable Cube Service to a client such as Unity3D.
See Getting Started for a sample walk through.
The project is a RESTful ASP.NET Web API that sits on-top of a pluggable storage provider with access to the processed 3D data. It is roughly divided into two suites of services:
- Metadata discovery - enables clients to discover the 3D object sets in storage at various levels of detail.
- Asset streaming - delivery of the cube metadata, meshes, and textures.
The Pyrite server uses a data set generated from PyriteCLI. The input format is WaveFront OBJ. The generated cube set from the preprocessor is stored in a manner compatible with one of the Pyrite storage plugins. Currently this includes Azure Blob Storage and basic disk storage. See the Source Data and Data Model pages for details.
Seen something that you'd like to fix? Or interested in contributing to this project? Read the Contributor Guide first.