Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Procedural & Neural Solid Textures in a Path Tracer

CS 284A Final Project — UC Berkeley, Spring 2026

Overview

Two approaches to solid textures (3D volumetric material functions) integrated into the CS 184 HW3 path tracer:

  1. Procedural: Perlin noise, Worley noise, fbm, turbulence composed into wood/marble/stone/cloud materials with physically-based BRDFs
  2. Neural: SIREN networks trained with multi-scale VGG Gram matrix loss, exported as voxel grids for C++ rendering

Procedural Textures (C++)

cd hw3-pathtracer
mkdir build && cd build
cmake .. && make -j8

# Render procedural textures
./pathtracer -t 8 -s 64 -l 16 -m 5 -r 480 360 -f bunny_marble.png ../dae/sky/CBbunny_marble.dae
./pathtracer -t 8 -s 64 -l 16 -m 5 -r 480 360 -f bunny_wood.png ../dae/sky/CBbunny_wood.dae
./pathtracer -t 8 -s 64 -l 16 -m 5 -r 480 360 -f bunny_stone.png ../dae/sky/CBbunny_stone.dae

Neural Textures (Python → C++)

# Install dependencies
pip install -r requirements.txt

# Train SIREN + export voxel grids
python train_neural_textures.py --textures marble wood stone

# Render neural textures in the path tracer
cd hw3-pathtracer/build
./pathtracer -t 8 -s 64 -l 16 -m 5 -r 480 360 -f bunny_neural_marble.png ../dae/sky/CBbunny_neural_marble.dae

Key Files

File Description
hw3-pathtracer/src/pathtracer/perlin.h Perlin & Worley noise (from scratch)
hw3-pathtracer/src/pathtracer/bsdf.h ProceduralBSDF + VoxelTextureBSDF declarations
hw3-pathtracer/src/pathtracer/advanced_bsdf.cpp All BSDF implementations + texture functions
train_neural_textures.py SIREN training + voxel grid export
src/perlin.py Python Perlin/Worley noise
src/solid_textures.py Procedural texture functions (Python)
paper/main.tex Final report (ACM SIGGRAPH format)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages