Skip to content

Incorporate Normal Maps into the renderer #642

Open
@vikramjit-sidhu

Description

@vikramjit-sidhu

🚀 Feature

Incorporate normal mapping into the rendering pipeline.
A normal map is an image using which the mesh normals are manipulated before rendering.

Motivation

Normal mapping (or bump mapping) is a useful technique for enhancing the appearance and details of a low-polygon mesh.

Furthermore, normal maps are a part of many recent Computer Graphics research works.
Normal maps are created using a generative model to add details to a mesh Link.
It is used in inverse rendering techniques which estimate the normal maps from images Link.

Pitch

Incorporate normal maps into the rendering pipeline.
Since a normal map is essentially an image, its usage can be incorporated into the current Textures object, an example is as follows:

normal_map_img = torch.from_numpy(cv2.imread("normal_map.png"))
texture = Textures(verts_uvs=verts_uvs, faces_uvs=faces_uvs, normal_map=normal_map_img)
mesh.textures = texture

The actual implementation can be done in the Textures class.

I can also implement this feature if there are no plans on incorporating it in the near future.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthow toHow to use PyTorch3D in my project

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions