Noise and Procedural textures

Wednesday | Friday
Perlin noise wrapup

Examples updates

Let's fetch this week's upstream changes.

$ cd ~/cs40/examples
$ git fetch upstream
$ git merge -X ours upstream/master

After this step, you will need to manually edit the top level CMakeLists.txt to add the new subdirectories.

$ tail ~/cs40/examples/CMakeLists.txt
if(CMAKE_CUDA_COMPILER)
  add_subdirectory(w07-cuda-pt1)
  add_subdirectory(w07-cuda-pt2)
  add_subdirectory(w08-cuda-patterns)
endif()

add_subdirectory(w09-particles)
add_subdirectory(w10-noise)
#add the line below
add_subdirectory(w11-noise2)

No symlink this week. We're making our own textures!

If everything went well, you should be able to go into your build directory and run make -j8 to compile the week 10 examples.

cd build
make -j8
cd w11-noise2
./clouds

This application is similar to your week1 lab in that it edits images. In the MyImageBox constructor, you can set the number of images you want to create (currently 1), and it will call makeImage(z), similar to our noise demos from last week. A QTimer object is set up to repeatedly trigger a step() event which cycles through the images.

The image is currently set in cloudColor to be a white to blue gradient using smoothstep. It has some color, but it is kind of bland. Let's improve this with noise.