BACK TO TEACHING HOMEPAGE

BACK TO COURSE HOMEPAGE

   
     

GA 3311: Materials and Lighting

In this class students will be introduced to materials, textures and lighting strategies to add detail and realism to objects without adding complexity to the model. Students will simulate real world surfaces containing reflection radiosity and other effects.

 
     
JUMP TO A SPECIFIC WEEK:

Week 1: DOWNLOAD THE SYLLABUS

COURSE TEXTBOOKS:
ULTRA RECOMMENDED:

Digital Lighting & Rendering, Second Edition, Jeremy Birn, ISBN-10: 0321316312

Introduciton to Materials:

Diffusion-Gloss-Specularity-Reflection, understanding the way light bounces off objects:



We need to think of Diffusion, Glossy, Specularity and Reflections (here after referred to as DGS) as a smooth spectrum. On one side, we have surfaces such as Paper and Cloth which are very soft and diffuse. On the microsopic level, these surfaces are very uneven due to fibers that are woven togehter. These imperfections cause light to be scattered when it intercepts the surface. The scattered light bounces in every direction causing a lack of a single highlight. Glossy surfaces, such as Toy Plastic and Porcelain produce a highlight, but the still quite uneaven surface also scatters that light producing a wide highlight. These surfaces are more specularized and less diffuse than paper and cloth. More Specular Surfaces such as the pool balls below usually begin to incorporate some reflectivity, but are not fully reflective. Their highlight is tighter and the thus less glossy. At the other end of the spectrum are Reflective objects such as the mirror below. These surfaces are very smooth at the microscopic level and are usually very hard surfaces. They will have a tight highlight, as they should be very specular, but will transmit acurate light bounces, illustrating the reflection of light off other objects on their own surface.



It is important to note a few key things at this point in time. In the everyday natural world, we will find NO objects which are completely diffuse or completely Specularized/Reflective. Even the smoothest mirrors on the Hubble Telescope will be slightly uneaven at the molecular level causing reflection blur. Note how in the Rear-View mirror above, the van behind the car is blurred. We will need to use Mental Ray to Blur our reflections. Similarly, no object will completely diffuse out all light as well, producing an area that has an extremely slight highlight over the surrounding light diffusion.
We should also note that Lambert Surfaces DO NOT have the ability to simulate G, S, and R and can only render diffuse. This makes them very innacurate for natural simulations.

Lambert, Phong E, Phong, Blinn, and Anisotropic Materials:



Lambert
Lambert is a flat material type that yields a smooth look without highlights. It calculates without taking into account surface reflectivity, which gives a matte, chalk-like appearance. Lambert material is ideal for surfaces that don't have highlights: pottery, chalk, matte paint, and so forth. By default, any newly created object gets the Lambert shader assigned to it. If the object should have highlights, though, it's a good idea to assign another shader. You'll want to see highlights even during the modeling stage, to see whether they are breaking across the model (indicating a seam in the surface).
Phong
The Phong material type takes into account the surface curvature, amount of light, and camera angle to get accurate shading and highlights. The algorithm results in tight highlights that are excellent for polished shiny surfaces, such as plastic, porcelain, and glazed ceramic.
PhongE
PhongE is a faster rendering version of Phong that yields somewhat softer highlights than Phong. Most artists use regular Phong for objects with intense highlights and Blinn for everything else.

Blinn
The Blinn material type calculates surfaces similarly to Phong, but the shape of the specular highlights in Blinn materials reflects light more accurately. Blinn is good for metallic surfaces with soft highlights, such as brass or aluminum. Because Blinn is a versatile material type and generally renders without problems, it's the primary material type we'll be using.
Anisotropic
The Anisotropic material type stretches highlights and rotates them based on the viewer's relative position. Objects with many parallel micro-grooves, such as brushed metal, reflect light differently depending on how the grooves are aligned in relation to the viewer. Anisotropic materials are ideal for materials such as hair, feathers, brushed metal, the underside of CD's, and satin.

Texture File Size Issues:
RULE 1:
When working with our textures, we will want to keep our files as small as possible since the larger the texture file we reference into our material, the longer our scene with that material present will take to render.
RULE 2a:
Our UV layout (which we will discuss in week 2) SHOULD maintain a square format (with a few exceptions which will not be discussed just yet).
RULE 2b:
Furthermore, the size of this square texture file SHOULD be built in powers of 2 (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, etc...). This is because the computer's architecture is designed to read files of these pixel sizes the fastest.
Now, according to rule 2, we have only a few Quantum sizes available to us, and (from rule 1), we will want to choose the The smallest file size possible that still gives us the texture complexity that we need.

