티스토리 뷰

디버거 한번, 롤백 한번

Debugger가 날 엿먹여도 이번엔 빠르게 잡은 듯

spTex 에서 흰색 영역을 과도하게 가져온다.

sphere 라고 제질 광택 분포를 나타낸 값이라

값이 없다면 가운데 검정색 부분을 가져와야한다

(specularlight 값을 저장해둔거라 보면된다)

if ( mat.sphereOperation != kSphereNone ) {
    float2 normalVS = mul( (float3x3)view, normalWS ).xy;
    output.spTex = normalVS * float2(0.5, -0.5) + float2(0.5, 0.5);
}

normalVS 가 0 이 나왔는데

output.spTex가 계속 0 이 나온다.

normalWS 를 강제로 0으로 주니 (0.5, 0.5) 로 제대로 나온다 머가 잘못된걸까?

모델을 보니 normal 값이 0인 부분이다.

The normalized x parameter. If the length of the x parameter is 0, the result is indefinite.

결과가 비정의라고 디버거 너까지 멋대로 동작하면 안되잖아

any 로 예외 처리했다.

DX9 에서는 0으로 주나보다

비슷한 예외.

pow 쪽에도 예외 값 있는데 이것도 디버거에서 값을 0으로 바꾼다.

값이 너무 커서 bloom 처리 결과가 사각형이 되었다.

color.rgb += input.specular;

저기 지난후 color 가 0 이 된다.

output.specular = pow( max( 0, dot( halfVector, output.normalWS ) ), mat.specularPower ) * SpecularColor;

머가 나온 걸까

예외처리하니까 정상적으로 나온다

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크