GithubHelp home page GithubHelp logo

wimachtendink / stereokit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stereokit/stereokit

0.0 1.0 0.0 295.07 MB

An easy-to-use mixed reality library for building HoloLens and VR applications with C# and OpenXR!

Home Page: https://stereokit.net/Pages/Guides/Getting-Started.html

License: MIT License

C++ 42.98% C 28.03% C# 26.22% PowerShell 0.11% HLSL 1.05% Shell 0.02% Lua 0.32% CMake 1.27%

stereokit's Introduction

StereoKit Logo

StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR! Inspired by libraries like XNA and Processing, StereoKit is meant to be fun to use and easy to develop with, yet still quite capable of creating professional and business ready software.

The getting started guide can be found here!

Interested in news and updates about StereoKit? Maybe just looking for some extra help?

Screenshot

StereoKit Features

  • Mixed Reality inputs like hands and eyes are trivial to access
  • Easy and powerful UI and interactions
  • Model formats: .gltf, .glb, .obj, .stl, ASCII .ply
  • Texture formats: .jpg, .png, .tga, .bmp, .psd, .gif, .hdr, .pic, .qoi, cubemaps
  • Flexible shader/material system with built-in PBR
  • Performance-by-default instanced render pipeline
  • Skeletal/skinned animation
  • Flat screen MR simulator with input emulation for easy development
  • Builds your application to device in seconds, not minutes
  • Runtime asset loading and cross-platform file picking
  • Physics
  • Documentation generated directly from the source code, including screenshots

Platform Support

StereoKit supports HoloLens 2, Oculus Quest, Windows Mixed Reality, Oculus Desktop, SteamVR, Varjo, Monado, and essentially everywhere OpenXR is!

These are the binaries that currently ship in the NuGet package. StereoKit developers working from C/C++ should be fine to build any architecture from this list of platforms.

Platform x86 x64 ARM ARM64
Windows (Desktop/Win32) X
Windows (HoloLens/UWP) X X X
Linux X X
Android X
Web (WASM) Soon

Architecture support has focused on 64 bit architectures, with exceptions for certain platforms. (If you require an additional architecture in the NuGet, please propose it as an Issue!) Here, UWP's ARM builds much faster than UWP's ARM64, and WASM only comes in 32 bit flavors.

Getting started

Follow this guide for a detailed introduction! This repository is the raw source for those who wish to build StereoKit themselves, the Visual Studio templates and the NuGet packages referenced in the guide are how most people should build their applications!

StereoKit focuses on getting you productive with the least amount of code possible. You can actually do most tasks with a single line of code, including UI! Here's hello world with StereoKit, this is all you need to get up and running!

using StereoKit;

SK.Initialize(new SKSettings{ appName = "Project" });

Model helmet = Model.FromFile("Assets/DamagedHelmet.gltf");

SK.Run(() => {
    helmet.Draw(Matrix.TS(Vec3.Zero, 0.1f));
});

Hello World

Building or Contributing

For those that wish to build the test project, or perhaps the whole library, there's a guide to building StereoKit's repository! For those that wish to contribute features or fixes to StereoKit, awesome! Check out the contributor's guide. In addition, you may want to check with the maintainers on either GitHub Issues or the Discord channel to help make sure contributions meet the project's standards.

Dependencies

Just like all software, StereoKit is built on the shoulders of incredible people! Here's a list of the libraries StereoKit uses to get things done.

And some of my own libraries that I maintain separately from this repository.

stereokit's People

Contributors

maluoi avatar technobaboo avatar moshimeow avatar dirksonguer avatar faolan-rad avatar strepto avatar sjando avatar opl- avatar aprilspeight avatar austinbhale avatar christophhaag avatar zee2 avatar maxgolov avatar chitsaw avatar paulmelis avatar raydelto avatar rblenkinsopp avatar neogeek avatar sandrist avatar topperdel avatar pambros avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.