SMALL FILE SIZES
32x32 Textures:
These sized textures should only be used for backround objects that take up less than 10% of the screen, are barely seen due to speed, or are in an online gaming enviornment as a prop or bg object.
64x64 Textures:
These sized textures, while twice as big, are still really only to be used for objects with very little screen or render prominence. These are also suitable for props of distant background objects, but are also very useful for small foreground objects in a real-time enviornment.
MEDIUM FILE SIZES
128x128 Textures:
We now enter file sizes suitable for displaying more prominently on the screen. 128s should still not be full character textures, but may be used for objects that take up 20-25% of the screen, need more visible detail, or are more complicated props for a real-time environment.
256x256 Textures:
This size is suitable for backround characters or parts of characters that have multiple UV regions for a real-time enviornment, either online or local. This size is also suitable for props and bg objects that get rendered, but may be too big a file size now for most gaming enviornments.
512x512 Textures:
This size is perfect for most objects or props that are getting rendered, or a Main Character in an online game that is featured most of the time on roughly 40% of the screen. This size is FAR TOO BIG now for every single background object in a Last-Gen console or current online game
.
LARGE FILE SIZES
1024x1024 Textures:
This is the first of the larger sized texures. 1024x1024 textures should only be used in Last-Gen console or current online games if they are featured on the Main Character or for a whole enviornment, with some possible exceptions. A 1024 texture might also be useful for a Head Texture that is to be rendered.
2048x2048 Textures:
This file size is mostly too large for real-time enviornments of previous generations, but is still suitable for PS3 and XBOX 360 development for primary characters. Usefull for more detailed single hand or head textures in a rendered animation.
4096x4096 Textures:
This should be the largest file size we would work at in the current itteration of Maya. After 4096, it really is to the benefit of the user to break our character up into UV regions and apply multiple smaller maps. This size is capable of excellent detail for full characters, or extreme detail (down to pores) if used for just a human head.

The Hypershade:

Above you see 3 numbered parts of the Hypershade.

Part 1- Is where you will find a library of all materials, textures, lights, etc... that are found in your scene. When Maya first loads, you will have at least Lambert1, Particle Cloud1, and ShaderGlow1 in this window. These nodes will apply to all objects, particles and glows in your scene until you create a new material and apply that. If you were to apply textures to the default lambert, it would texture all of your scene's other objects as well. THIS IS WHY IT IS IMPERATIVE THAT YOU DO NOT USE THE DEFAULT LAMBERT MATERIAL FOR RENDERING, BUT PRODUCE YOUR OWN.

Part 2- Is the work area, where you can middle mouse drag materials, textures, and utility nodes currently in the scene and stored in area 1, to add to your shader network. You can use this window to see all of the connections into your material, and to create new connections (with the connection editor). Additionally, you may add new textures or materials into areas 1 and 2 simultaneously by choosing a selection from:

Part 3 - This is where you will find options to create new textures, materials, and utilites to design your shading network.

Texture Maping Channels in a Shader (part 1): Click on images for larger

Color-
Controls the "pigment" of the material as seen in full bright light. Color is succeptable to change from highlights and shadows based on material properties and light position.
Ambient Color- Overrides information from available lights (and thusly shadows), and from the color channel, and can be used as such to soften a material's appearance.

Incadescence-
Like AmbientColor, will override color and shadows. Incandescence should be used to give a material the appearance of self-illumintation.

Diffuse-
Controlls the spread of light across a surface based on micro-abrasions in a more uneven (softer) surfaces. The Harder an object's material is (metals, glass, etc...), the lower the diffuse it should have. The softer the surface (fabric, skin) the higher the diffuse.
Transparency- Controlls how visible the material is.
Texture Maping Channels in a Shader (part 2):
Specularity
Specular Color-The color of highlights produced on the surface
Reflectivity-The ammount (expressed as a decimal value representing a percentage) that the object reflects available rays of light.
Reflected Color-allows us to texture the reflectivity if enviornment objects are not present.

The attributes below control highlight shape, but are termed for different materials:
Cosine Power
(Phong only)-Controls the size of shiny highlights on the surface. The valid range is 2 to infinity. The slider range is 2 (broad highlight, not very shiny surface) to 100 (small highlight, very shiny surface), though you can type in a higher value. The default value is 20.
Roughness (Phong E & Anisotropic only)-Controls the specularity focus. Smaller values correspond to smoother surfaces and the specular highlights are more concentrated. Larger values correspond to rougher surfaces and the specular highlights are more spread out—similar to being diffused.
Highlight size (Phong E only)-Controls the amount of specular highlight.

