Game/MMD
안정화 작업(4) - Camera bug 수정, Outline
newpolaris
2017. 11. 17. 01:07
Camera가 모션 중간에 엄청 밝아지는 현상 발견
문제는 2개가 섞였는데
tone mapping operator 를 꺼놔서 auto exposer의 값이 감당 안되는 것이고
distance 가 음수일 경우
SetEyeAtUp( cameraPos, m_Position, up );
여기서 direction을 구할때 음수가 나와서 그렇다.
이 후에 윤곽선이 진하게 나오는 현상이 발견
거리 자체는 멀지만 projection matrix의 scaling으로 화면과 가깝게 표현해서 그렇다.
float4 posVS = mul(toView, float4(pos, 1));
float fovFactor = length(float2(projection[0][0], projection[1][1]));
float scale = length(posVS.xyz) / fovFactor / edgeFactor;
pos = pos + normal * Mat.EdgeSize * input.edgeScale * scale;
아래는 깡패같은 MMD의 outline
shader 안타고 vertex를 전처리했는데 어떻게 한건지;