All Projects → meshula → tinyusd

meshula / tinyusd

Licence: MIT license
A really small getting-started project for USD on Windows.

Programming Languages

CMake
9771 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to tinyusd

Charm
A really tiny crypto library.
Stars: ✭ 116 (+300%)
Mutual labels:  tiny
Tinn
A tiny neural network library
Stars: ✭ 1,944 (+6603.45%)
Mutual labels:  tiny
Huejumper2k
2 Kilobyte 3D racing game in JavaScript
Stars: ✭ 236 (+713.79%)
Mutual labels:  tiny
React Plain Router
🛣 A 2kb React router that works exactly as expected with native Javascript
Stars: ✭ 119 (+310.34%)
Mutual labels:  tiny
Vue Final Modal
🍕Vue Final Modal is a tiny, renderless, mobile-friendly, feature-rich modal component for Vue.js.
Stars: ✭ 128 (+341.38%)
Mutual labels:  tiny
Graceful Server
Tiny (~5k), KISS, dependency-free Node.JS library to make your API more graceful
Stars: ✭ 173 (+496.55%)
Mutual labels:  tiny
Unissist
⛑ A ~300b unistore helper to persist your data using equally tiny storage adapters
Stars: ✭ 94 (+224.14%)
Mutual labels:  tiny
Tic 80
TIC-80 is a fantasy computer for making, playing and sharing tiny games.
Stars: ✭ 3,176 (+10851.72%)
Mutual labels:  tiny
Busker
An extremely simple web framework.
Stars: ✭ 161 (+455.17%)
Mutual labels:  tiny
Tinycreditcard
A clear and animated credit card input workflow implement
Stars: ✭ 236 (+713.79%)
Mutual labels:  tiny
Tiny Renderer
A tiny sotfware 3D renderer in 100 lines of Python
Stars: ✭ 120 (+313.79%)
Mutual labels:  tiny
Scoped Style
A tiny css in js library 🚀
Stars: ✭ 129 (+344.83%)
Mutual labels:  tiny
Pristine
Vanilla javascript form validation micro-library
Stars: ✭ 197 (+579.31%)
Mutual labels:  tiny
Ipfs Mini
A super tiny module for querying IPFS that works in the browser and node.
Stars: ✭ 115 (+296.55%)
Mutual labels:  tiny
Cwebsocket
cWebsocket is lightweight websocket server library
Stars: ✭ 241 (+731.03%)
Mutual labels:  tiny
Perfectwindows
PerfectWindows 软件家族 - Windows 从未如此完美!
Stars: ✭ 1,326 (+4472.41%)
Mutual labels:  tiny
Bahunya
10KB classless CSS framework with responsive typography, navbar, syntax highlighting, etc.
Stars: ✭ 170 (+486.21%)
Mutual labels:  tiny
htcc
🐤 A tiny C language compiler (x86-64) (WIP)
Stars: ✭ 31 (+6.9%)
Mutual labels:  tiny
Just
A library of dependency-free JavaScript functions that do just do one thing.
Stars: ✭ 3,837 (+13131.03%)
Mutual labels:  tiny
Webpack Nano
A teensy, squeaky 🐤 clean Webpack CLI
Stars: ✭ 199 (+586.21%)
Mutual labels:  tiny

Tiny USD

This isn't a tiny re-implementation of USD. This is a tutorial on creating the smallest possible viable USD program from scratch on Windows.

It skips building Hydra, as that introduces significant complexity to the build process.

Prerequisites

  • git
  • cmake 3.20 or greater installed for the command line
  • Visual Studio 2019

Building

Shallow clone the USD dev branch into this project's packages directory:

cd tinyusd
mkdir packages
cd packages
git clone --depth 1 https://github.com/PixarAnimationStudios/USD.git -b dev

Configure USD

Build USD

Let's build USD into a clean installation directory, say /tmp/USD-install

python USD/build_scripts/build_usd.py --no-python --no-tools --no-usdview --draco --materialx /tmp/USD-install

Cherry pick the installation

we're going to copy /tmp/USD-install/plugin/usd/ to /tinyusd-build/bin/usd/ also /tmp/USD-install/resources to tinyusd-build/bin/resources also /tmp/USD-install/bin/*.dll to tinyusd-build/bin also /tmp/USD-install/lib/*.dll to tinyusd-build/bin

TinyUsd

Make sure you have a c:\tmp directory. When you run the program from the tinyusd\build\install\bin directory, it should create a simple USDA file:

c:\tmp\test.usda

The file will look like this:

#usda 1.0

def Cube "Box"
{
    float3 xformOp:scale = (5, 5, 5)
    uniform token[] xformOpOrder = ["xformOp:scale"]
}

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].