Skip to content
This repository was archived by the owner on Jun 10, 2026. It is now read-only.

lottery7/High-Performance-BVH-Builder-In-CUDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

High Performance BVH Builder in CUDA

image

Репозиторий дипломной работы по теме:
«Реализация и оптимизация алгоритма параллельного построения BVH на GPU для рендеринга в реальном времени»

Todo

Датасеты

Все недостающие модели можно скачать отсюда

  • Gnome - простая модель гнома: 1 297 вершин, 764 треугольника. Уже добавлена в репозиторий.
  • Sponza - модель атриума дворца Sponza в версии Crytek: 184 330 вершин, 262 267 треугольников.
  • Chinese Dragon - модель китайского дракона из Stanford Scan: 438 929 вершин, 871 306 треугольников.
  • Happy Buddha - модель смеющегося Будды из Stanford Scan: 549 333 вершины, 1 087 474 треугольника.
  • Hairball - модель массы тонких волосков от NVIDIA Research: 1 441 098 вершин, 2 880 000 треугольников.
  • Rungholt - средневековая деревня, экспортированная из Minecraft: 12 308 528 вершин, 6 704 264 треугольника.
  • San Miguel - детальная модель местности в Сан-Мигель-де-Альенде, Мексика: 5 933 233 вершин, 9 980 699 треугольников.
  • Powerplant - полная модель угольной электростанции: 10 614 919 вершин, 12 759 246 треугольников.

Локальная сборка

Сборка через CMake:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target run_experiments -j

При необходимости тесты топологии H-PLOC можно собрать так:

cmake --build build --target hploc_topology_tests -j

Локальный запуск

Запускать run_experiments нужно из корня репозитория, чтобы относительные пути к data/ и results/ работали корректно.

Формат запуска:

./build/run_experiments \
  --bench_iters <N> \
  --experiments <список_экспериментов> \
  --scenes <список_сцен> \
  [--disable_warmup] \
  [--device <id>]

run_experiments использует adaptive warmup на CUDA events: перед замером каждый этап прогревается минимум 5 секунд, после чего раннер проверяет стабилизацию медианы. Если за 60 секунд стабилизации нет, печатается предупреждение. Для отключения прогрева есть флаг --disable_warmup.

Поддерживаемые эксперименты:

  • lbvh
  • hploc
  • hploc_bvh4
  • hploc_bvh8

Пример запуска:

./build/run_experiments \
  --bench_iters 10 \
  --experiments hploc,hploc_bvh4,lbvh \
  --scenes data/gnome/gnome.ply,data/powerplant/powerplant.obj

Пример запуска одного эксперимента на одной сцене:

./build/run_experiments \
  --bench_iters 5 \
  --disable_warmup \
  --experiments hploc_bvh4 \
  --scenes data/hairball/hairball.obj \
  --device 0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors