Modelling Revisited
Total Page:16
File Type:pdf, Size:1020Kb
11/27/2016 2 THIS WEEK’S OBJECTIVES The main goal is to get upto scratch with MAX and do a few things we explored in POVray: 1. CSG 2. Material and Texture: a) Material properties b) Texture maps c) Image Maps MATERIALS REVISITED d) Global Illumination Material Modelling in 3DS Max e) Environment Maps 3. Lights 3 MATERIALS MODELLING 4 MODELLING COMPLEXITY Visual appearance of objects depends on properties of the materials they are made of. Modelling implies manual creation of objects by artists/modellers In order to achieve realism or complexity of the real world, several options Lots of manual work Scanning Procedural generation Materials in MetaSL © NVIDIA ARC GmbH How we represent materials depends on the rendering technique used Realistic techniques require physical parameters e.g. density, index of refraction, etc. Often, intermediate information is used (“colour”) to allow more direct control over appearance Surface Appearance Scanner at Columbia University © Columbia Univ. 5 TEXTURES 6 RECAP: PHONG ILLUMINATION MODEL Light reflected off a point always depends on some (or all) of the following vectors: DIFFUSE REFLECTION is the main Textures add complexity to scenes without additional geometry contributor to the colour of an object. 풏 The colour (intensity) of light reflected off an object is determined by: Approximate using an image how additional geometry will affect the final rendering 풗 • Light Intensity (푅), 풍 • Diffuse reflectance of material (푘푑) 풓 • and the angle between Surface 휃 휙 Many different types: Normal and the Light Direction 휃. Diffuse map (most common, this is what we’ve used): assigns colours to points on an object 퐼푑 = 푅. 푘푑. 푐표푠θ Ambient, specular, gloss maps: assigns different illumination parameters (as in Phong Model) 풏: Normal to surface 풗: Viewer direction 풍: Light Direction 풓: direction of reflection Bump, normal, displacement maps: affects the illumination by modifying normal etc. Reflection, refraction maps (approximating more complex global illumination effects) SPECULAR REFLECTION causes small glossy highlights on the surface of smooth objects Intensity is affected by • Light Intensity (푅) • Specular reflectance of material (푘푠) • Glossiness/shininess (훼) • Angle between Viewer and Direction of Reflection 휙 AMBIENT ILLUMINATION caters for randomly scattered light in the scene. Multiply ambient light in scene (푅푎) with 훼 ambient reflectivity (푘푎) 퐼푠 = 푅. 푘푠. cos 휙 퐼 = 푅. 푘 DIFFUSE MAP GLOSS MAP BUMP MAP REFLECTANCE MAP 푎 푎 1 11/27/2016 7 SHADING ALGORITHM (A.K.A. SHADER) 8 RECAP: RENDERING EQUATION N.B. No need to understand this equation, but it is important to know what factors affect it Light received Occlusion / Emission from a point distance 퐼 푥, 푥′ = 푔 푥, 푥′ [휀 푥, 푥′ + න 휌 푥, 푥′, 푥′′ 퐼 푥′, 푥′′ 푑푥′′] 푆 Reflectance: Reflected Light Incoming Light Local Illumination: Diffuse Repeat the process of calculating illumination across the surface of each Specular object – we can take shortcuts by calculating lighting just once for each Ambient vertex – and then interpolating between vertices Global Illumination Reflection Transmission / refraction 퐼 푥, 푥′ = 푔 푥, 푥′ [휀 푥, 푥′ + න 휌 푥, 푥′,푥′′ 퐼 푥′,푥′′ 푑푥′′] 퐼 푥, 푥′ = 푔 푥, 푥′ [휀 푥, 푥′ + න 휌 푥, 푥′,푥′′ 퐼 푥′,푥′′ 푑푥′′] 푆 푆 9 10 DIFFUSE MAP AFFECTS: Reflected Light SPECULAR MAP Specular Reflected Light Simplest texturing directly applies a colour to object In basic illumination colour is mostly based on diffuse component Specular level + Specular color Controls the intensity of specular highlights Glossiness (“Gloss Map”) / Shininess Control the specular exponent in Phong light model Or roughness in other light models 퐼 푥, 푥′ = 푔 푥, 푥′ [휀 푥, 푥′ + න 휌 푥, 푥′,푥′′ 퐼 푥′,푥′′ 푑푥′′] 푆 11 12 SPECULAR+ GLOSSINESS MAP SELF-ILLUMINATION MAP Emitted Light A.k.a. Emission Models light sources on a surface Does not depend on surface normal or light sources. Diffuse Color Specular Color Glossiness Shiny Specular map allows a subset of object to be Dull shiny (without making the whole object uniformly shiny) 2 11/27/2016 퐼 푥, 푥′ = 푔 푥, 푥′ [휀 푥, 푥′ + න 휌 푥, 푥′,푥′′ 퐼 푥′,푥′′ 푑푥′′] 퐼 푥, 푥′ = 푔 푥, 푥′ [휀 푥, 푥′ + න 휌 푥, 푥′,푥′′ 퐼 푥′,푥′′ 푑푥′′] 푆 푆 13 14 VISIBILITY MAPPINGS Occlusion BUMP MAP All Reflected Light Displacement Map Use texture as an input to perturb geometric representation Shift in texture lookup based on view-ray intersection with heightfield Can account for occlusions Opacity Map Transparency mapping across primitive BUMP MAP OBJECT WITH DIFFUSE TEXTURE 퐼 푥, 푥′ = 푔 푥, 푥′ [휀 푥, 푥′ + න 휌 푥, 푥′,푥′′ 퐼 푥′,푥′′ 푑푥′′] 푆 15 16 LIGHT MAPS Incoming Light ENVIRONMENT MAPPING Incoming Light 퐼 푥, 푥′ = 푔 푥, 푥′ [휀 푥, 푥′ + න 휌 푥, 푥′,푥′′ 퐼 푥′,푥′′ 푑푥′′] 푆 Approximation of complex lighting in scene Approximation of incoming light from scene TEXTURED ENVIRONMENT Pre-computed incident light across 2D surfaces Global effects, such as reflection and refraction require information on light coming in from the scene When there are multiple light sources it can be too But it usually too expensive to illuminate the whole scene complex to calculate how they illuminate surfaces Approximate “the rest of the scene” as images If the light and object are not expected to move, we can use static textures that capture the effect of lighting the object LIGHT MAPS ONLY Very popular technique in computer games © 2003, Keshav Chana and FLipcode COMBINED TEXTURES AND LIGHTMAPS 18 TEXTURE MAPPING For 2D textures, we need a 3D to 2D mapping Sometimes called a “projector function” Object Space UV-MAPPING Each vertex in the model will need a (u,v) co-ordinate Normally defined by the artist and added to the vertex stream 3 11/27/2016 19 UV MAPPINGS LIGHTS 21 22 LIGHTS Positional/Point Light: light source Directional Light: light source is near – distorts shadow is far away Positional Light Source: Angle of incoming light changes across a surface; This in turn affects colour at different points. Directional Light Source: source is very distant thus the angle of incoming light remains (almost) constant 23 LIGHTING 24 LIGHT AND SHADOW On the Command Panel: When you create a lightsource, you can choose to Under the “Create” tab let it cast shadows (by default this is off for some Select Lights lights) Start with “Standard” Lights for now Spot and Omni are Positional lights The choice of shadow renderer affects the quality “Direct” indicates a Directional light of the shadow some are more realistic but conversely cause the Target and Free simply refer to how the light can be moved rendering to take a longer time (transformed) in max Target remains aimed at a certain point when you translate it Free remains facing a certain direction when you translate it 4 11/27/2016 25 MATERIALS M 26 BASIC SHADERS Press M or click on the material icon to bring up the Shader Basic Parameters material editor window. Choose a types: This stores all current materials used in your scene. Phong – we know this one already You can drag any existing material onto objects in your scene. Blinn – a more accurate version of Phong You can also load in materials from other .MAT libraries Strauss – metallic objects Oren-Nayer-Blinn – matte surfaces Selecting any shader changes the nature of the Basic Parameters and Extended Parameters 27 THE MAPS ROLLOUT 28 TEXTURES To Texture Map an object, most frequently we Maps allow you to apply a filter or pattern change its diffuse mapping to some of the objects properties recall that diffuse is what mostly affects an object’s colour The Map will decide which colors (or distortions in the case of some mappings) In effect, we give MAX a function which will decide the colour of individual points on the object The map can be derived from an image or procedurally (from some mathematically defined function) 29 30 MATERIAL BROWSER Once you select a map the material Editor window changes. The Material/Map Browser gives you a list of existing functions you can map to a material Additional ones can be generated or imported from outside sources Here we selected marble so Most of these are procedural and can apply the editor shows options for to both texture and bump/normal maps affecting the marble procedure To add your own image use BITMAP To go back to the original object (and perhaps add other effects, click “Go To Parent” 5 11/27/2016 31 HIGHLY REFLECTIVE OBJECTS 32 REFRACTION For refraction choose a Refraction map and in the Maps window choose Raytrace The index of refraction (IOR) value can be changed under Extended Parameters (you may have to click “Go to Parent” to get there) If you don’t see this select a Blinn or Phong Shader Tick reflection – click on the map button to bring up the Material/Maps browser Select Raytrace 33 BUMP MAPS 34 DISPLACEMENT MAPPING Displacement mapping actually changes the geometry before rendering – displaced “bumps” can actually occlude and cast shadows on other objects. Tick Bump under the Maps rollout. In the Material/Map Browser. Select a preset pattern or Load Exaggerated displacement Click on the Map to open the one from an image file by mapping with same texture as Material/Map Browser selecting Bitmap previous slide 35 ENVIRONMENT MAP 36 An environment map (similar to the sky_sphere in POV-Ray) adds a background texture which can add an extra touch of realism to your reflective/refractive (ray-traced) objects Cylindrical mapping Under the co-ordinates roll-out. Spherical mapping Click Environ.