
:github_url: https://github.com/facebookresearch/DRTK

Tutorials
===================================

.. toctree::
   :maxdepth: 4
   :caption: Getting Started
   :hidden:

   DRTK_Tutorial_1_hello_triangle
   DRTK_Tutorial_2_optimizing_geometry
   DRTK_Tutorial_3_geometry_intersection

.. toctree::
   :maxdepth: 4
   :caption: Mesh Rendering
   :hidden:

   DRTK_Tutorial_rendering_meshes


.. toctree::
   :maxdepth: 4
   :caption: Computing Gradients and Fitting
   :hidden:

   DRTK_Tutorial_hand_fitting

.. grid::

    .. grid-item-card:: :doc:`DRTK_Tutorial_1_hello_triangle`

        In this tutorial, we will create a simple "hello triangle," which is a "hello world" of graphics programming, using DRTK.

        .. image:: ../_static/tutorial_1_hello_triangle.png
          :width: 400

    .. grid-item-card:: :doc:`DRTK_Tutorial_2_optimizing_geometry`

        In this tutorial, we will see how to setup a minimal example of geometry optimization.

        .. image:: ../_static/tutorial_2_animation.gif
          :width: 400

    .. grid-item-card:: :doc:`DRTK_Tutorial_3_geometry_intersection`

        In this tutorial, we demonstrate geometry effectively optimization when intersections are present.

        .. image:: ../_static/tutorial_3_animation.gif
          :width: 400

.. grid::

    .. grid-item-card:: :doc:`DRTK_Tutorial_rendering_meshes`

        In this tutorial, we demonstrate how to rendering simple meshes with DRTK.

        .. image:: ../_static/tutorial_rendering_meshes.png
          :width: 400

.. grid::

    .. grid-item-card:: :doc:`DRTK_Tutorial_hand_fitting`

        In this tutorial, we demonstrate fitting of a simple hand model with simple lambertian material to a single photo.

        .. image:: ../_static/tutorial_hand_fitting.gif
          :width: 400
