DirectX CPU에서 연산하는 것이 아닌 GPU에서 연산합니다.
그러므로 CPU의 vertices, indices, colors 같은 기하 정보들을
나중에 GPU 버퍼에 넘겨줘야 한다.(GPU 연산이 더 빠르기 때문)
그래픽 연산은 매우 단순한 행렬 연산이고 단순한 작업에 GPU가
특화 되어있기 때문에 GPU에서 연산처리를 수행하는 것이 옳습니다.
처음 시작할 때 CPU->GPU 복사를 하고 반복적으로 사용합니다.
(CPU->GPU 복사 느림)
기본적으로 위성을 구성하는 태양, 지구, 달 위성의 원을 만들어보죠.
태양은 돌지않기 때문에 지구와 달의 각속도와 공전 각도를 정해주고
태양과 지구의 거리, 지구와 달의 거리도 구해줍니다.
자전과 달리 공전을 할때에는 이동을 먼저 한 후 회전을 구해줍니다.
태양에 위치에서 지구를 움직인 뒤 회전을 수행하면 됩니다.
달을 구할 때는 달의 위치를 움직이고 회전을 수행합니다.
이동한 거리와 회전된 위치를 바탕으로 태양과 지구의 거리만큼 움직이고
회전을 수행합니다.
이렇게 하면 2차원에서 위성을 구할 수 있습니다.
'컴퓨터 그래픽스 > Rasterization' 카테고리의 다른 글
Rasterization(7) - 후면 추려내기 (0) | 2024.07.28 |
---|---|
Rasterization(6) - 깊이 버퍼(Depth Buffer) (0) | 2024.07.27 |
Rasterization(4) - 물체의 이동과 회전 (0) | 2024.07.20 |
Rasterization(3) - 원 그리기 (0) | 2024.07.20 |
Rasterization(2) - 삼각형 그리기 (0) | 2024.07.19 |