Files
Syoyo Fujita 3c1b1735b7 raise C++ version requirement from C++14 to C++17
Update all CMakeLists.txt, Makefiles, meson.build, setup.py,
and documentation files to use C++17 standard.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 03:39:41 +09:00
..
2023-10-23 06:54:53 +09:00
2024-02-24 22:04:09 +09:00
2023-10-19 23:06:51 +09:00
2023-02-16 06:23:25 +09:00

Simple OpenGL viewer

Status

Not yet working.

Supported USD files

USDC(binary), USDA(ascii) and USDZ(zip container)

Requirements

  • C++14 compiler
  • OpenGL/GLES 3.3 or higher
  • cmake

Build

$ mkdir build
$ cd build
$ cmake ..
$ make

Run

$ ./usdz_glview <input.usdz>

Optional: Embed shaders(requires Python)

If you modify shader frag/vert, please update shader source code by running

$ python embed_shaders.py

Alternatively you can use xxd -i input.frag to generate embeddable shader code.

TODO

  • Embed shader codes to C++ source code.
  • GeomSubset(per-face material)
    • per-face material shading support may take time. Use raytraced viewer(../sdlviewer) for a while if you want to visualize GeomSubset
  • Bump/normal mapping
    • Need to compute tangent basis
  • UDIM texturing
  • Subdivision surface
  • Animation
    • Timesamples animation
      • Xform
      • GeomMesh(Vertex animation)
      • Camera, Light, etc.
    • usdSkel
      • Vertex skinning
      • Morphing(Blend shapes)

Third party libraries

  • imgui : MIT license.
  • glfw3 : zlib license.