16-825: Learning for 3D Vision

Assignment 1: Rendering Basics with PyTorch3D
Submitted by: Kailash Jagadeesh (ID: kailashj)


Table of Contents

  1. Setup
  2. Practicing with Cameras
  3. Practicing with Meshes
  4. Re-texturing a Mesh
  5. Camera Transformations
  6. Rendering Generic 3D Representations
  7. Do Something Fun
  8. Extra Credit

0. Setup

The installation was successful with the gpu access enabled onto my local machine. Here is the attached render from the starter code to verify the functioning of the codebase.
Sample Cow Mesh Render
Sample Render


1. Practicing with Cameras (15 Points)

1.1 360-degree Renders (5 points)

GIF:
360 Cow

Here is the output gif for rendering multiple viewpoints for the cow mesh given.


1.2 Dolly Zoom (10 points)

GIF:
Dolly Zoom

Answer:
The Dolly effect was created by modelling the relation between the FOV and distance and varying them.
Credits: Wikipedia


2. Practicing with Meshes (10 Points)

2.1 Tetrahedron (5 points)

GIF:
Tetrahedron

Answer:


2.2 Cube (5 points)

GIF:
Cube

Answer:


3. Re-texturing a Mesh (10 Points)

GIF:
Re-textured Cow

Answer:


4. Camera Transformations (10 Points)

Images:
Base Image:
No Transform


5. Rendering Generic 3D Representations (45 Points)

5.1 Rendering Point Clouds from RGB-D Images (10 points)

GIFs:


5.2 Parametric Functions (10 + 5 points)

GIFs:


5.3 Implicit Surfaces (15 + 5 points)

GIFs:

Answer:


6. Do Something Fun (10 Points)

For something fun, I tried to render the scene from the anime Demon Slayer: Kimetsu no Yaiba where the demon slayers fall into the Infinity Castle with the demons trying to hunt them. Hope it is fun watching this.

The obj file was found online (credits to sketchfab) and I generated cinematic trajectories to traverse the mesh in a fun looking way (credits to chatgpt) for helping with generating the trajectories.

Please play the video to watch the render. Also watch in full screen!!!