yuchi's Development Home
글 수 201
4DyuchiGX엔진은 기본적으로 3계층으로 이루어진다.
어플리케이션 EXE (최상위)
지오메트리 DLL (상위 레이어)
렌더러 DLL (하위 레이어)
공용 컴포넌트 - 파일스토리지DLL, 핼퍼 함수 라이브러리DLL
각 컴포넌트들의 사용에 있어서 다음과 같은 경우가 가능하다.
1.어플리케이션에서 여러개의 엔진셋(지오메트리,렌더러)를 사용하는 경우
2.지오메트리에서 여러개의 렌더러를 사용하는 경우
3.지오메트리에서 여러개의 씬그래프를 사용하는 경우
4.렌더러에서 여러개의 뷰포트를 사용하는 경우
1,2,4번 항목은 게임 어플리케이션이나 툴에서 여러번 사용했고 검증했다.
이번에 서버에서 엔진 DLL을 사용할 계획이고(사실 사용하고 있고) 단일 엔진으로 복수의 맵을 다뤄야 하기 때문에 3번 기능이 필요했다.
만들어는 놨었지만 제대로 테스트 된적도 없었기 때문에 간단하게 실전적용을 해보기로 했다.
그리하여 만든 것이 4DyuchiGXTestBoard 어플리케이션.
누군가 보드가 아니고 배드라고 하는데, 난 전자과 출신이라 빵판(Bread Board)를 연상하고 만든 이름이니까 딴죽걸지 말기를.
하나의 엔진을 사용하고 화면을 n개의 뷰포트로 잘랐다. 각각의 뷰포트는 여러개의 씬그래프에 맵핑 시켰다.
일단 테스트로 2개의 씬그래프를 만들어서 화면을 양분했다. 4등분이나 16등분도 가능.
n인용 플레이 가능한 클라이언트와 유사하게 만들었고 유사하게 동작한다.
씬그래프 별로 3차원 충돌처리까지 완전히 독립된 형태로 돌아간다.
핫키로 씬그래프간 이동을 하고 마우스와 키보드 입력은 공유한다.
인스턴스 던젼을 위해 각각의 다른 씬그래프간에 리소스까지 완전히 공유하는 기능을 넣고 있는데 하루 정도면 눈으로 확인할 수 있을 것 같다.