Notice
Recent Posts
Recent Comments
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
관리 메뉴

일상

bvh 적용해보기 - 01 본문

computer graphics

bvh 적용해보기 - 01

Mysteryu 2021. 11. 12. 23:44

 

Ray Tracing: The Next Week

 

https://raytracing.github.io/books/RayTracingTheNextWeek.html

For spheres, texture coordinates are usually based on some form of longitude and latitude, _i.e._, spherical coordinates. So we compute $(\theta,\phi)$ in spherical coordinates, where $\theta$ is the angle up from the bottom pole (that is, up from -Y), and

raytracing.github.io

ray tracing을 좀 더 빠르게 해줄 수 있는 bvh(Bounding Volume Hierarchies)를 위의 사이트의 3장에서 소개하고 있습니다.

 

bvh에 대해 간단히 설명을 하자면 bvh 이전에는 한 픽셀에 대해서 빛이 물체에 닿는다면 거기 존재하는 모든 object에 대해 hit 검사를 했어야 했습니다.

 

다만 bvh를 이용을 한다면 적어도 모든 물체에 대해 hit 검사를 하지 않아도 됩니다. 자세한 설명은 위의 사이트를 보시거나

 

BVH: Bounding Volume Hierarchy : 네이버 블로그 (naver.com)

 

BVH: Bounding Volume Hierarchy

카메라에 보이는 물체 뿐만이 아니라 모든 물체를 렌더링하는 것은 굉장히 비효율적입니다. GPU에 의해...

blog.naver.com

이 블로그를 보시는것을 추천합니다. bvh를 공부할 때 참고한 블로그입니다.

 

위 블로그에서 공개하신 소스코드를 참고하여서 이미지를 렌더링을 해봤습니다.

 

렌더링한 이미지

이제 이 이미지를 토대로 bvh를 사용했을때와 사용하지 않았을 때의 렌더링에 걸린 시간을 비교를 해봤습니다.

 

(1). bvh를 사용 안했을때

 

bvh 사용 안함 4972ms

(2). bvh 사용했을 때

bvh 사용함 8977ms

 

 

분명히 레이트레이싱을 더 빨리 할 수 있었다고 했음에도 불구하고 오히려 bvh를 사용했을 때 시간이 더 늘어난것을 볼 수 있습니다.

 

처음에는 코드가 잘못되었나 생각했다가 아차 하는 생각이 든것이 뭐냐면 결국 bvh를 구성할때와 바운딩 박스에 대해 검사를 할 때 드는 시간을 생각해본다면 물체가 일정 개수보다 적다면 오히려 bvh에 대한 오버헤드때문에 더 시간이 걸리겠구나 라고 예측이 가능하더라구요. 

 

때문에 이전에 fresnel equation을 이용한 렌더링 이미지는 결국 bvh를 사용을 해도 렌더링에 걸리는 시간이 달라지지 않고 오히려 시간이 더 걸린다는 결론을 예측을 할 수 있었습니다. 그것들에 대한 시간 단축은 cuda?라고 gpu를 이용하는 방법이 있던데 그 방법으로 진행을 해봐야 겠네요.

 

그리고 해보고싶은게 생각났는데 그러면 물체를 어느정도 추가해야 bvh가 효과적으로 작용을 할지에 대해 궁금해졌습니다. 다음 글은 그 내용으로 한번 찾아뵙겠습니다.

 

 

 

 

 

 

참고로 위의 이모티콘은

환영해요 로아콘! (daum.net)

 

 

이 블로그에서 다운을 받아 사용하였습니다.

'computer graphics' 카테고리의 다른 글

[C++] 백준 2738 : 행렬 덧샘  (0) 2023.06.12
bvh 적용해보기 - 02  (0) 2021.11.13
Cornell box 만들어보기  (0) 2021.11.06
Fresnel Coefficient 적용해보기 -03  (0) 2021.10.08
Fresnel Coefficient 적용해보기 -02  (0) 2021.10.03
Comments