Download presentation
Presentation is loading. Please wait.
Published byAntony Wheeler Modified over 8 years ago
1
Graphics Graphics Lab @ Korea University kucg.korea.ac.kr 1 Lights & Material 고려대학교 컴퓨터 그래픽스 연구실
2
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 2 Contents Phone reflection model Diffuse, specular, and ambient reflections OpenGL lighting Specifying a light source Point, distant, and spot lights Specifying a material Exercise
3
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 3 DrawScene( ) – WireTeapot
4
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 4 Wired Utah Teapot
5
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 5 Phong Reflection Model Simple analytic model: Diffuse reflection + Specular reflection + Emission + “Ambient”
6
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 6 Diffuse Reflection (1/3) Assume surface reflects equally in all directions Examples: chalk, clay
7
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 7 Diffuse Reflection (2/3) How much light is reflected? Depends on angle of incident light dL dA cos
8
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 8 Diffuse Reflection (3/3) Lambertian model Cosine law (dot product)
9
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 9 Specular Reflection (1/3) Reflection is strongest near mirror angle Examples: mirrors, metals
10
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 10 Specular Reflection (2/3) How much light is seen? Depends on angle of incident light and angle to viewer
11
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 11 Specular Reflection (3/3) Phong model {cos( )} n
12
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 12 Emission Represents light emitting directly from polygon Emission ≠ 0
13
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 13 Ambient Term Represents reflection of all indirect illumination This is a total hack (avoids complexity of global illumination)!
14
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 14 OpenGL Lighting Must enable “lighting calculation” and each “light source” All colors will be assigned based on light sources and material properties not by glColor*( ) glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0);
15
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 15 DrawScene( ) – SolidTeapot
16
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 16 Solid Utah Teapot
17
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 17 Enable Lighting (1/3)
18
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 18 Enable Lighting (2/3)
19
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 19 Specifying a Light Source (1/2) Defaults for “glEnable(GL_LIGHT0)” No ambient light Diffuse and specular component – white (1.0, 1.0, 1.0, 1.0) Cf) Other lights – black (0.0, 0.0, 0.0, 1.0) Position – (0.0, 0.0, 1.0, 0.0) distant light
20
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 20 Specifying a Light Source (2/2) Create a light source light GL_LIGHT0, GL_LIGHT1, … param GL_POSITION, GL_DIFFUSE, GL_SPECLAR, GL_AMBIENT glLight{if}(GLenum light, GLenum param, TYPE value); glLight{if}v(GLenum light, GLenum param, TYPE *value); glLight{if}(GLenum light, GLenum param, TYPE value); glLight{if}v(GLenum light, GLenum param, TYPE *value);
21
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 21 Light Sources Distant light GL_POSITION, GL_DIFFUSE, GL_SPECULAR, GL_AMBIENT Point light GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION Spot light GL_SPOT_DIRECTION, GL_SPOT_CUTOFF, GL_SPOT_EXPONENT
22
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 22 Point Light Source (1/2)
23
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 23 Point Light Source (2/2)
24
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 24 Control of Light Position (1/4)
25
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 25 Control of Light Position (2/4)
26
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 26 Control of Light Position (3/4)
27
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 27 Control of Light Position (4/4)
28
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 28 Specifying All Terms (1/2)
29
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 29 Specifying All Terms (2/2)
30
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 30 Point Light – Attenuation (1/2)
31
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 31 Point Light – Attenuation (2/2)
32
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 32 Spot Light (1/4)
33
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 33 Spot Light (2/4)
34
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 34 Spot Light (3/4)
35
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 35 Spot Light (4/4)
36
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 36 Multiple Lights (1/2)
37
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 37 Multiple Lights (2/2)
38
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 38 Specifying a Material (1/5) Reflectivity properties of a material face GL_FRONT, GL_BACK, GL_FRONT_AND_BACK name GL_DIFFUSE, GL_SPECLAR, GL_AMBIENT, GL_AMBIENT_AND_DIFFUSE, GL_EMISSION, GL_SHININESS glMaterial{if}(GLenum face, GLenum name, TYPE value); glMaterial{if}v(GLenum face, GLenum name, TYPE *value); glMaterial{if}(GLenum face, GLenum name, TYPE value); glMaterial{if}v(GLenum face, GLenum name, TYPE *value);
39
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 39 Specifying a Material (2/5)
40
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 40 Specifying a Material (3/5)
41
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 41 Specifying a Material (4/5)
42
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 42 Specifying a Material (5/5)
43
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 43 White Shiny Material (1/2)
44
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 44 White Shiny Material (2/2)
45
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 45 Brass Material (1/2)
46
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 46 Brass Material (2/2)
47
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 47 Red Plastic Material (1/2)
48
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 48 Red Plastic Material (2/2)
49
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 49 Multiple Objects (1/2)
50
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 50 Multiple Objects (2/2)
51
KUCG Graphics Lab @ Korea University kucg.korea.ac.kr 51 Exercise Create yours!! color plate 25
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.