Final Project Report

Professor K. Sung

Robert Bezirganyan and Adedayo Odesile

March 13th 2016

Outline

Problem Statement

Texture mapping is a rendering technique used in applying complex and realistic surfaces to scene primitives. There are two widely known approaches used in texture-mapping which are the UV and projection texture-mapping. Our ray-tracer currenty implements UV texture mapping. This approach is quite straightforward but it's usage is restricted by the properties of the geometry utilizing it. It is also difficult to define UV coordinates for mesh objects. In response to this, we have decided to implement projection texture mapping as an additional option for mesh objects. The fact that this approach is loosely coupled to the textured geometry, allows for various modes of its usage. It also elminates the burden of defining UV coordinates for mesh vertices.

Solution

Projection texture mapping could be applied per object or scoped to the whole scene depending on the type of projection. These types include planar, spherical, cylindrical ,camera, etc. A more comprehensive list of the types are listed in [1].

We were able to implement planar perspective, planar orthographic and spherical projection for mesh objects. We define a texture projector image plane from the mesh's bounding box/sphere, and use it to perform texel lookups from sampled points on the mesh. The lookup was abstracted around the existing implementation for UV mapping. Below are some of the sample results of our implementation.

Sample Command for Mesh

Sample Image Result

No UV Scaling

Perspective

Orthographic

Spherical

UV Scaling

Perspective

Orthographic

Spherical

Perspective with Shift

Within Bounds

Outside Bounds

Fun

Teapot

Teapot And Tiger

Leopard

References

[1] “Types of Projection Texture Mapping” http://softimage.wiki.softimage.com Retrieved 2016-02-20

[2] Wang, Huamin. "Texture Mapping" PDF Link department of Computer Science and Engineering. Ohio State University. Retrieved 2016-02-20.

[3] Shadow Mapping NVIDIA. Retrieved 2016-02-16

[4] Prof. K. Sung. “Texture Mapping Class Notes” PPT Department of Computing and Software Systems, University of Washington. Retrieved 2016-02-10