Oct 052012
 

Shader study에서 공부한 교재. Game Programming Gems와 같이 저자 여러명이 참여한 책이다. rendering 기술에 집중한 글들이 있는 게 특징.

정리는 계속해오고 있었으나 중간에 빵구난 챕터를 마무리하고 공개하려고 했다. 하지만 요즘 관심사가 바뀐데다가 이쪽 공부에 공백이 있어서인지. 읽는데 너무 힘이 들더라. 것 참. 그래서 그냥 여기서 마무리 한다.

wiki 정리 페이지 : http://ohyecloudy.com/doku.php?id=public:book:shaderx5

 

by-nc-sa

Mar 242010
 

Anti-Aliasing 기술 중 전화면 supersampling은 퍼포먼스 때문에 피하고 폴리곤 가장자리만 Anti-Aliasing을 해주는 multisampling을 많이 사용한다. 여기서 multisampling만 해준다면 폴리곤 내부는 Anti-Aliasing이 되지 않기 때문에 눈에 확 띄는 스펙큘러 같은 high-frequency 컴포넌트는 시점에 따라 어른거리는 현상이 나타난다. 밉맵을 쓰는 이유와 같다. 그래서 가장자리는 multisampling을 해주고 어른거리는 문제가 생기는 부분만 supersampling을 해주자는 내용.

by-nc-sa

Jun 092009
 

만들어진 Shadow map에서 anti-aliasing을 위한 복잡한 연산을 할 영역을 찾아내고 그 영역만 복잡한 연산을 하는 알고리즘. edge map과 mipchain을 생성하지만 모든 텍셀에 PCF를 거는 것보다는 성능이 좋다. mipmap을 texel과 pixel 해상도의 차이 때문에 지글거리는 현상을 제거하기 위해서만 사용했는데, edge를 확장할 때도 사용하는 방법을 보여준다.

by-nc-sa

May 122009
 

반영(penumbra) 표현이 핵심인 Soft-Shadow. Single-sample 접근으로 시야 정보를 Shadow map의 한 형태로 기록한 정보를 이용해 Soft-Shadow를 렌더링한다. 어떻게든 리얼 타임에 적은 비용으로 Soft-Shadow를 그리려고 하나 아직까진 무리인 느낌이 든다. 결과물을 돌려보면 잘 찍은 스크린샷에 비해 실망감이 밀려오나 싸게 해보려는 시도에서 생각의 폭을 넓힐 수 있었다.

by-nc-sa

Feb 242009
 

사용하는 포스트 이펙트(PostEffect)가 증가하고 있는데, 증가하는 만큼 관리하기가 어렵다. 확장이 손쉽고 다양한 요구 사항에 유연하게 적용 가능한 프레임워크(framework)를 제시한다.

DirectX9에서는 input, output 텍스쳐(texture)가 같을 수 없어서 텍스쳐 두 장을 input, ouput으로 쓰게 되는데 포스트 이펙트가 여러 개이면 번갈아 가며 SetRenderTarget을 한다. 이 짓의 연속이다. 이런 때 중간에 있는 포스트 이펙트를 disable 시키려면 코드가 지저분해지는데, 이 챕터에서 소개한 프레임워크에서는 이펙트의 input, output 텍스쳐를 IO 그룹으로 래핑하고 disable 시키면 자신의 IO 그룹을 다음 이펙트에 넘겨주는 식으로 깔끔하게 구현했다.

전체 소스코드도 책에 첨부된 시디에 있어 포스트 이펙트 엔진 설계에 힌트를 얻을 수 있다.

by-nc-sa

Nov 202008
 

잔잔한 바람에 살랑살랑 흔들리는 식물을 표현하는 방법이다.

흔들리는 가중치를 높이 값으로 계산하고 월드 좌표계에서 vertex animation을 하기 때문에 높이 기준점이 되는 height bias를 vertex마다 가지고 있어야 한다.

나무 같은 경우는 나뭇잎이 더 많이 흔들려야 자연스러운데 나무뿌리로부터 떨어질수록 흔들리는 가중치가 늘어나는 게 아니라 높이로만 가중치를 계산하기 때문에 잎이 무성한 나무보다는 낙엽이 진 앙상한 나무 표현이 더 자연스러울 것 같다. 나무는 제쳐놓고 풀, 잡초 표현에 사용하면 자연스러울 것 같다.

by-nc-sa