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: |
Shader Groups -A shading network is a collection of connected rendering nodes that defines how colors and textures contribute (usually with lights) to the final look of surfaces (materials). A shading network typically consists of any number of connected rendering nodes plugged into a shading group node.Shading networks are designed as a data flow network, where data streams from the left side of the network toward a final shaded result that emerges from the right node. The right most node (which is not always visible by default; click the Input and Output Connections button in the Hypershade to see it) is the Shading Group for that particular network.
The Shading Group is a collection of materials, textures, and lights that efficiently describe all the necessary attributes required to shade or render an image.
All of the nodes connected upstream (that is, farther to the left of the node) of the shading group contribute to the final look of surfaces in the scene. Adjusting any node's attributes or connections causes a downstream (that is, farther to the right) reaction that can be seen in the final rendered image.
![]()
Materials-We've already looked at some materials, but in addition to those common maya materials, there are many more both under the Maya Surfaces menu, and much lower under the Mental Ray Materials menu:
Anisotropic- Has the ability to control directional highlights Blinn- Specularity can be fine tuned by multiple sliders Hair Tube Shader- Default material for fur and hair (Maya Unlimited only) Lambert- No specularity, Very fast to render Layered Shader- Overlays 2+ Materials (see below) Ocean Shader - Default Material for Ocean Fluid Simulation (Maya Unlimited only) Phong- Specularity controlled by 1 slider Phong E- Specularity controlled by 1 slider, faster to render than Phong but simpler Ramp Shader - Great for Toon Shading and X-ray effects Shading Map- Lets you create various non-photorealistic shading effects, such as cartoon-style materials, or highlight threshold values in a rendered image. Surface Shader - Great for bouncing Photons in Global Illumination setups Use Background - Used for masking out alphas based on objects DGS Material - Individual sliders for Diffuse, Glossy, Specular, and Shininess by direction. Dielectric - Simulates two objects of various refraction settings, such as a plastic bottle filled with water, or a diamond coated in your oh so salty tears. mib_illum_blinn - See Blinn Above mib_illum_cooktorr - See Blinn Above, but, specularity can change based on angle mib_illum_hair - See Hair tube shader Above mib_illum_lambert - See Lambert Above mib_illum_Phong - See Phong Above mib_illum_ward - creates blurry reflections with direction, also has ambience controls mib_illum_ward_deriv - Basically a DGS shader with ambience controls miss shaders- Control Sub-Surface Scattering Effects where light enters the surface and scatters out at various levels. With the addition of mental ray light maps, have the ability to control back scatter as well, which is light entering the back of an object, and illuminating the front (think of your thumb when placed over a flashlight). path - computes Global Illumination (see week 6) on only this shader without computing GI or photons in the renderer transmat - Makes you object invisible
2D Textures-These Procedural Textures are dependant on your UV layout as they exist in 2d space.
Normal, Projection, Stencil- Controls the way in which the 2d texture interacts with the model based on the UV coordinates. Bulge - Like Grid (below) but with blur Checker - Not for Chess Cloth - Simulates the weave of fabric. Good for bump maps. File - References an external file(.jpg, .tiff, .tga, .etc......) Fluids - for Fluid Simulations (Maya Unlimited only) Fractal - Great for randomizing textures when layered Grid - Its a grid Mountain - Great for rocky bump maps Movie - allows you to play a quicktime movie as a texture Noise - also great for randomizing textures when layered Ocean - Like water but with whitecaps PSD - References mulitple layers of a photoshop .psd file Ramp - creates a controlable gradient Water - Allows you to control ripples based on amplitude and length
3D Textures-These Procedural Textures are INDEPENDANT of your UV layout. The exist throughout 3d space and your model merely swims through them. The Marble texture below is the easiest to understand of the group in this analogy in that you should picture a mountain made of marble with veins running through it. If I cut out a section of mountain I can see how that 3d texture applies to that mountian chunk I removed. We can make our objects stop swimming in our 3d Texture through a process called baking. See Week 8 Page.
Brownian - a type of 3d noise Cloud - similar to a 3d water Crater - similar to a 3d fractal Fluids - for Fluid Simulations (Maya Unlimited only) Granite - similar to a 3d mountain but with more options Leather- For Alligators, Iguanas, and Bears (see "Folsom Street+Chaps"). Marble- simulates marble Rock- similar to granite Snow- Will coat white at higher Yelevations Solid Fractal - A 3d Fractal Stucco- Similar to a smooth crater Volume noise - Another 3d noise Wood- has controllable growth rings Utilities- the utility nodes can be used to adjust the properties of any other nodes passed through them. Below is offered a sample of some of the more commonly used utilities. In Red is listed how to connect to this node. In Blue is listed how to connect this node to other nodes. An "X" indicated variability.
These two bump nodes control the scale of a bump map. They contail height information to scale the size of the bump.
In from your texture as Out Alpha to Bump Value
Out to the material as Out Normal to Normal CameraThese two placement nodes control the position of textures. They are created by default when you make a texture, but can be adjusted based on U and V directions to produce streaking or rotation. Only connects out by default.
Out to the texture as Out UV to UVCoord ...AND.... OutUVFilterSize to UV Filter SizeReverses the input data.
In from your texture as Out "X" to Input
Out to the material as Output to "X"Can condense or expand a range of values.
In from your texture as Out "X" to "X"
Out to the material as Out Value to "X"Multiplies or Divides the value that is input, such as intesifying contast by multipling a color by a value (input 2).
In from your texture as Outcolor to Input1 (or 2, or either)
Out to the material as Output to "X"Blends two textures and/or colors evenly across a surface, controling the amount of blend by a blender value (which is set to 50% by default but can also be mapped as for input).
In from your texture as Outcolor to Color1 (or 2, or either)
Out to the material as Output to "X"Desaturates your image file.
In from your texture as Outcolor to Value
Out to the material as OutValue to Color R, G, and B thru the connection editorCalculates the edge of object as opposed to where it faces towards you. Great for toonshaders, silhouettes, edge incandescene or transparency.
Out to the material as Facing Ratio to "X" thru the connection editor. Can also be used in combo with a ramp for more control. Go Out Facing Ratio to the V Coordinate of a Ramp (make sure the ramp is a V Ramp). Then Apply the ramp to the material.... HOMEMADE RAMP SHADER!!!!!Calculates the angle at which light is hitting the surface.
Out to the material as OutValue to "X" thru the connection editor. Can also be used in conjunction with a ramp.
Creating Layered Textures and ShadersLayered Textures- The Layered Texture node allows me overlap AND BLEND multiple textures to control one attribute at a time on a matierial (such as color, specularity, ambient color, etc...). In the example below, Checker1 is covering Crater1 based on the pattern of Grid1. The Grid controls the alpha slot on the layered texture, and the output of that layered texture is controling the color of the Lambert Material. 1 MATERIAL, MANY TEXTURES.
As mentioned above though, there are several ways to blend the textures together, as controlled by the Blend Mode (circled below). By default it is se to over, which simply overlaps the textures, but other modes such as: In, Out, Add, Subtract, Mulitply, Difference, Lighten, Darken, Saturate, Desature, and Illuminate work just like layers in Photoshop.
![]()
Layered Shaders-Like a layered texture, a Layered Shader allows us to combine material effects. However, whereas the Layered Texture was only capable of displaying a layering of one texture input (such as color, transparency or bump), the Layered Shader Overlays 2+ Materials (blinns with lamberts, anisotropics with phongs, any combo will do, even lamberts with lamberts.... *sinful!!!!!*), with the transparency of materials on top governing the visibilty of materials beneath. Notice how in the figure below the The flat (red) lambert masks out the Blinn material (blue) based on the Checker pattern filtered which governs the transparency on the lambert. NOTE: Transparency doesn't mask out specular highlights, so if the red material was a blinn, expect to see a highlight still present in the transparent area, which of course would warrent the use of a specular map as well.
This effect is the same as what we see happening in this render:
We can create very detailed effects using layered shaders. The following image has two layered shaders, both of which use the same base (the tile) but layer two different effects on top:The Tile is created procedurally with a combination of Grid and Bulge creating the grout and tile areas on a Blinn material. The Lines of the grid are filled with mountain which is controlled by a ramp to produce darker grout near the floor. The Specular Color has also been altered to accomidate more natural effects of randomness using fractal.
Ontop of this are two different layers per section. On the wall is an image of grafitti that is just a flat color on a Lambert material. To stencil this out, the same image is passed through an RGB to Luminence node which makes an alpha of the white areas. On the floor is an Anisotropic material with a puddle create from a .tiff file originating in photoshop. This file governs the transparency and is also combined with the Grid. Note the Blurred Reflections and the IOR which is set to 1.33.
MIDTERM QUIZ: You will be given several images of classical paintings to choose from. During a specified amount of time in class, you will create simple geometry (boxes, cones, spheres, etc...) mimicing the objects in the scene. Your task will be to render out an image with the correct color temperature for the lighting and for the surfaces of the objects, producing shadows where needed as well. You will be given images SIMILAR to the ones you see below:
![]()
![]()
Homework: Light and Texture the objects in the fruit bowl scene using only procedural textures. Try out as many of the techniques that we have already discussed as you can. In the image below I have linked lights, my camera has depth of field, I am using layered textures and shaders, and a hefty dose of the sampler info node/ramp texture node combo for ambience channels. I have applied bump maps and adjusted my specularity settings for each object. These are all factors you should take into account. ABOVE ALL ELSE: BE CREATIVE IN THE WAY YOU LINK YOUR NODES. Use the notes above, formulate a hypothesis, and conduct a texturing experiment! Give your best shot at making your fruit seem as realistic as possible using the (somewhat limited) procedural texturing tools.
Produce one render for week 6.
![]()
Image by Erik Davis
Image by Andrew Wong
Image by Yi Ou
Image by Iris-Lynne Malang
Image by Damain Hutchinson
Image by Josh Tyler
Image by Paul LeMay
Heres a look at the shader breakdown of the apple you see above:
![]()
JUMP TO A SPECIFIC WEEK: