본문 바로가기

프로그래밍/공부44

[Graphics] 포워드 렌더링 and 디퍼드 렌더링 1. 포워드 렌더링 전통적인 방식의 렌더링으로 메시 하나를 그리면서 모든 계산을 한 번에 시행하는 방법으로 라이팅의 계산 수는 메시의 수에 비례한다. 때문에 여러 개의 리얼타임 라이팅을 다루는 데 취약하다. (라이팅에 대한 계산을 메시 하나 당 라이트 수에 비례해서 계산을 하기 때문) 장점 비교적 저사양에서도 잘 작동하며, PC의 경우 안티앨리어싱 처리를 하드웨어서 지원 받기 때문에 거의 완벽한 처리를 할 수 있고, 반투명 처리도 문제 없이 동작한다. 오랫동안 사용된 렌더링 방식이기 때문에 문제가 생겨도 회피하거나, 해결책이 만들어져 있는 경우가 많다. 해상도가 올라가도 렌더링에 들어가는 비용이 디퍼드 렌더링에 비해 적다. 단점 라이팅 연산이 느리고, 여러 오브젝트로 복잡한 화면을 구성하거나 폴리곤이 많.. 2023. 6. 27.
[Graphics] 쉐도우 매핑 그림자는 컴퓨터 그래픽을 더욱 현실감 있게 만드는 요소다. 이때 필요한 개념이 바로 쉐도우 매핑이고, 간단하게 설명하면 다음과 같다. 1. 쉐도우 매핑(Shadow Mapping) 은 그림자를 처리하기 위해 Vertex Shader 에서 light source 로부터 각 surface 점까지의 깊이값과 visibility 값을 저장하는 기법을 의미한다. 2. Pass 1 에서는 각 표면까지의 깊이값 z 를, Pass 2 에서는 실제 점까지의 거리 d 를 저장하여, 이를 비교해서 Shadow 여부를 결정한다. Nearest Sampling 과 Bilinear Interpolation 둘 다 별 도움은 되지 않으므로, PCF(Percentage Closer Filtering) 기법을 사용하여 Visibili.. 2023. 6. 26.
[Graphics] 노멀매핑 & 탄젠트 공간 인터넷에서 오브젝트 파일을 받게 되면 텍스쳐 맵이 세 장이 나온다. Diffuse와 Specular는 이미 알고 있지만 Normal 맵이라는 텍스쳐 맵이 나오는데 이건 무엇일까? 오브젝트는 수많은 정점들로 이뤄져 있다. 각 정점에 텍스쳐 맵을 매핑해서 어떤 텍스쳐를 출력할 것인지 값을 넘겨 받는다. 이 중 노멀 맵은 이미 매핑된 텍스쳐 위에 출력하는 것으로 좀 더 퀄리티가 있어 보이게 하는 기법을 위해 사용된다. 왼쪽에 있는 것이 기본 메쉬의 폴리곤이다. 약 사백 만 개의 폴리곤으로 이뤄진 객체의 위에 500개 정도의 폴리곤으로 구성된 노멀 맵을 매핑시켜 만든 결과물이 오른쪽이다. 텍스쳐 한 장 만으로는 음영의 효과를 사실적으로 주기가 어렵기 때문에 노멀 매핑을 사용한다. 노멀 매핑은 일반적으로 푸른색으.. 2023. 6. 24.
[Graphcis] 스키닝 애니메이션 스켈레탈 본은 객체를 구성하는 뼈대이다. 각 본에는 메시가 매치되어 피부를 형성하는데, 이때 메쉬 내부의 정점이 하나의 뼈에 대응한다고 하면 애니메이션을 출력할 때, 부자연스러운 움직임이 나타난다. 가령 관절 부분이 끊어져 움직이는 현상 같은 것이 발생하는데, 이를 방지하기 위한 기법이 바로 스키닝 애니메이션이다. 사람의 관절은 뼈가 움직여 피부의 길이가 늘어나도 되게끔 긴 피부가 관절의 각도에 따라 펼쳐지거나 접히거나 한다. 스키닝 혹은 정점 블렌딩이라고 하는 기법도 이에 착안한 방법이다. 각 뼈(스켈레탈 본)가 메시를 구성하는 각 정점에 얼마나 영향을 주는지에 대해 블렌딩 가중치라는 값을 주어 구분하고 이에 따라 상황에 맞게 정점이 블렌딩 된다. 여기에는 소프트웨어 스키닝과 하드웨어 스키닝 기법으로 .. 2023. 6. 22.