Skip to content

View System

앞서 학습한 RedGPUContext 가 엔진이 실행될 '환경'이라면, View System 은 그 환경 위에서 실제 콘텐츠가 어떻게 보여질지를 결정하는 '틀'입니다.

RedGPU 의 View System 은 엔진의 핵심 아키텍처로서 다음과 같은 역할을 수행합니다.

  • 장면 구성: 3D 공간 내 객체와 조명의 계층적 배치 정의
  • 파이프라인 제어: 렌더링 프로세스 및 데이터 흐름 관리
  • 화면 출력: 최종 결과물을 브라우저 화면에 표시

핵심 구성 요소

RedGPU의 렌더링 파이프라인을 구성하는 4가지 핵심 모듈은 다음과 같습니다. 각 모듈은 독립적인 역할을 수행하며 유기적으로 결합됩니다.

구성 요소클래스명역할 및 기능
View3DRedGPU.Display.View3D화면 출력 영역(Viewport/Scissor) 지정, 스카이박스 및 포스트 이펙트 적용, 디버깅 도구 관리
SceneRedGPU.Display.Scene렌더링될 객체의 계층 구조 관리, 조명 데이터 및 씬 배경색 관리
CameraRedGPU.Camera.*3D 공간을 2D 화면으로 변환하는 투영 및 뷰 행렬 계산, 절두체 정보 제공
ControllerRedGPU.Camera.*Controller마우스/터치/키보드 입력 감지 및 카메라 트랜스폼 실시간 갱신

관계 이해하기

학습을 시작하기 전, 이 요소들이 서로 어떻게 연결되는지 이해하는 것이 중요합니다.

  1. RedGPUContext 는 하나 이상의 View3D 를 가집니다. (예: 게임 화면과 미니맵)
  2. View3D 는 무엇을 보여줄지(Scene)와 어디서 볼지(Camera)를 연결합니다.
  3. Controller 는 사용자의 입력을 받아 Camera 를 움직입니다.

이러한 구조 덕분에 하나의 Scene 을 여러 개의 View3D 를 통해 서로 다른 각도에서 동시에 볼 수 있습니다.


학습 로드맵

각 모듈의 상세한 사용법과 설정 방법은 다음 순서로 학습하는 것을 권장합니다.

  1. View3D : 화면 렌더링의 기본 단위와 레이아웃 설정 방법.
  2. Scene : 무대를 구성하고 조명을 관리하는 컨테이너.
  3. Camera : 3D 좌표를 화면 좌표로 변환하는 시점의 이해.
  4. Controller : 마우스와 터치를 통한 인터랙티브한 카메라 조작.