Skip to content

Tydra work items #148

@syoyo

Description

@syoyo

dev is a current active working branch for Tydra https://github.com/syoyo/tinyusdz/tree/dev/src/tydra , especially OpenGL/Vulkan friendly data structure conversion.

Tydra provdes a handy logic to convert some USD scene with material/texturing to OpenGL/Vulkan-like renderer.
Limited support of keyframe animation, skinned mesh and blendshapes.

Phase1(mostly done)

Node hierarcy(scene graph), static mesh, material/textures

  • Scene graph construction

    • Xform(at a specific time)
    • Mesh, GeomSubset
  • Load asset from USDZ

  • Material/Texturing

    • BindMaterial resolution(consider material bind strength).
    • Basic UsdUVTexture/PrimvarReader support. UV primvar name resolution.
    • Basic Texture image load(jpg, png, exr, ...)
    • Custom texture image loader? [TODO] [Tydra] Support custom texture loader callback #143
    • Linear-sRGB colorspace conversion of texture.
  • Mesh conversion

    • Convert mesh at a static time
  • Mesh Triangulation

    • Triangulate common vertex attributes(normals, texcoords, vertex_colors, vertex_opacities)
    • Triangulate GeomSubset indices
    • Validate triangulation is correct
  • Vertex index buffer build

    • To render a mesh with single index buffer(OpenGL/Vulkan)
    • Convert 'facevarying' primvars to 'vertex' primvars
    • Validate index buffer build is correct

Phase2(mostly done)

=> merged into dev

Advanced(future task)

  • AR object [Tydra] [RenderScene] Support some AR specific Mesh/Material(Collider Mesh, Physics Material, ...) #163
  • BlendShape
    • In-between blendshapes
  • Optimize vertex buffer and vertex index build.
  • Wide color texture support
    • Linear-displayP3 colorspace conversion of texture
    • ACEScg(Linear) colorspace conversion of texture.
  • Subdivision surface
    • Subdivide surface using osd(OpenSubdiv)
    • Interpolate primvars
  • Material collection
  • MaterialX support
  • Vertex animation of a mesh
  • UDIM texture support
  • Support some ACES color profile as a built-in
  • Multiple Animation(SkelAnimation) support

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions