• Nikhila Ravi's avatar
    Utils for clipping mesh faces partially behind the image plane · 23279c5f
    Nikhila Ravi authored
    Summary:
    Instead of culling faces behind the camera, partially clip them if they intersect with the image plane.
    
    This diff implements the utils functions for clipping.
    
    There are 4 cases for the mesh faces which are all handled:
    
    ```
    Case 1: the triangle is completely in front of the clipping plane (it is left
            unchanged)
    Case 2: the triangle is completely behind the clipping plane (it is culled)
    Case 3: the triangle has exactly two vertices behind the clipping plane (it is
            clipped into a smaller triangle)
    Case 4: the triangle has exactly one vertex behind the clipping plane (it is clipped
            into a smaller quadrilateral and divided into two triangular faces)
    ```
    
    Reviewed By: jcjohnson
    
    Differential Revision: D23108673
    
    fbshipit-source-id: 550a8b6a982d06065dff10aba10d47e8b144ae52
    23279c5f
test_render_meshes_clipped.py 13.1 KB