[그래픽스] Renderring Pipeline

윤정민·2023년 12월 6일
0

Graphics

목록 보기
21/22

1. Renderring Pipeline

렌더링 파이프라인은 3D 세계에 대한 기하학적 표현과 이 세계를 바라보는 관점을 정의하는 가상 카메라를 이용해 2D 이미지를 만들어내는 역할을 수행한다.

2. 과정

2.1. 로컬 스페이스

  • 로컬 스페이스: 물체의 삼각형 리스트를 정의하는데 이용하는 좌표 시스템
    • 자체 좌표 시스템에 의해 정의됨

2.2. 월드 스페이스

  • 로컬 스페이스의 오브젝트를 월드 좌표로 옮겨 하나의 장면을 구성함
    • 월드 변환이 이루어짐(이동, 회전, 크기변형)

2.3. 뷰스페이스

  • 유저의 워치가 되는 카메라를 원점으로 좌표계를 변형
  • 월드에 대한 관점이 바뀌지 안호록 하기 위해 카메라에 맞춰 월드 내의 모든 기하 물체를 변환하는 과정(뷰스페이스 변환)을 거침

2.4. 컬링(backface culling)

  • 카메라에 보이지 않는 폴리곤을 렌더링 요소에서 제외하는 과정
  • 폴리곤의 normal vector와 카메라의 forward vector를 내적한 값이 양수라면 컬링

2.5. 조명

  • 광원을 통해 물체에 명암을 추가하여 사실감을 더해줌

2.6. 클리핑(clipping)

  • 시야 볼륨 외부의 기하 물체를 렌더링에서 제외하는 과정
    • 완전한 내부: 렌더링에 포함
    • 완전한 외부: 렌더링에 제외
    • 부분적 내부: 폴리곤을 두 부분으로 분리해 수행

2.7. 투영

  • 3D 장면을 2D로 표현하는 과정
  • 원근 투영: 카메라와 물체의 거리에 따라 크기를 결정해 투영하는 방법

2.8. 뷰포트 변환

  • 윈도우 좌표라 불리는 화면의 직사각형으로 변환하는 과정

2.9. 래스터라이즈

  • 각각의 폴리곤을 그리는 픽셀 컬러들을 계산하는 과정
  • GPU에서 처리됨

2.10. 픽셀 쉐이더

  • 쉐이더를 통해 색상을 변화시키는 모든 것
  • 투명도, 라이팅, 그림자 적용, 텍스쳐 생상에 메시를 입히는 것 등

2.11. 출력 병합

  • 화면에 출력하기 전 마지막으로 스텐실 테스트, 알파 블랜딩 등을 통해 픽셀의 최종적인 연산을 수행한 뒤 색상을 결정하는 과정
profile
그냥 하자

0개의 댓글