/
Color and Texture Color and Texture

Color and Texture - PowerPoint Presentation

kittie-lecroy
kittie-lecroy . @kittie-lecroy
Follow
413 views
Uploaded On 2016-02-27

Color and Texture - PPT Presentation

Electromagnetic Spectrum Candelas sq meter Computer Screen 18 150 2 orders of magnitude Physiology Receptors Rods active at low light levels night vision only one wavelength sensitivity function ID: 233360

light texture ambient light0 texture light light0 ambient diffuse lighting sensitive color linear specular front gllightfv position blue surface

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Color and Texture" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Color and TextureSlide2

Electromagnetic SpectrumSlide3
Slide4
Slide5

Candelas / sq meter

Computer

Screen

1.8 - 150

~2 orders of magnitudeSlide6

Physiology: Receptors

Rods

active at low light levels (night vision)

only one wavelength sensitivity function

100 million rod receptors

Cones

active at normal light levels

three types: sensitivity functions peaks at different wavelengths (“red”, “green”, “blue”)

6 million cone receptors

Focused in the center of vision (fovea)Slide7

The basis of color vision

and measurement

Cone Sensitivity FunctionsSlide8

Sharp Aquos

pixelsSlide9

Gamma

g

There is a non linear relationship between the signal given to a monitor and the Luminance that results.

L = V

gSlide10

Acquos CurvesSlide11
Slide12

Important points

3 Cone types ->

Trichromacy

.

Need only three colors in monitor

Saturation is the vividness of a color. We cannot get full saturation

Luminance range is limited on a monitor

In the real world real world light is additive and linear.

Monitors are non-linear – must be corrected for accurate simulationSlide13

Basic CG lighting (for each vertex)

Diffuse = N.L

Specular

=

R.V

k

Ambient = Const

Specular

has color of illumination

Ambient and diffuse are influenced by the pigment in the surfaceSlide14

Lighting with cast shadowsSlide15

Specular

has the color of the

illuminationSlide16

Lambertian

reflection

Amount of light

Falling per unit area is

smaller as a function

Of the angle with the surface

cos

(

q

)

qSlide17
Slide18

Rendering approaches

Light Field

Ray Tracing

Radiosity

Direct polygon (simplification)

+ Combinations

of aboveSlide19

Illumination in

openGL

glLight

,

glLightModel

float

light_position

[] = {-10.0,20.0,20.0,1.0};

glLightfv

(GL_LIGHT0,GL_POSITION,

light_position); float ambient[] = { 0.4f, 0.4f, 0.4f, 1.0f }; glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); float

diffuse[] = {0.8f, 0.8f, 0.8f , 1.0f}; glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);Slide20

For a light at infinity

I

r

=

la

r

*ma

r

+

ld

r

*

mdr*(L·N) + lsr*msr*max(0,V·R)a To get specular use

V·Rawith similar equations for the green and blue components. Slide21

gLlighting

disables

glColor

, unless

glEnable

(GL_COLOR_MATERIAL); is set

glMaterialfv

(GL_FRONT, GL_SPECULAR,

specReflection

);

glMateriali

(GL_FRONT, GL_SHININESS, 20); // note exponent

glColorMaterial(GL_FRONT,GL_AMBIENT_AND_DIFFUSE);Slide22

28 parameters

glMaterialfv

(GL_FRONT,

GL_AMBIENT,

M_ambient

);

glMaterialfv

(GL_FRONT,

GL_DIFFUSE,

M_diffuse

);

glMaterialfv

(GL_FRONT, GL_SPECULAR, M_spec);glLightfv(GL_LIGHT0, GL_AMBIENT, L_ambient);glLightfv(GL_LIGHT0, GL_DIFFUSE,

L_diffuse);glLightfv(GL_LIGHT0, GL_SPECULAR, L_spec

);

glMateriali

(GL_FRONT, GL_SHININESS,

k);

+Lighting directionSlide23

More Lighting

Attentuation

float

light_position

[] = {-10.0,20.0,20.0,0.0};

glLightfv

