Computer Graphics. Lab 07. Textures

Transcription

Computer Graphics. Lab 07. Textures
Witold Alda
Computer Graphics. Lab 07. Textures
Texture Mapping
Texture Mapping is the most important way to improve scene realism. In three.js library, they can be
used in several ways. The basic is that of mapping an array, containing the input image, on the object
surface.
Texture loading , using three.js can be done e.g. with function:
function createMesh(geom, imageFile) {
var texture = THREE.ImageUtils.loadTexture
("textures/" + imageFile)
var mat = new THREE.MeshPhongMaterial();
mat.map = texture;
var mesh = new THREE.Mesh(geom, mat);
return mesh;
}
Example 01 – Basic Texture
The example contains basic texture mapping with default parameter values. We will only look at it.
Example 02 – Bump mapping
Second example allows us to modify normal vectors in on an object surface.
In function analogous to that in previous example two textures are used:
function createMesh(geom, imageFile, bump) {
var texture = THREE.ImageUtils.loadTexture(
"textures/" + imageFile)
var mat = new THREE.MeshPhongMaterial();
mat.map = texture;
var bump = THREE.ImageUtils.loadTexture(
"textures/" + bump)
mat.bumpMap = bump;
Please look what is in bump texture and what happens if we change it into another (not necessary
dedicated to bump mapping.
Examples 04, 05, 06 – Sky box
Next three examples show possibilities of environment mapping using Sky box.
Please look how 6 textures are mapped onto Cube object and which size is actually rendered?
In examples 05 i 06 we have transparent and mirror-like objects. Please look how the material I
defined to get needed results (a envMap parameter)
In course of the lab, please put into one scene surrounded bya a skybox, a few objects with different
properties: ordinary texture, bumpmapped, mirror and transparent.