Noise and Procedural textures

Wednesday | Friday
Perlin noise and more

Reading

Adrian Biagioli's review of Perlin noise, including references to Prof. Matt Zucker's undergrad writeups on the topic (that somehow got hosted in Sweden)

ScratchPixel has two very in depth articles Part 1, Part 2 on different kinds of noise, primary methods for generating noise, and common applications.

The Book of Shaders has similar notes on random and Perlin noise, but has some nice demos of Cellular Noise as well.

Íñigo Quílez has several great articles on graphics in general and procedural content/noise in general. You should also check out his ShaderToy project.

Observable is another shareable demo platform like ShaderToy but less GLSL specific. The link shows several noise related demos.

Squiggle Vision

A eyeball tutorial with fbm noise

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
add_subdirectory(w06-nmap)

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 the line below
add_subdirectory(w10-noise)

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 w10-noise
./test_noise
The program does not pop up a window. Instead it writes some png files that you can view in the file browser, the web browser, or an image editor like eog.