(GL_LIGHT0,GL_POSITION,

light_position

);

If last number is zero, light is at infinity.

If non-zero Light is positioned.

flLightf

*GL_LIGHT0,GL_CONSTANT_ATTENUATION, const);flLightf*GL_LIGHT0,GL_LINEAR_ATTENUATION, linear.);flLightf*GL_LIGHT0,GL_QUADRATIC_ATTENUATION, quad);

attenuation = 1/(const+(linear*dist)+(quad*(dist*dist)))SpotlightsglLight(GL_LIGHT0,GL_SPOT_CUTOFF, 45.0); // a 45 deg cone

glLight

(GL_LIGHT0,GL_SPOT_EXPONENT, 2.0); // light concentration

Can have multiple lightsSlide24

Lets Simplify, A two component model of lighting

Lighting from a source at infinity.

+ Ambient light (the rest of our surroundings)

(Note that these can be turned into one)

The surface reflects in two ways

Diffusely, and

SpecularlySlide25

OpenGL Lighting

Separate ambient diffuse and

specular

components of both the light and the surface color. (12)

+ Light direction (3)

+ shininess (1)

Total 60 parameters.

Easy to end up with summed components >1.0 for

r,g,b

.Slide26

Phong Shading

Interpolate surface

normals

Then apply lighting pixel by pixelSlide27

Gouraud Shading

Calculate lighting at vertices, then interpolateSlide28

Textures and texture mapping

Used for 1) Images (a picture in a 3D scene)

2) For surface properties (wood, stone)

3) Lighting effects.

Techniques include procedural textures and texture mapping

OpenGL supports texture mapping.Slide29

Perlin Noise (procedural textures)Slide30

Cube earthSlide31

Properties of textures in OpenGL

1D, 2D, 3D

Must have dimensions defined by a power of two. E.g. 512/256 for a 2D texture.

Have a coordinate system (

s,t

) from 0-1.Slide32

glGenTextures

(4,texts

); // texts is an unsigned

int

glEnable

(GL_TEXTURE_2D);

glBindTexture

(GL_TEXTURE_2D, texts[1]); // make this the current texture

glTexParameteri

(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // wrap in S | GL_CLAMP

glTexParameteri

(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // wrap in T

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 513,512,0, GL_RGB, GL_UNSIGNED_BYTE, stripes);

glDisable(GL_TEXTURE_2D);Slide33

MipMaps

A hierarchy of textures

Helps with aliasingSlide34

Aliasing and anti-aliasingSlide35

Short wavelength sensitive cones

Blue text on a dark background

is to be avoided. We have very few

short-wavelength sensitive cones in

the retina and they are not very sensitive

Blue text on dark background

is to be avoided. We have very few

short-wavelength sensitive cones in

the retina and they are not very sensitive

Blue text on a dark background

is to be avoided. We have very few

short-wavelength sensitive cones in

the retina and they are not very sensitive.

Chromatic aberration in the eye is also a

problem

Blue text on a dark background

is to be avoided. We have very few

short-wavelength sensitive cones in

the retina and they are not very sensitiveSlide36

Opponent Process Theory

Cone signals transformed into new channelsSlide37

Color Channel Theory

Luminance contrast needed to see detail

3:1 recommended

10:1 idea for small textSlide38

Comparing the Channels

Spatial Sensitivity

Red/Green and Yellow/Blue each about 1/3 detail of Black/White

Stereoscopic Depth

Pretty much can’t do it with hue alone

Temporal Sensitivity

Moving hue-change patterns seem to move slowly

Form

Shape-from shading works well

Shape-from-hue doesn’t

Information Labeling: Hue works well!

Some natural philosophers

Suppose that these colors arise from the accidental vapours diffused in the air, which communicates their own hues to the shadow

Some natural philosophers

Suppose that these colors arise from the accidental vapours diffused in the air, which communicates their own hues to the shadow

Some natural philosophers

Suppose that these colors arise from the accidental vapours diffused in the air, which communicates their own hues to the shadowSlide39
Slide40