Cs 468 cg texture mapping
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

CS 468 Cg Texture Mapping PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on
  • Presentation posted in: General

CS 468 Cg Texture Mapping. Jon Moon Spring 2004 Computer Science Cornell University. Agenda. NVIDIA’s Cg Browser effects Bump Mapping Reflection Mapping Thin Film Bump Horizon Mapping Car Paint Bumpy Shiny Patch Watch demo, understand the shaders. Cg Commands.

Download Presentation

CS 468 Cg Texture Mapping

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cs 468 cg texture mapping

CS 468Cg Texture Mapping

Jon Moon

Spring 2004

Computer Science

Cornell University


Agenda

Agenda

  • NVIDIA’s Cg Browser effects

    • Bump Mapping

    • Reflection Mapping

    • Thin Film

    • Bump Horizon Mapping

    • Car Paint

    • Bumpy Shiny Patch

  • Watch demo, understand the shaders


Cg commands

Cg Commands

  • saturate(x): same as clamp(x,0,1)

  • lerp(a,b,f): (1-f)*a + b*f

  • lit(ndotl, ndoth, m): returns Blinn model {ambient, diffuse, specular,1}

  • length(x), distance(x1,x2), pow(x,y), etc.


Simple fp20 bump mapping

Simple fp20 Bump Mapping

  • Goal: Bumpy Earth

  • What should the FP do?

    • Vertex inputs?

    • Uniform Parameters?

    • Outputs?

    • Code?


Simple fp20 bump mapping1

Simple fp20 Bump Mapping

  • Goal: Bumpy Earth

  • What should the VP do?

    • Inputs?

    • Uniform Parameters?

    • Textures?

    • Code?


Texture reads in cg

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)


Simple fp20 bump mapping2

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!


Bump reflection mapping

Bump Reflection Mapping

  • Goal: Achieve reflection using normal map, environment map

  • What kind of textures will we use?


Bump reflection mapping1

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.


Thin film interference

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


Bump horizon mapping

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


Bump horizon mapping1

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


Car paint

Car Paint

  • Goal: Make realistic car paint

    • Fresnel effect

    • Flecks in paint

    • Wavy normals

    • Reflection

    • Fancy paint BRDF

  • Plan: Use a ton of textures


Bumpy shiny patch

Bumpy Shiny Patch

  • Goal: (go watch it!)

  • What mapping effects are being used?


Other possibilities

Other possibilities?

  • Iridescence: color is view dependent

  • Gloss mapping: reflectivity differs over object

  • Height field, offset bump maps

  • Be creative! Be clever!


Resources

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)


  • Login