66. 오브젝트 컬링
*** 공부 방법 ***
1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처
hyrule.tistory.com
- 오브젝트 컬링(Culling: 도태)이란 화면 밖의 물체들을 렌더링하지 않고 스킵하는 것을 말한다.

- 사실, 지난번에 간단한 컬링을 만들기는 했다.(근데 &&이 아니라 ||로 해놔서 작동이 되지는 않고 있었음...)
CGameObject의 위치(점)만 기준으로 해서 해당 점이 화면 안에 있을 때만 출력했던 것이다.
- 그런데 이게 사실 그냥 이렇게 해버리면 문제가 있다.

- 점인 m_Pos가 화면 밖으로 나가버리는 순간, 아직 몬스터의 끝 부분이 화면 밖으로 나가지 않았음에도 출력이 안되는 문제가 발생하는 것이다.
- 그러므로 오브젝트 컬링을 할때는 캐릭터의 모서리를 기준으로 박스 충돌 비슷한 느낌으로 해주어야 한다.
class CGameObject
< Render() >
- RenderLT를 먼저 구하고, 클라이언트 창과 박스충돌을 확인한다.
- 만약 창 밖에 있다면, Render() 함수 자체에서 return을 통해 빠져나가주면 된다.

- 몬스터를 창 밖으로 이동시켜 실제로 작동하고 있는지 테스트해 보았다.

- 우선 몬스터를 창 밖으로 위치시키고, 실행 도중 몬스터의 Render()함수에 중단점을 걸어준다.


- 계속 이동하다 보면 몬스터의 우측 모서리가 창 바깥에 위치하고 있어 return 되는 모습을 볼 수 있다.