GPU를 이용한 포톤 매핑 기반 볼륨 렌더링의 가속화 기법
GPU-Assisted Acceleration Techniques for Photon-Mapping Based Volume Rendering
- 주제(키워드) 볼륨렌더링 , GPU , 포톤매핑
- 발행기관 서강대학교 대학원
- 지도교수 임인성
- 발행년도 2009
- 학위수여년월 2009. 2
- 학위명 석사
- 실제URI http://www.dcollection.net/handler/sogang/000000044854
- 본문언어 한국어
초록/요약
구름, 불, 연기 그리고 폭발 등은 영화나 3차원 애니메이션을 위한 특수 효과 생성에 있어서 매우 중요한 요소 중의 하나이다. 볼륨 렌더링 기법은 이러한 반투명 물질을 가시화하기 위해 사용되어 온 전통적인 방법으로 생성된 이미지의 사실성에 있어서 매우 높은 성능을 보이는 반면 많은 계산 시간을 요구하는 단점이 있다. 이에, 본 연구에서는 전통적으로 3차원 볼륨 렌더링에 사용되어온 광선 진행법 및 전역 조명 효과의 다중 산란을 효율적으로 표현 가능한 포톤 매핑 방법을 기반으로 한 볼륨 렌더링 방법의 전체 계산 과정을 최근 CPU 대비 많은 프로세서 코어를 가지고 보다 빠르게 병렬처리 할 수 있는 프로그래밍 가능한 그래픽스 프로세서(Graphic Processing Unit : GPU) 안에서 가속하려 하기 위하여 GPU의 메모리 관리, 레지스터 및 명령어 수의 제한 등을 고려하여 GPU에 적합한 새로운 알고리즘을 제안한다. 본 연구에서는 볼륨 렌더링의 전체 파이프라인을 3차원 격자 상에서 밀도 정보 생성, 단일 산란 및 다중 산란의 계산, 광선 진행 등의 세부분으로 분할한 후, 각 부분들을 그래픽스 프로세서를 통해 고속으로 가속하여 본래의 볼륨 렌더링 방정식을 변형하지 않고, 계산 시간을 줄임으로써 고품질의 영상을 매우 빠른 시간에 렌더링 할 수 있도록 한다. 또한 빠른 계산 속도를 이용하여 기존의 렌더링 시간으로는 표현하기 어려웠던, 환경 맵이나 모션 블러와 같은 다양한 효과에 대하여 효율적으로 적용하고, 기존에 밀도의 세밀한 부분을 보다 자연스럽게 표현하기 위하여 밀도장에 적용한 노이즈를 볼륨 렌더링 파이프라인의 다양한 상황에 적용하는 방법을 제시하여 보다 사실적으로 반투명 물질을 표현할 수 있도록 한다.
more초록/요약
To render the participating media such as cloud, fire, smoke and explosion, is important to create visual effects for the Computer Graphics Industry. Although we recognize that volume rendering is the traditional technique to visualize the participating media as well as creating realistic images with global illumination, it has a significantly computation cost. Recently, the Graphics Processing Unit(GPU) has many processing core than CPU’s. So we can compute quickly by using GPU’s high parallel system. Using this new technological advancement, we attempt to accelerate the volume rendering based ray-marching and photon mapping on GPU. But GPU has still many limitations such as memory management, the number of register or instruction. So, we suggest that the new volume rendering pipeline to consider GPU limitation. And each part will accelerate the appropriate method without simplifying of volume rendering equation as well as rendering the participating media on interactive time with a high quality on the GPU. By improving the rendering time, we also can advance the effect of a motion blur or an environment map, which are difficult to express due to extreme computation cost. Finally, we introduce methods to apply the noise to the variety situation of the volume rendering pipeline to represent the detail of participating media.
more목차
제1장 서론 = 1
1.1 연구배경 및 목적 = 1
1.2 본 논문의 기여도 및 구성 = 4
제2장 관련 연구 = 5
2.1 반투명 물질의 밀도 표현 = 5
2.2 반투명 물질의 렌더링 = 6
2.3 GPU를 이용한 일반적인 렌더링 연산 = 9
제3장 포톤 맵 기반의 볼륨 렌더링과 GPU 파이프 라인 = 11
3.1 반투명 물질에 대한 포톤 맵 기반의 볼륨 렌더링 = 11
3.1.1 볼륨 렌더링 방정식 = 11
3.1.2 광선 진행법(Ray Marching) = 13
3.1.3 포톤 맵 기반의 볼륨 렌더링 = 15
3.2 노이즈 생성 = 16
3.3 프로그래밍 가능한 그래픽스 프로세서 = 18
3.3.1 최근 GPU의 성능 = 18
3.3.2 GPU 파이프 라인 = 19
3.3.3 그래픽스 파이프라인을 이용한 광선처리 = 21
제4장 GPU 상에서 포톤매핑 기반의 볼륨 렌더링 가속화 기법 = 23
4.1 GPU 기반의 볼륨 렌더링 파이프라인 = 23
4.1.1 볼륨 렌더링 파이프라인 개요 = 23
4.1.2 파티클 데이터로부터 격자 기반의 밀도장생성 = 25
4.1.3 다중산란을 위한 포톤 추적 = 29
4.1.4 격자 기반의 광도장에 다중산란의 광도 계산 = 33
4.1.5 격자 기반의 광도장에 단일산란의 광도 누적 = 34
4.1.6 위상함수 = 35
4.1.7 밀도장과 광도장을 이용한 광선추적 = 36
4.2 볼륨 렌더링을 위한 다양한 효과 = 37
4.2.1 밀도 노이즈 = 37
4.2.2 볼륨 렌더링 파이프라인에 다양한 노이즈적용 = 38
4.2.3 환경 맵 = 40
4.2.4 모션블러 = 41
제5장 실험 결과 = 42
5.1 CPU와 GPU상에서의 수행 결과 비교 = 43
5.1.1 렌더링 결과를 통한 비교 = 44
5.1.2 파티클 데이터로 부터 밀도장 생성 = 46
5.1.3 다중산란을 위한 포톤 추적 = 48
5.1.4 격자 기반의 광도장에 다중산란의 광도 계산 = 51
5.1.5 단일산란의 광도 누적과 광선 추적 = 52
5.2 볼륨 렌더링을 위한 다양한 효과 = 54
5.2.1 다양한 노이즈 효과 = 54
5.2.2 환경 맵과 모션 블러 = 57
제6장 결론 및 추가 연구과제 = 61
그림차례
3.1 반투명 물질 안에서의 빛의 반응 = 12
3.2 광선 진행과 단일산란 및 다중산란 = 14
3.3 1차원 펄린 노이즈 = 16
3.4 밀도장에 노이즈 적용하여 렌더링 한 결과 = 17
3.5 CPU 대 GPU 성능 비교[1] = 18
3.6 프로그래밍 가능한 그래픽스 프로세서의 파이프 라인 = 19
3.7 GPU 안에서 광선처리 방법 = 21
4.1 볼륨 렌더링 파이프라인 개요 = 24
4.2 텍스쳐를 이용한 균일 격자 구조 = 27
4.3 구간별 투영법 = 28
4.4 포톤 추적을 위한 파이프라인 개요 = 29
4.5 각 격자점에서 단일산란 계산 = 34
4.6 Henyey-Greenstein 위상함수 = 35
4.7 밀도장과 광도장을 이용한 광선추적 = 36
4.8 파티클의 상대적 위치를 이용 = 38
4.9 위치 노이즈 = 39
4.10 Median cut 방법의 광원 샘플링 = 40
5.1 반투명 물질 데이터 시각화 = 43
5.2 렌더링 결과 = 45
5.3 포톤의 이동거리(렌더링 결과) = 49
5.4 포톤의 이동거리(포톤의 가시화) = 50
5.5 노이즈 적용에 따른 렌더링 결과 = 55
5.6 위치 노이즈를 이용한 알리아싱 제거 = 56
5.7 연속된 3장의 프레임 = 58
5.8 환경 맵 적용 = 59
5.9 모션블러 적용 = 60
표차례
5.1 반투명 물질의 특성 및 렌더링 환경 = 44
5.2 파티클 데이터로부터 밀도장 생성 = 47
5.3 포톤 추적 = 48
5.4 포톤의 이동거리(GPU 계산) = 50
5.5 다중산란의 광도 계산 = 51
5.6 단일산란의 광도 누적 = 53
5.7 광선 추적과 전체 렌더링 시간 = 53
5.8 노이즈 계산 비용 = 57
5.9 환경 맵 계산 비용 = 59
5.10 모션블러 계산 비용 = 60