14. 관련 리소스 / 다음 단계(Next Steps)
이 책의 목표는 “URP/SRP를 끝까지 파고들 수 있는 좌표계”를 제공하는 것입니다. 여기서는 공식 문서(원본) 와 추가 학습 리소스를 용도별로 정리합니다.
14.1 공식 문서(필수)
RenderGraph(URP)
- RenderGraph 개요/패스 작성: https://docs.unity3d.com/Manual/urp/render-graph-write-render-pass.html
- RenderGraph Viewer: https://docs.unity3d.com/Manual/urp/render-graph-view.html
- Frame Data 접근(UniversalResourceData 등): https://docs.unity3d.com/kr/6000.3/Manual/urp/accessing-frame-data.html
- ImportTexture / RTHandle: https://docs.unity3d.com/Manual/urp/render-graph-import-texture.html / https://docs.unity3d.com/Manual/urp/render-graph-rt-handle.html
- History Render Textures: https://docs.unity3d.com/Manual/urp/render-graph-history-render-textures.html
- Compute shader를 Render Pass에서 실행(AddComputePass): https://docs.unity3d.com/Manual/urp/render-graph-compute-shader-run.html
URP 조명/Forward+
- Forward+ 추가 라이트/키워드: https://docs.unity3d.com/6000.3/Documentation/Manual/urp/rendering/additional-lights-fplus.html
셰이더/HLSL(URP)
- URP 셰이더 라이브러리 메서드(변환): https://docs.unity3d.com/6000.3/Documentation/Manual/urp/use-built-in-shader-methods-transformations.html
SRP Batcher
- SRP Batcher 개요: https://docs.unity3d.com/Manual/SRPBatcher.html
포스트프로세싱(URP)
- Full Screen Pass Renderer Feature: https://docs.unity3d.com/Manual/urp/renderer-features/renderer-feature-full-screen-pass.html
- Volume 지원 커스텀 포스트: https://docs.unity3d.com/Manual/urp/post-processing/custom-post-processing-with-volume.html
14.2 패키지 소스(가장 강력한 학습 자료)
URP/HDRP는 패키지 소스가 곧 “정답”입니다.
- 로컬:
Packages/com.unity.render-pipelines.universal또는Library/PackageCache/... - GitHub(Graphics 패키지 모노레포): https://github.com/Unity-Technologies/Graphics
추천 루틴:
- URP Lit 셰이더의 include를 따라간다
- Forward+ 라이트 루프가 어디서 분기되는지 확인한다
- Full Screen Pass Renderer Feature가 어떤 리소스를 요구/생성하는지 추적한다
- RenderGraph 패스가 어떤 리소스를 read/write하는지 Viewer와 소스로 대조한다
14.2.1 (추천) Generated 레퍼런스로 “정확 정의 위치”를 먼저 고정하기
패키지 소스를 바로 파고들면 “어디서 시작해야 할지”가 막막할 수 있습니다.
이 저장소는 로컬 URP/Core 소스를 스캔해 시그니처/구조체/매크로/참조(xref) 를 자동 생성하는 워크플로를 제공합니다.
- 생성 안내:
book/generated/README.md - 원클릭 러너:
tools/generate-all.ps1
이 흐름으로 “정의 위치(파일/라인)”를 먼저 고정한 뒤 소스를 읽으면, 학습/디버깅 속도가 크게 올라갑니다.
14.3 다음 실습 과제(난이도 순)
- Full Screen Pass로 간단한 색 보정(그레이/인버트) 구현 + Injection Point 비교
- Depth 기반 Outline 구현(Depth 선형화 포함) + Requirements 설정 비교
- Normal 기반 Edge 구현(노말 공간 확인) + MSAA 케이스 점검
- RenderGraph로 다운샘플/업샘플 체인 구현(블러/블룸) + Blit 최적화 적용
- Forward/Forward+ 둘 다 동작하는 커스텀 Lit(추가 라이트 포함) 구현
- History 텍스처를 사용하는 시간 누적 효과(간단한 TAA 모사) 구현
14.4 이 책의 다음 확장 후보(원하면 추가 작성)
- RenderGraph의 Compute Pass/UAV 패턴(SSR/SSAO/타일 기반)
- RendererList 기반 오브젝트 드로우(특정 레이어/태그 렌더)
- Shader Variant 스트리핑/빌드 최적화(대규모 프로젝트)
- XR(싱글패스 인스턴싱)에서의 텍스처/좌표/모션벡터