본문 바로가기

은면제거2

은면제거(2) - Hidden Surface 방식 기존에 제작한 은면제거 방식은 벡터의 내적이라는 수학 공식을 활용하여 카메라와 대치되는 각을 계산하여 면을 제거하는 방식이었습니다. 하지만 이 방식은 몇가지 단점이 존재합니다. 1. 각도를 계산해서 하다보니 카메라에 안잡히는 면도 각도조건만 맞으면 남아있게 된다. 2. 면이 깔끔하게 지워지지 않는다. 가령 면은 지워졌는데, 버텍스가 남는다던지.. 등등.. 여러번 시뮬레이션을 돌려보면 금방 알 수 있는 단점들이 존재합니다. 하지만, 이번에 제작한 Hidden Surface 방식은 렌더링 된 G-Buffer의 값을 얻어와 지오메트리의 렌더링된 면을 메모리에 기억하여 삭제하는 방식이라 더 깔끔하게 면들을 정리해줍니다. 단, 계산시간이 오래 걸릴수 있다는 단점이 있습니다. 이 부분도 차후에 개선할수있도록 해보겠.. 2015. 12. 17.
은면 제거 스크립트 이 스크립트는 최적화를 위한 툴로서 카메라에 보이지 않는 면들을 제거하여 카메라렌더링에 대한 연산을 최소화 시키지 위한 툴입니다. 이번 과제를 해결하기 위해서는 삼각함수의 기본 원리와 벡터의 내적을 구하는 공식에 대한 이해가 필요했습니다. 카메라와 오브젝트간 벡터의 내적이 0보다 큰 수의 면만 선택하여 삭제하는 공식을 이해하는데 많은 시간이 필요했습니다. 카메라가 A이고 오브젝트의 한 단면이 B 이고 살리고 싶은 면이 C일때 C = a b cos@를 이용한 벡터의 내적을 이용하여 cos@가 0보다 큰면은 카메라가 바라보는 방향과 같은 방향을 바라보기 때문에 카메라가 잡히지 않는 구간입니다. 따라서 0보다 작은 마이너스 구간을 살리고 0보다 큰 플러스 구간은 삭제하면 됩니다. 이 공식을 이용하여 스크립트를.. 2015. 12. 17.