Eccentricty (Blinn only)-Controls the size of shiny highlights on the surface. The valid range is 0 (no highlight) to 0.999 (broad highlight, not very shiny surface). A value of 0.1 produces a small highlight (very shiny surface). The default value is 0.3.
Specular Roll off (Blinn only)-Gives the surface the ability to reflect its surroundings (the environment, other surfaces) or the Reflected Color, when viewed at oblique angles. The slider range is 0 to 1. The default value is 0.7.
To help visualize the effect of Specular Roll Off in a Blinn material swatch, assign a texture to the Reflected Color.

Angle (Anisotropic only)-Determines the orientation of the grooves. The range is 0.0 (default) to 360.0. Use to determine the X and Y direction for non-uniform specular highlight.
Spread X or Y (Anisotropic only)-Determines how much the grooves spread out in the X and Y directions. The X direction is the U direction rotated counter-clock-wise by the specified Angle degrees. The Y direction is perpendicular to the X direction in UV space.
For Spread X, the range is 0.1 to 100.0 and the default is 13. For Spread Y, the range is 0.1 to 100.0 and the default is 3.0
Large values correspond to surfaces which vary smoothly in the X or Y direction. Small values correspond to surfaces with fine structure. When increased, the specular highlight in the X or Y direction shrinks in size—when decreased, the specular highlight spreads out.
When the Spread X value is equal to the Spread Y value, the surface becomes isotropic—equally smooth in all directions. When the Spread X value is more than the Spread Y value, the surface is smooth in the X direction and rough in the Y direction.
For example, when a surface such as a piece of cloth whose fibers run along the X direction is rendered, the highlights non-uniformly spread out with more highlights along the Y direction.
Fresnel Index-A fresnel is a flat lens consisting of a number of concentric rings that reduces spherical abnormalities. The Fresnel Index value computes the fresnel factor that connects the reflected light wave to the incoming light wave. For instance, the Fresnel Index for water is 1.33. Values range from 1.0 to 20.0.

Texturing:

Textures are created by the artist to give extra detail to the model, beyond what can be done with polygons alone. Some textures are meant to make the model look like it has thousands more polygons, while others act to simply add coloration. Textures are painted onto flat "maps" created through an interface known as UVs. These flattened maps can be painted in programs like Adobe Photoshop.

Here is a model of a truck with no textures. This model was created by Andrew Klein and used in Sony Home's game-lobby for Farcry 2:



Here is the same model with textures applied... Big difference right?????



Several textures are used here to give this truck it's final look.

The texture in the upper left corner is a Specularity map. It controls how shinny the surface gets. White= more shinny, darker= less shinny. In this map, the windows, and metal parts have a HIGHER SPECULARITY.

The texture in the upper right corner is a Normal map, which is one type of map that shows surface difference. Normal maps allow you to fake extra slopes on a surface to trick the eye into thinking there is more detail than there really is.

The texture map in the lower left corner is the diffuse color map, it is the flat painted color of each object and shows dust and dirt along with texture and pattern.

The texture map in the lower right corner is an Alpha (transparency) map. It's job is to specificy what parts of the surface are transparent. Here white=solid, black=invisible. This allows the artist to create frayed edges on the fabric, and semi-transparent windows.



THERE ARE MANY MORE TYPES OF TEXTURE MAPS TOO!!!!!

Here is an organic 3d model of a head by Andrew Klein with and without textures:


Here there is a general color map, normal map, and spec map, just like the truck. But a few more maps are also used to acheive more reaslism.

Since human skin has layers, a Subdermal map and a back scatter map are used in conjunction with a special MATERIAL (we will talk more about materials later). This allows light to scatter through the skin.

A displacement map is used, which is like a more powerful normal map, to add even more detail to pores, wrinkles, and hair.

Homework: Apply appropriate materials to the provided Glass Cup and Book, and then apply texture maps to the already UV'd book by scanning or taking photos of a real book, or by drawing realistic textures in photoshop. Use the Render Current Frame option in maya to save out an image of your work from the Rendering Camera that is already set up. Do not adjust the position of the Rendering Camera, the lights, or the objects.
You will be given this Blank Scene with all that you see here already set up, inluding the textured wood. The book is already UV mapped (the image on the right), and It will be your job to create a glass material for the cup, a golden material for the lip of the cup, and a material and texture for the book.

Here is my demo, showing the materials, and texture:

Image by Ana Harmon


Image by Teri Archibald

Image by Kendra Doyle

Image by Kris Chiao

Image by Jessica Bradley

Image by Adrian Martinez

Image by Julia Goncalves

Image by Tara Byars
 

JUMP TO A SPECIFIC WEEK: