16-825 Assignment 1: Rendering Basics with PyTorch3D
By Lamia Alsalloom (lalsallo)
Fall 2025
2. Practicing with Meshes
2.1 Tetrahedron
for the prupose of debugging, I render twice one Tetrahedron has one color, and the other has each face colored, we end up with a Tetrahedron of vertices=4, triangle faces=4.
2.2 Cube
Render our cube we end up with vertices=8, faces=12.
3. Re-texturing a Mesh
We interpolate vertex colors along z from color1 (front): orange to color2 (back): pink
Color choices: color1 (front, z_min): orange = [1.0, 0.550000011920929, 0.0] color2 (back, z_max): pink = [1.0, 0.0, 0.5]
4. Camera Transformations
The relative rotation R_rel defines the camera orientation,
while the relative translation T_rel shifts the camera in space.
Together, we produce the following four viewpoints of the cow:
Transform 1: Rotate the camera counter clockwise to make the image appear clockwise. Axes are swapped, y is flipped. No translation applied.
5. Rendering Generic 3D Representations
5.1 Point Clouds from RGB-D
Render point clouds from two RGB-D views and their union.
First camera
Second camera
Union: Combined point clouds.
5.2 Parametric Functions
Torus Point Cloud (num_samples=200) i'm aware we are a little too close to the object but as it rotates we can see all its sides clearly
Extra Object: We render a sphere with (num_samples=200)
5.3 Implicit Surfaces
Torus Implicit Mesh
Extra Mesh Object: We render an ellipsoid.
Mesh vs Point Cloud
- Speed: Meshes render efficiently with rasterization, while large point clouds slow down as point count increases.
- Quality: Meshes produce smooth, continuous surfaces with sharp edges while point clouds may look noisy or incomplete if under sampled.
- Memory: Point clouds grow linearly with the number of sampled points, while meshes need extra storage for faces but can often represent surfaces more compactly.
- Ease of Use: Point clouds are straightforward to create because we get them directly from RGB-D, where meshes support richer information like normals, textures, and UV maps.
6. Do Something Fun
We will create a Cow Carousel with a Disco Ring theme cause why not. We clone the cow multiple times in a circle, tint each clone a different color, spin them, and render a 360° GIF
Warning! staring for too long might cause a headach, viewers discretion advised.
7. (EC) Sampling Points on Meshes (10 pts)
Original Mesh: Baseline cow model.
10 Samples: Very sparse points.
100 Samples: Coarse approximation.
1000 Samples: Much denser coverage.
10000 Samples: Nearly continuous surface.


