Skip to content

Latest commit

 

History

History
52 lines (37 loc) · 1.81 KB

README.md

File metadata and controls

52 lines (37 loc) · 1.81 KB

What is Tydra?

Tydra

TinyUSDZ does not support Hydra interface in pxrUSD at the moment. We think Hydra(multi-purpose sceneDelegate/renderDelegate interface) is too much for TinyUSDZ usecases(AR, lightweight 3D viewer/runtime, DCC exchange, etc).

Instead, we'd like to propose Tydra(Tiny Hydra), something like a three-headed monster(Please imagine Gidorah: https://en.wikipedia.org/wiki/King_Ghidorah), which directly converts(publishes) USD scene graph(Stage. Prim hierarchy) to a renderer-friendly data structure or published data format(imagine glTF). API design of Tydra is completely different from Hydra.

Currently Tydra is considering following three usecases in mind:

  • Runtime publishment(e.g. to glTF), DCC conversion and exchange for realtime graphics(AR, VR, MR, games, etc).
  • Scene conversion to GL/Vulkan renderer(e.g. WebGL rendering) See ../../examples/tydra_to_renderscene
  • Scene conversion to Ray tracing renderer(e.g. Vulkan/OptiX ray tracing) See ../../examples/sdlviewer/ for SW raytracing example.

Status

Work in progres. API and feature is subject to change.

RenderScene

Scene graph representation suited for OpenGL/Vulkan renderer.

Status

  • Node xform
  • Triangulate mesh
  • Subdivision surface support(subdivide mesh using OpenSubdiv)
  • Resolve Material binding
    • GeomSubset material binding
    • Collection material binding
  • Load and setup Texture
    • Colorspace conversion
      • sRGB <-> Linear
      • rec709 <-> Linear
      • displayP3 Linear <-> sRGB Linear
      • ACEScg(AP1, Linear) <-> sRGB Linear
  • Skinning
  • BlendShape
  • Animation(SkelAnimation)
  • Xform animation(timesamples XformOps)
  • Lights

TODO

  • Data structure suited for realtime DCC.
  • Data structure suited for Ray tracing

EoL.