렌더링 파이프 라인
programming/etc 2024. 7. 26. 10:22 |
*렌더링 파이프 라인
- 3D좌표를 2D로 표현하기위해
로컬정점->월드 공간->뷰 공간->투영 공간 -> 뷰 포트 -> 최종 좌표로 변환하는 방식
- Position = LocalPosition * WorldMatrix * ViewMatrix * ProjectionMatrix
- TransMatrix = WorldMatrix * ViewMatrix * ProjectionMatrix
Position = LocalPosition * TransMatrix
*로컬 정점( local vertex )
- 초기의 모델링시에 정의된 좌표
- 각자의 좌표계에의해 정점이 배치된다.
*월드 스페이스( world space )
- 공간상의 기준 좌표계( direct3d : 왼손좌표계, openGL : 오른손좌표계 )
- 스케일, 회전, 이동이 적용된다.
- 월드 스페이스로 변환( WorldPosition = LocalPosition * WorldMatrix )
- IDIRECT3DDEVICE9::SetTransform( D3DTS_WORLD, &WorldMatrix )
*뷰 스페이스( view space )
- 공간에 카메라를 두어 카메라의 위치에서 바라볼때 카메라의 위치를 좌표계로 사용한다.
- 뷰 스페이스로 변환( ViewPosition = WorldPostion * ViewMatrix )
- IDIRECT3DDEVICE9::SetTransform( D3DTS_VIEW, &ViewMatrix )
*투영 공간( projection space )
- 원근 투영
ㄴ 2D화면에 물체를 그릴때 입체감과 거리감을 표한하기위해
멀리 있는 물체는 작게, 가까이 있는 물체는 크게 그려준고
시야각에 때라 같은 위치에서 볼수있는 범위와 물체의 크기가 달라진다.
ㄴ D3DXMatrixPerspectiveFovLH()
- 직교 투영
ㄴ 위에서 아래에 있는 평면을 바라보는 방식이고 원근감이 없다.
ㄴ D3DXMatrixOrthoLH()
- 뷰 스페이스로 변환( ProjPosition = ViewPostion * ProjMatrix )
- DIRECT3DDEVICE9::SetTransform( D3DTS_PROJECTION, &ProjectionMatrix)
'programming > etc' 카테고리의 다른 글
*좌표계*삼각비*내적-정사영 (0) | 2024.07.26 |
---|---|
카메라 (0) | 2024.07.26 |
평면방정식 (0) | 2024.07.26 |
외적 (0) | 2024.07.26 |
내적 (0) | 2024.07.26 |