Tutorials

Tutorials



The tutorial source code can be found in the github.com repository or in your local <repository root>/turorials.



Far Tutorials
Tutorial 0
This tutorial presents in a very succinct way the requisite steps to instantiate a Far mesh from simple topological data. [code]
far_tut_0

Tutorial 1
This tutorial shows how to interface a high-level topology representation with Far for better efficiency. In tutorial 0, we showed how to instantiate topology from a simple face-vertex list. Here we will show how to take advantage of more complex data structures. [code]

Tutorial 2
Building on tutorial 0, this example shows how to instantiate a simple mesh, refine it uniformly and then interpolate both 'vertex' and 'varying' primvar data. [code]
far_tut_1

Tutorial 3
Building on tutorial 0, this example shows how to instantiate a simple mesh, refine it uniformly and then interpolate both 'vertex' and 'face-varying' primvar data. The resulting interpolated data is output as an 'obj' file, with the 'face-varying' data recorded in the uv texture layout. [code]
far_tut_3

Tutorial 4
This tutorial shows how to create and manipulate FarStencilTable. We use the factorized stencils to interpolate vertex primvar data buffers. [code]

Tutorial 5
This tutorial shows how to create and manipulate both 'vertex' and 'varying' FarStencilTable to interpolate 2 primvar data buffers: vertex positions and vertex colors. [code]

Tutorial 6
This tutorial shows how to interpolate surface limits at arbitrary parametric locations using feature adaptive Far::PatchTable. [code]
far_tut_6

Tutorial 7
This tutorial shows how to create and manipulate tables of cascading stencils to apply hierarchical vertex edits. [code]


Osd Tutorials
Tutorial 0
This tutorial demonstrates the manipulation of Osd Evaluator and BufferDescriptor. [code]


Hbr Tutorials
Tutorial 0
This tutorial presents, in a very succinct way, the requisite steps to instantiate an Hbr mesh from simple topological data. [code]

Tutorial 1
This tutorial shows how to safely create Hbr meshes from arbitrary topology. Because Hbr is a half-edge data structure, it cannot represent non-manifold topology. Ensuring that the geometry used is manifold is a requirement to use Hbr safely. This tutorial presents some simple tests to detect inappropriate topology. [code]

Tutorial 2
This tutorial shows how to subdivide uniformly a simple Hbr mesh. We are building upon previous tutorials and assuming a fully instantiated mesh: we start with an HbrMesh pointer initialized from the same pyramid shape used in hbr_tutorial_0. We then apply the Refine() function sequentially to all the faces in the mesh to generate several levels of uniform subdivision. The resulting data is then dumped to the terminal in Wavefront OBJ format for inspection. [code]
hbr_tut_2