개발하는 리프터 꽃게맨입니다.
컴퓨트 쉐이더를 이용한 Smoothed Particle Hydrodynamics Fluid 본문
참고문헌
https://cg.informatik.uni-freiburg.de/publications/2014_EG_SPH_STAR.pdf
사용 API
DirectX 11
입자의 데이터 구조
총 3개의 컴퓨트 쉐이더를 사용하여
파이프라인처럼 density, pressure -> force -> velocity, position 을 계산
핵심 구현 알고리즘
구현에 초점을 맞췄기에
근접 이웃을 찾지 않고 단순하게 전체를 루프
Compute Density Pressure
(4) 번 방정식을 이용하여 Wij를 계산
커널 함수는 논문에서 제시한 cubic spline 함수를 사용
앞서 계산한 밀도 값을 이용하여 압력 계산
사용한 코드
Compute Force
근사식을 이용하여 압력의 힘 벡터, 점성의 힘 벡터, 중력 등을 계산하여 합
2차미분 값을 찾는 부분에서 조금 헤맷다..
사용한 코드
Compute Integrate
마지막은 앞서 구한 물리량의 시간변화량을 고려하여 연산
더하여 매우 간단한 충돌 기능 구현
결과
'컴퓨터 그래픽스' 카테고리의 다른 글
전방위 그림자 매핑 (Omni directional shadow mapping) (0) | 2025.03.06 |
---|---|
PBR 물리 기반 렌더링 + 모델 로딩 + 반사 테스트 (0) | 2025.02.27 |
[Real-time Rendering] Chapter 2. The Graphics Rendering Pipeline (1) | 2025.01.24 |
[Real-time Rendering] Chapter 1. Introduction (1) | 2025.01.23 |
직접 만든 그래픽 엔진으로 여러가지 출력 (1) | 2024.09.05 |