book/01-introduction.md

01. 큰그림: 유니티 렌더링 파이프라인과 SRP

Unity 6.3(6000.3) 기준으로 SRP/URP/RenderGraph의 큰 흐름과 버전 감각을 정리한다

01. 큰그림: 유니티 렌더링 파이프라인과 SRP

이 챕터는 “유니티에서 렌더링이 어떻게 진행되는가?”를 아키텍처 관점에서 정리합니다. 이후 챕터의 모든 용어(패스, 렌더러, RenderGraph, RTHandle, Forward+)가 여기서 출발합니다.

1.1 Unity 6.3(6000.3)과 패키지 버전 감각

Unity 6는 에디터 버전이 6000.x 계열로 표기됩니다. “Unity 6.3”은 보통 6000.3.* 계열 릴리즈를 가리킵니다.

  • Unity 6000.3 릴리즈(예: 6000.3.6f1) 아카이브 페이지에서 패치 릴리즈를 확인할 수 있습니다.
  • URP는 에디터 버전과 별도로 패키지 버전(예: URP 17.x) 을 가지며, 실제 API/구현은 이 패키지 버전에 의해 달라집니다.

이 문서 세트는 “Unity 6(6000.x) + URP 17.x 계열 + RenderGraph 중심”을 기준으로 서술합니다. 프로젝트마다 URP 패키지 버전이 다를 수 있으므로, 본문에서 소개하는 API가 다르게 보이면 패키지 버전을 먼저 확인하세요.

1.2 Built-in Render Pipeline vs SRP(URP/HDRP)

핵심 차이

  • Built-in(구 파이프라인): Unity 내부 고정 파이프라인(확장 제한, CommandBuffer 기반 확장)
  • SRP: C#으로 렌더링 루프/패스 구성 자체를 정의(확장·교체가 구조적으로 가능)

SRP를 공부하는 이유(그래픽스 개발자 관점)

  • “어디에서 무엇을 그릴지”를 코드 레벨에서 통제 가능(패스 삽입, 버퍼 관리)
  • 플랫폼/성능 요구(모바일/콘솔/PC)에 맞춰 구조를 튜닝 가능
  • 셰이더/라이팅/포스트프로세싱 파이프라인을 프로젝트 맞춤형으로 구성 가능

1.3 URP 렌더링의 큰 흐름(요약)

URP에서 보통(기본 렌더러 기준) 프레임은 이런 느낌으로 진행됩니다.

  1. 카메라별 설정/컬링 준비
  2. Opaque → Skybox → Transparent 등 큐 순서대로 드로우
  3. 필요한 경우 Depth/Normal/Color 텍스처 생성 및 소비
  4. 포스트 프로세싱(볼륨 기반) 및 최종 출력

이 흐름을 “어디서” 확장하는지가 RendererFeature/Pass 입니다. (자세한 구조는 03. URP 아키텍처 참고)

1.4 RenderGraph는 왜 중요한가?

RenderGraph는 “패스 간 자원 의존성”을 그래프로 선언해 리소스 수명/재사용실행 순서를 안정적으로 관리하게 해줍니다.

  • 장점: 텍스처/버퍼 할당을 줄이고, 패스 의존성을 명확히 선언(디버깅/최적화에 강함)
  • 실무 포인트: URP는 RenderGraph 경로를 적극적으로 사용하며, 호환 모드(Compatibility Mode) 경로는 점점 덜 발전합니다.

RenderGraph 기반 커스텀 패스 작성은 04. RenderGraph부터 시작합니다.

추가 읽을거리(공식/권위 자료)