CS 468 Cg Texture Mapping - PowerPoint PPT Presentation

About This Presentation
Title:

CS 468 Cg Texture Mapping

Description:

Bump Reflection Mapping. float4 normal = tex2D(NormalMap) ... transforms the normal, computes the reflected vector, and uses that to lookup into cubemap. ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 17
Provided by: jonm7
Category:

less

Transcript and Presenter's Notes

Title: CS 468 Cg Texture Mapping


1
CS 468Cg Texture Mapping
  • Jon Moon
  • Spring 2004
  • Computer Science
  • Cornell University

2
Agenda
  • NVIDIAs Cg Browser effects
  • Bump Mapping
  • Reflection Mapping
  • Thin Film
  • Bump Horizon Mapping
  • Car Paint
  • Bumpy Shiny Patch
  • Watch demo, understand the shaders

3
Cg Commands
  • saturate(x) same as clamp(x,0,1)
  • lerp(a,b,f) (1-f)a bf
  • lit(ndotl, ndoth, m) returns Blinn model
    ambient, diffuse, specular,1
  • length(x), distance(x1,x2), pow(x,y), etc.

4
Simple fp20 Bump Mapping
  • Goal Bumpy Earth
  • What should the FP do?
  • Vertex inputs?
  • Uniform Parameters?
  • Outputs?
  • Code?

5
Simple fp20 Bump Mapping
  • Goal Bumpy Earth
  • What should the VP do?
  • Inputs?
  • Uniform Parameters?
  • Textures?
  • Code?

6
Texture reads in Cg
  • Need uniform parameter for the texture itself
    sampler2d, sampler3d, etc.
  • Need to call appropriate texture read function,
    with appr. Params tex2d(my2dTexture, myCoords)

7
Simple fp20 Bump Mapping
  • Texture read code (out of context)
  • float2 decalCoords TEXCOORD0
  • uniform sampler2D decal, etc.
  • float3 decalColor tex2D(decal,
    IN.decalCoords).rgb
  • OpenGL side will be covered next week!

8
Bump Reflection Mapping
  • Goal Achieve reflection using normal map,
    environment map
  • What kind of textures will we use?

9
Bump Reflection Mapping
  • float4 normal tex2D(NormalMap)
  • Color texCUBE_reflect_dp3x3(EnvironmentMap,
    TangentToCubeSpace0, TangentToCubeSpace1,
    normal)
  • transforms the normal, computes the reflected
    vector, and uses that to lookup into cubemap.

10
Thin Film Interference
  • Goal
  • produce thin film color patterns (think oil or
    soap bubbles)
  • Plan
  • calculate the depth of film on the surface of
    object, based on view/normal angle
  • Use depth as lookup and get color, use that to
    modify specular component

11
Bump Horizon Mapping
  • Goal bump mapping with self-shadowing
  • Theory create horizon maps that store the
    elevation angle needed in a particular direction
    at each point
  • Use the horizon maps nearest the light direction
    to find elevation, compare to light vector

12
Bump Horizon Mapping
  • Can encode 4 horizon maps in one texture, with 1
    elevation in each RGBA value.
  • Thus horizon maps for 8 cardinal directions (N,
    NE, etc.) can be encoded nicely in 2 textures

13
Car Paint
  • Goal Make realistic car paint
  • Fresnel effect
  • Flecks in paint
  • Wavy normals
  • Reflection
  • Fancy paint BRDF
  • Plan Use a ton of textures

14
Bumpy Shiny Patch
  • Goal (go watch it!)
  • What mapping effects are being used?

15
Other possibilities?
  • Iridescence color is view dependent
  • Gloss mapping reflectivity differs over object
  • Height field, offset bump maps
  • Be creative! Be clever!

16
Resources
  • Cg User Manual
  • http//developer.nvidia.com/object/cg_users_manual
    .html
  • Also in Cg Toolkit folder
  • Cg Browser download
  • http//developer.nvidia.com/object/cg_toolkit.html
  • Part of the Cg Toolkit (100 MB)
Write a Comment
User Comments (0)
About PowerShow.com