Modeling Meshes

Jiayi Sun

To render our final image, we performed mesh modeling for multiple objects, including the window frame, table, hourglass, iceberg, and the water beneath the iceberg. We used an excellent indoor scene from Blendswap as the background. Most of our mesh modeling was editted on existing models.

For the table and window frame, some of their normals were inverted, causing black shading during rendering. We enabled the overlay in Blender to display face orientation and flipped the normals for the problematic faces.

Face Orientation

For the hourglass model, we separated its components into the frame, inner glass, outer glass, and sand as we would give them different BSDF or textures. The sand was then deleted to obtain a blank hourglass for placing iceberg and buildings.

Hourglass Seperation

For the iceberg, we extracted it from an Arctic scene and filled the bottom with smooth faces. As for the water beneath the iceberg, we selected the lower half of the inner glass of the hourglass, duplicated the faces, and closed the surface using extrusion, scaling and filling operations. We further adjusted the scale and position to ensure no clipping occurs in the final scene.

Water Modelling from Hourglass

We also scaled and moved multiple objects in Blender to achieve better angles. Then we exported them as OBJ files. This process also included adding the camera and lighting in Blender to refine the scene setup. This method freed us from calculating transformation matrices manually in the XML file.

Scale and Position

For the environment map emitter, we used world lighting in Blender and mapped texture coordinates to the HDRI map. By rotating the HDRI, we positioned the crane to appear right outside the window. The resulting angle was then applied in the Nori XML configuration.

Environment Map Rotation

We added a plugin to Blender called Mitsuba Blender Add-on to export the current scene configuration as a Mitsuba XML file. Since Mitsuba's XML format is quite similar to Nori's, this allowed us to quickly generate a rough configuration file for further adjustments.