A Simple Water Surface and Rendering -- FAN JIANG,WEN-CHENG
Two extra shots
Abstract

The main features of the system are graph effects using CG vertex and feagment shaders.
the system includes:

  • Generate the water surface : 2 kind water surfaces. one is ocean, and the other is pool.
  • Generating Camera Rays : using for lighting, reflection and Refraction.
  • Shapes and Ray-Surface Intersection :
    • Intersection: using for lighting, reflection and Refraction.
    • Shading: Implement a material that contains di?use, specular, and ambient terms.  
    • The material parameters should include coefficients that modulate diffuse, specular and ambient reflectance. 
    • The material should be able to deal with multiple point lights.
  • Reflection:  Extend your material model to include specular re?ection. You will need to cast rays recursively to follow the re?ected light path.
  • Refraction:  Add specular refraction to your material. Include Schlick’s approximation for Fresnel reflection.
  • Other:
    • ogre compositor for special effect.(real work with fragment shader.)
    • interactivity with water pool.
    • object moves according to ocean wave.(real work with
Abstract

The main features of the system are graph effects using CG vertex and feagment shaders.
the system includes:

  • Generate the water surface : 2 kind water surfaces. one is ocean, and the other is pool.
  • Generating Camera Rays : using for lighting, reflection and Refraction.
  • Shapes and Ray-Surface Intersection :
    • Intersection: using for lighting, reflection and Refraction.
    • Shading: Implement a material that contains di?use, specular, and ambient terms.  
    • The material parameters should include coefficients that modulate diffuse, specular and ambient reflectance. 
    • The material should be able to deal with multiple point lights.
  • Reflection:  Extend your material model to include specular re?ection. You will need to cast rays recursively to follow the re?ected light path.
  • Refraction:  Add specular refraction to your material. Include Schlick’s approximation for Fresnel reflection.
  • Other:
    • ogre compositor for special effect.(real work with fragment shader.)
    • interactivity with water pool.
    • object moves according to ocean wave.(real work with
Technical introduction
  • Generate the water surface :
    • ocean: VS: wave generation with sine and cosine fun.
  • Generating Camera Rays: material can auto input envirment variable to VS. then we can compute need vector using for lighting, reflection and Refraction in the FS.
  • Shapes and Ray-Surface Intersection :
    • Intersection: using for lighting, reflection and Refraction.
    • Shading:  Implement a material that contains diffuse, specular, and ambient terms(lighting) + reflection and Refraction + noise texture(more real).  The cofficient of the envirment can auto input from material. But it's effect is not clear. so, i use static value to set.
    • Reflection: using normal and eyevector to compute the real texcel.
    • Refraction: using normal and eyevector to compute the real texcel.
  • Other:
    • ogre compositor for special effect.(real work with fragment shader.) change traditional motion blur effect using red color ratio from center viewpoint.
    • interactivity with water pool. one class to simular water action in the ogre code.
    • object moves according to ocean wave.(real work with vertex shader.) object using vertex shader that be the same as ocean. but change a little part. all point's new y position according to center of the object.
Video