40
Color and Texture

Color and Texture

  • Upload
    creola

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

Color and Texture. Electromagnetic Spectrum. Candelas / sq meter. Computer Screen 1.8 - 150 ~2 orders of magnitude. Physiology: Receptors. Rods active at low light levels (night vision) only one wavelength sensitivity function 100 million rod receptors Cones - PowerPoint PPT Presentation

Citation preview

Page 1: Color and Texture

Color and Texture

Page 2: Color and Texture

Electromagnetic Spectrum

Page 3: Color and Texture
Page 4: Color and Texture
Page 5: Color and Texture

Candelas / sq meter

Computer Screen

1.8 - 150

~2 orders of magnitude

Page 6: Color and Texture

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)

Page 7: Color and Texture

The basis of color visionand measurement

Cone Sensitivity Functions

Page 8: Color and Texture

Sharp Aquos pixels

Page 9: Color and Texture

Gamma g

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

L = Vg

Page 10: Color and Texture

Acquos Curves

Page 11: Color and Texture
Page 12: Color and Texture

Important points

3 Cone types -> Trichromacy. Need only three colors in monitorSaturation is the vividness of a color. We cannot get

full saturationLuminance range is limited on a monitorIn the real world real world light is additive and linear.

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

Page 13: Color and Texture

Basic CG lighting (for each vertex)

Diffuse = N.L

Specular = R.Vk

Ambient = Const

Specular has color of illumination

Ambient and diffuse are influenced by the pigment in the surface

Page 14: Color and Texture

Lighting with cast shadows

Page 15: Color and Texture

Specular has the color of the illumination

Page 16: Color and Texture

Lambertian reflectionAmount of lightFalling per unit area issmaller as a functionOf the angle with the surface cos(q)

q

Page 17: Color and Texture
Page 18: Color and Texture

Rendering approaches

• Light Field• Ray Tracing• Radiosity• Direct polygon (simplification)

• + Combinations of above

Page 19: Color and Texture

Illumination in openGLglLight, 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);

Page 20: Color and Texture

For a light at infinity

• Ir = lar*mar + ldr*mdr*(L·N) + lsr*msr*max(0,V·R)a

• To get specular use V·Ra

• with similar equations for the green and blue components.

Page 21: Color and Texture

• 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);

Page 22: Color and Texture

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 direction

Page 23: Color and Texture

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)))

• Spotlights– glLight(GL_LIGHT0,GL_SPOT_CUTOFF, 45.0); // a 45 deg cone– glLight(GL_LIGHT0,GL_SPOT_EXPONENT, 2.0); // light concentration

• Can have multiple lights

Page 24: Color and Texture

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 Specularly

Page 25: Color and Texture

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.

Page 26: Color and Texture

Phong Shading

• Interpolate surface normalsThen apply lighting pixel by pixel

Page 27: Color and Texture

Gouraud Shading

Calculate lighting at vertices, then interpolate

Page 28: Color and Texture

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.

Page 29: Color and Texture

Perlin Noise (procedural textures)

Page 30: Color and Texture

Cube earth

Page 31: Color and Texture

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.

Page 32: Color and Texture

glGenTextures(4,texts); // texts is an unsigned int

glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D, texts[1]); // make this the current textureglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // wrap in S | GL_CLAMPglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // wrap in TglTexParameteri(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);

Page 33: Color and Texture

MipMaps

• A hierarchy of textures• Helps with aliasing

Page 34: Color and Texture

Aliasing and anti-aliasing

Page 35: Color and Texture

Short wavelength sensitive cones

Blue text on a dark backgroundis to be avoided. We have very fewshort-wavelength sensitive cones in the retina and they are not very sensitive

Blue text on dark backgroundis to be avoided. We have very fewshort-wavelength sensitive cones in the retina and they are not very sensitive

Blue text on a dark backgroundis to be avoided. We have very fewshort-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 backgroundis to be avoided. We have very fewshort-wavelength sensitive cones in the retina and they are not very sensitive

Page 36: Color and Texture

Opponent Process Theory• Cone signals transformed into new channels

Page 37: Color and Texture

Color Channel Theory

• Luminance contrast needed to see detail

3:1 recommended10:1 idea for small text

Page 38: Color and Texture

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 philosophersSuppose that these colors arise from the accidental vapours diffused in the air, which communicates their own hues to the shadow

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

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

Page 39: Color and Texture
Page 40: Color and Texture