LabHub
배우기 러닝패스 코스

3D 수학과 소프트웨어 래스터라이저 · 조명과 회전 · 퀴즈

퀴즈: 법선과 조명

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 램버트 확산 반사에서 `max(0, dot(n, l))` 의 `max` 를 빼면 어떤 일이 생깁니까?

    1. 밝기 계산이 조금 빨라지고 결과는 거의 같아진다
    2. 빛을 등진 면에서 밝기가 음수가 되어 색이 뒤집히거나 넘친다
    3. 모든 면의 밝기가 1 로 고정되어 평평하게 보인다
    4. 빛을 등진 면에 그림자가 저절로 생긴다
  2. ambient 항을 두는 이유는 무엇입니까?

    1. 물리적으로 정확한 빛의 세기를 맞추기 위해서다
    2. 빛을 등진 면이 완전히 검게 되지 않도록, 튕겨 온 빛을 뭉뚱그린 보정이다
    3. 법선의 정규화 오차를 흡수하기 위해서다
    4. 깊이 버퍼의 정밀도를 보완하기 위해서다
  3. 법선 벡터를 모델 행렬로 변환할 때 w 를 0 으로 두는 이유는 무엇입니까?

    1. 정규화를 건너뛰기 위해서다
    2. 법선은 방향이라서 평행이동이 적용되면 안 되기 때문이다
    3. 행렬의 세 번째 행을 무시하기 위해서다
    4. 부동소수점 오차를 줄이기 위해서다
  4. 면 법선(면마다 하나)과 꼭짓점 법선(보간)의 차이로 옳은 것은?

    1. 면 법선은 각진 모습을, 보간한 법선은 매끄러운 곡면을 만든다
    2. 면 법선은 조명 계산이 필요 없다
    3. 꼭짓점 법선은 깊이 버퍼를 대신할 수 있다
    4. 면 법선은 삼각형 수가 많을 때만 쓸 수 있다
  5. 빛을 받아야 할 면이 어둡고 등진 면이 밝게 나올 때 가장 먼저 확인할 곳은 어디입니까?

    1. ambient 값이 너무 큰지
    2. 깊이 버퍼의 초기값이 잘못되었는지
    3. 삼각형 꼭짓점을 도는 순서가 뒤집혀 법선이 안쪽을 가리키는지
    4. 카메라의 near 평면이 너무 작은지
  6. 회전 애니메이션을 만들 때 회전 행렬을 매 프레임 곱해 누적하는 대신 각도를 상태로 두고 행렬을 새로 만드는 이유는 무엇입니까?

    1. 행렬 곱셈이 삼각함수 호출보다 훨씬 느려 프레임 시간이 늘어나서
    2. 각도 하나가 행렬 성분 열여섯 개보다 메모리를 덜 써서
    3. 누적하면 부동소수점 오차가 쌓여 행렬의 직교성이 무너지고 물체가 찌그러져서
    4. 회전 행렬끼리는 곱해도 다시 회전 행렬이 되지 않아서