모델링(Modeling)

eeldclf25·2022년 9월 22일
0

Graphics

목록 보기
2/2

실시간 그래픽스에서는 폴리곤 메시를 많이 사용한다. 폴리곤 메시가 어떻게 생성되는지, 어떤 형식으로 저장되는지, 런타임 응용 프로그램에 어떻게 전달되는지 알아보자.

폴리곤 메시

구를 표현하는 두가지 기법, (a) 음향수 곡면, (b) 폴리곤 메시

  • 중심 좌표가 (Cx,Cy,Cz), 반지름 r인 구가 있을 경우, 이를 표현하는 간단한 방법은 f(x,y,z)=0 형태의 음함수를 사용하는 것이다. (a)
    • 하지만 이러한 음함수로 표현된 물체를 렌더링하는 것은 쉽지 않다.
  • 다른 방법으론 정점, 폴리곤과 같은 요소를 정의하여 구를 표현할 수 있다. (b)
    • 하지만, 부드러운 곡면을 샘플해서 얻어진 것으로 근사적 표현법이라 할 수 있다.
    • 폴리곤 메시를 선호하는 이유는 GPU가 폴리곤 메시 처리에 최적화 되어 있기 때문이다.
    • 삼각형만 구성된 메시를 삼각형 메시, 사각형만 구성된 메시를 사각형 메시라 한다.
  • 폴리곤 메시는 얼마나 많은 정점을 사용하여 근사할 것인가가 중요한 문제가 된다.
    정점개수가 많으면 해상도가 높다고 말하면 반대면 낮다고 표현한다. 즉, 해상도는 정확성과 효율성 사이의 상반관계를 고려하여 결정된다.

폴리곤 메시 표현

  • 삼각형 메시를 정의하는 단순한 방법은 세 개의 정점을 읽어서 하나의 삼각형을 정의하는 방법이다.
    정점들이 저장된 메모리 공간을 정점배열이라 부른다. (사실 정점 뿐만 아니라 다양한 데이터가 포함된다)
    중복된 데이터를 갖는 것을 방지하기 위해 이들을 가리키는 인덱스 배열을 사용하면 메모리를 효율적으로 사용할 수 있다.

표면 노멀

  • 삼각형 노멀
    • 표면에 수직인 법선 벡터를 노멀(surface normal)이라 말하는데, 이를 삼각형 노멀과 정점 노멀로 분리할 수 있다.
    • 컴퓨터 그래픽스에서는 모든 노멀은 단위 벡터로 표현한다.
      때문에 삼각형 <p1,p2,p3>의 노멀 벡터는, 위 그림에서 v1 x v2로 법선 벡터를 구하고 그걸 크기로 나누면(||v1xv2||) 단위 벡터로 된다.
      반대로, 삼각형 <p1,p3,p2>의 노멀 벡터는 오른손 법칙에 따라 위 결과의 반대 방향을 가르키게 된다.
      즉, 노멀의 방향은 정점 순서에 따라 달라진다.
      하지만, 컴퓨터 그래픽스에서 노멀은 기본적으로 물체 바깥을 향하게 하는 것이 원칙이다.
  • 정점 노멀
    • 정점 노멀은 해당 정점이 샘플한 곡면에 수직인 정점을 말한다.
    • 하지만 원래 곡면 없이 폴리곤 메시만 주어졌을때는 곡면을 계산할 방법이 없다. 대신, 다른 기법인 하나의 정점을 공유하는 모든 삼각형 노멀들의 평균을 취하는 기법을 사용한다.

0개의 댓글