Skip to content

Jos Stam의 논문 기반으로 작성된 Real Time Smoke Simulation을 CUDA를 이용하여 3D로 구현하였다.

Notifications You must be signed in to change notification settings

keastmin/RealTime_SmokeSimulation3D_GPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RealTime_SmokeSimulation3D_GPU

Jos Stam의 논문 기반으로 작성된 Real Time Smoke Simulation을 CUDA를 이용하여 3D로 구현하였다.
그리드 기반의 연기 시뮬레이션으로 각 셀에 대하여 navier stokes 지배방정식을 red black gauss seidel 법을 통해 수치적으로 풀어냈다.
기존의 OpenGL만 이용한 방식보다 그리드의 개수가 많아도 성능을 낼 수 있도록 GPU 프로그래밍을 적용하였다.

사용 API

  • OpenGL
  • GLEW
  • GLFW
  • GLM
  • CUDA 12.2

시뮬레이션 환경

  • CPU : intel i7-10 10700K
  • GPU : RTX 3070 BLACK EDITION OC D6 8GB
  • RAM : samsung DDR4-3200(8GB) x 2

참고 논문

  • "Real-time fluid dynamics for games" by jos stam
  • "Stable fluids" by jos stam

컨트롤

  • WASD : 카메라 이동
  • 마우스 : 카메라 방향 전환
  • 키보드 1번 : 연기 표시
  • 키보드 2번 : 속도 표시
  • Z : 소스항 추가 및 외력 추가

추가 사항

  • main 코드의 add_force_source 함수를 통해 외력의 방향을 수정할 수 있음
  • FragmentShaderSL.txt 파일과 메인 소스 파일의 density 관련 함수와 코드의 수정을 통해 투명도를 조절할 수 있음

결과
Image Alt Text
Image Alt Text
Image Alt Text
Image Alt Text

About

Jos Stam의 논문 기반으로 작성된 Real Time Smoke Simulation을 CUDA를 이용하여 3D로 구현하였다.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published