← back to portfolio
yanghyunw00.github.io / portfolio.txt / academic / value-noise.txt

Value Noise

DigiPen CS250 Computer Graphics
course DigiPen CS250 stack C++ · OpenGL · ImGui

# Overview


This assignment implements Value Noise in C++ using OpenGL, procedurally generating seamlessly tileable noise textures displayed on a screen-space quad. The implementation builds a reusable noise system around a permutation hash and configurable interpolation, supporting 1D, 2D, and 3D evaluation, multiple patterns, and live ImGui controls for period size, smoothing method, tiling scale, and dimension.

# Tasks Completed


# Reflection


This assignment was less about the rendering pipeline and more about the math and data structures behind procedural generation, so most of the difficulty came from understanding new vocabulary rather than OpenGL itself. The hardest concept was the permutation hash, since the idea that one shuffled table could deterministically produce pseudo-random values for any coordinate was not intuitive at first. It also took time to understand how the bitwise mask creates seamless tiling, which only became clear once the tiling scale was set higher. Working through each piece concretely instead of treating the noise as a black box made the whole system eventually make sense.

# Demo


Live WebAssembly build — interact with it directly in the frame above.

← back to portfolio