티스토리 뷰
버그를 잡으려면 원인에 집중해야한다.
현상은 그림자가 위치에서 디스코 택처럼 깜박였다.
motion blur/ssao 넣고 난뒤에 생긴거라
우선 위에걸 제거해보고 안되어서
화면 넓게 보니 해당 현상이 줄어들었다.
그래서 object clipping 여부에 따라 해당 문제가 발생하는 줄 알고
cliping 을 날려보니 문제가 없었다
skinning object 때문에 AABB 자체가 정밀하지 못했고,
shadow map 을 위한 light space clipping 부분도 문제 있는 것 같아서
CSM 넣고 해당부분 제거하자고 하고 우선 넘어갔다.
이까지 오는데 3시간 넘게 걸렸는데.
SSAO 버그 수정하다가 shadow map 쪽에서 살펴볼께 있어 shadow map을 보니
여보세여??
float comp = GetShadow( input.shadowPositionCS, input.positionHS.xyz );
if (mat.bUseToon) {
float lightIntensity = dot( normal, -SunDirectionWS );
comp = min( saturate( lightIntensity )*Toon, comp );
shadowColor *= MaterialToon;
}
normal 과의 dot이 해당 shadow의 버그가 드러나는걸 열심히 막고 계셨다.
그럼 문제는 어디서 생긴걸까?
SSAO 를 넣으면서 Pre-Z Pass를 추가했다.
그 와중에 Depth를 변경했는데 그걸 Shadow도 쓰고 있었다.
shadow는 여전히 parameter를 한개만 받았다.
결국 register를 따로 받는 구조는 못써먹겠다.
cbufer 등을 감싸는 구조 추가가 필요
'Game > MMD' 카테고리의 다른 글
Skinning (2) (0) | 2017.11.27 |
---|---|
Motion Blur (1) (0) | 2017.11.24 |
ESM (0) | 2017.11.18 |
Skydome (1) (0) | 2017.11.17 |
안정화 작업 (5) - Auto exposer (0) | 2017.11.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크