3480 - Joseph Shafer Computer Graphics Project Idea

Raytraced Water Ripples

My computer graphics elements...

photo-realistic rendering

light transmission

bump map cycling

texture mapping

To demonstrate my study...

Example Gif of Water Ripples

Progress images and gifs of ripples using graphics techniques learned in class

Lab 8 Raytracer as a Framework

Final Gif showcasing project

Project Examples and Progress

Example Gif:

water animation gif

Project Progress Timeline

Using Lab 8

moving waves

Made the water and light move a bit.

ripples and normals

Used some ideas from this tutorial on water ripples to make a better looking effect. No mesh net used here, but followed the way they manipulate normals near the bottom of the page.

water ripples

Using the way to manipulate normals from lab 11.

How this is achieved is using two disks with a specular highlight in the center of the blue one. One is blue, and the other is a transparent disk layered right above. The clear disk acts as a surface for the waves. I turned off the clear disks ability to make shadows to maintain the color of the disk underneath. There are 3 points the ripples start from to make the water look more choppy.

perlin water texture perlin

Experimented with making ripples using perlin noise instead of a sin wave. Also tried making a texture effect below the water with perlin noise. Not sure if I'll use these for my project but I thought it looked interesting.

Thanksgiving Break Progress

grid of refraction

This was an early attempt of using refraction to cause the lines on a texture to move in a way similar to water. Here there is two connected triangles with a texture on them. Between the texture and the raytracer camera is a 100 clear triangle mesh that change their index of refraction randomly each frame.

normals move

Here I attempted to see if creating a transparent disk and spinning it around a point would create the desired effect. This is achieved by manipulating the X and Z directions of the normal of the transparent disk with sinusoidal functions.

wavy texture moving water

Both these images use the same equation to create their effects, with the first one using the equation for the color of the floor and the second one using the equation for the index of refraction.

Pseudocode Explanation:

x = x coordinate / 200
z = z coordinate / 50
// replace refraction with color for first image
objectIndexOfRefraction = (sin(x + sin(z) + time) / π) + 1

As the raytracer iterates through every pixel the index of refraction changes slightly based on this equation using inputs of x, z, and time.

water ripples

Adding Ripples back to above gif

Lab 15 Work

water ripple with refraction

Attempt to make gif seamless. Closer than above gif but still a work in progress.

Final Gif

looping water ripple

Cleaned up the looping by making the index of refraction at each point increment until the halfway point, then decrement until the final frame.

Class Labs and Images

Lab 6 Animation

rocket launch

{{ message }}

Ray Trace Labs

Lab 8 & 9

refracted ball lab 8 animation

Lab 12 Fractal


Lab 13 Logo

imposter among us