콩알라
코딩 조아
콩알라
전체 방문자
오늘
어제
  • 전체 (37)
    • 유니티 (20)
      • 꿀팁 (3)
      • 꿀팁ㅇㅇㅇ (16)
      • 클라우드 빌드 (0)
      • iOS (1)
    • 언리얼 (0)
    • 공부 (4)
      • 알고리즘 (1)
      • Effect (0)
      • Shader (2)
      • DirectX (1)
    • 일상 (1)
      • ? (1)
    • 주식 공부 (1)

블로그 메뉴

  • 방명록
  • ADMIN
  • WRITE

공지사항

인기 글

태그

  • 3DS MAX 폴리곤 줄이기
  • Maya 폴리곤 수 줄이기
  • 내일채움공제
  • 마야 폴리곤 수 줄이기
  • 만기금 수령
  • 맥스 폴리곤 수 줄이기
  • 모델 폴리곤 수 줄이기
  • 모델 폴리곤 줄이기
  • 실업급여
  • 유니티

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
콩알라

코딩 조아

DirectX 파이프라인
공부/DirectX

DirectX 파이프라인

2017. 8. 5. 17:00

[DirectX 3D 그래픽 파이프라인]

1단계 - 3D모델 구축

 


 3D모델을 '로컬 좌표계' 에 띄우는 단계 (CPU)

 렌더링 파이프라인 중 '로컬 스페이스' 에 해당한다.




2단계 - 가상 공간 배치

 


 구축한 3D모델을 '월드 좌표계' 로 옮겨 하나의 장면을 구성하는 단계 (CPU)

 렌더링 파이프라인 중 '월드 스페이스' 에 해당한다.




3단계 - 정점 단위 음영 계산


 정점의 정보(좌표, 색상, 조명 등)를 변화시켜 물체를 다른 위치로 옮기거나 텍스쳐의 좌표를 바꾸거나 색상을 바꾸는 작업을 한다. (GPU)




4단계 - 정점의 증감


 정점셰이더(Vertex Shader)에서 정점의 정보(Primitive)를 받고, 가진 정보를 이용해 정점을 증감시켜 새로운 도형 정보를 만든다.

 

 ※ Primitive

 선, 원, 곡선, 다각형과 같은 그래픽 디자인을 창작하는데 필요한 요소.




5단계 - 카메라 공간으로의 전개


 월드 좌표계로 변환된 좌표계를 카메라 좌표계로 변환한다.

 렌더링 파이프라인 중 '뷰 스페이스' 에 해당한다.




6단계 - 컬링 (Culling)



 최종 씬에 보이지 않는 불필요한 폴리곤을 잘라내 렌더링 및 연산에서 제외한다.

 렌더링 파이프라인 중 '백스페이스 컬링' 에 해당한다.




7단계 - 조명 (Lighting)



 3D 공간에는 빛이 없지만 현실 세계의 빛을 3요소로 만들어 흉내낸다.

 조명의 요소에는 정반사광(Specular), 난반사광(Diffuse), 환경광(Ambient) 등이 있다.

 렌더링 파이프라인 중 '조명' 에 해당한다.


 광원에는 방향성 광원(Directional Light), 점 광원(Point Light), 스포트 광원(Spot Light)이 있다.




8단계 - 클리핑 (Clipping)



 화면에 보이지 않는 부분은 그리지 않는 것을 의미한다.

 렌더링 파이프라인 중 '클리핑' 에 해당한다.




9단계 - 투영 (Projection)


 3D 물체를 2D 평면에 표현하기 위해 3D 모델 좌표를 2D 평면좌표로 변환하는 것을 의미한다.

 렌더링 파이프라인 중 '투영' 에 해당한다.




10단계 - 뷰포트 전개



 프로젝트 윈도우의 뷰포트라불리는 화면의 직사각형으로 변환하는 과정.

 윈도우와 상대적이며, 윈도우 좌표를 이용한다.

 렌더링 파이프라인 중 '뷰포트' 에 해당한다.




11단계 - 폴리곤 셋업과 레스터 라이즈 (Polygon Setup & Rasterize)


 > 폴리곤 셋업

 정점 파이프라인에서 정점 단위로 출력된 결과를 픽셀 단위로 분해하여 픽셀 파이프라인으로 보내주는 작업.

 렌더링 파이프라인 중 레스터라이즈에 해당한다.


 > 레스터 라이즈

 스크린 좌표로 정점들을 변환하면 폴리곤 정보를 가지게 되는데, 레스터 라이즈는 각각의 폴리곤을 출력하는 데 필요한 픽셀컬러를 계산하는 과정이다.

 간단히 말해, 폴리곤을 픽셀로 변경하는 과정을 말한다.




12단계 - 픽셀 파이프라인


 정점 연산을 거쳐 생성된 폴리곤의 픽셀들에 대해서만 연산을 한다.




13단계 - 텍스처 적용



 폴리곤과 광원, 조명의 조합만으로는 실감나는 3D오브젝트를 표현하는 데 한계가 있고, 광원과 조명은 많은 계산량을 필요로 하기 때문에 부하가 높아지는 문제가 생긴다. 이런 문제점을 해결하기 위해 나온 기술이다.

 



14단계 - 랜더백엔드


 픽셀셰이더 이후, 넘어온 값을 써넣어도 좋은 지 검증하고, 써넣을 방법을 정하는 과정이다.


 > 사용해도 좋은 지 검증

 시저 테스트(Scissor Test) - 사용자가 원하는 부분만 출력

 알파 테스트(Alpha Test) - a성분을 비교해 그에 따른 출력을 결정

 스텐실 테스트(Stencil Test) - 사용자가 원하는 부분은 출력에서 제외 (거울, 그림자 효과에서 사용)

 깊이 테스트(Depth Test) - 렌더링 순서가 정해지지 않은 경우만 깊이 값으로 정렬


 > 어떻게 사용할 지

 알파 블렌딩(Alpha Blending) - 두 픽셀을 가중치에 따라 섞음

 안개(Fog)

 안티앨리어싱(Anti Aliasing)

 비등방성 필터링(Anisotropic Filtering)

 이중선형 필터링(Bilinear Filtering)

 알파 소팅(Alpha Sorting) - 불투명을 먼저 그린 후, 반 투명을 나중에 그리는 기법




15단계 - 출력





요약하면 아래와 같은 과정을 거친다.



[그래픽스 파이프라인 과정]




[렌더링 파이프라인 과정]





[출처]

https://m.blog.naver.com/PostView.nhn?blogId=jsjhahi&logNo=206651669&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F 로기 블로그


    콩알라
    콩알라
    게임 개발자

    티스토리툴바