반응형

개요

유니티 엔진에서 GPU Driven Rendering 시스템 구현을 위한 구조화 버퍼 설계 활용, 셰이더 및 렌더러 구현에 대한 내용을 소개합니다.

 

주요 내용

드로우콜 원리 설명과 DrawInstanced 이해

GPU에 렌더 호출을 하기 위해 커맨드버퍼에 담는 정보와 유니티 엔진의 드로우콜 최적화 시스템에서 이를 어떻게 최적화하고 있는지를 설명합니다.

 

InstanceDraw 시스템 구현 튜토리얼

DrawMeshInstanced, DrawMeshInstancedProcedural, DrawMeshInstancedIndirect까지 유니티 엔진에서 제공하는 InstanceDraw API 사용 방법과 DrawInstanced를 위한 구조화 버퍼 설계 및 구현 방법을 설명합니다.

이해하기 쉽도록 만든 샘플 프로젝트 공유합니다.

 

 

GPU Driven Rendering 시스템 개발 및 프로젝트 활용 사례

실제 프로젝트에 DrawInstanced 시스템 활용하기 위해 언리얼 엔진의 ISM(Instanced Static Mesh) 시스템과 유사한 GPU Driven Rendering 개발 과정을 소개합니다. 프로젝트에 시스템 도입을 위한 인터페이스 설계와 런타임 성능을 최대한 높이기 위해 어떤 것들이 고려되었는지 알 수 있습니다.

 

 

그 외

프로젝트에 도입한 ISM 시스템의 다음 발전 방향을 소개합니다. Cluster Mesh Render와 유사한 방식으로 버텍스 인덱스 버퍼로 여러 메쉬를 1 드로우콜로 처리하는 등, 실험적인 기술 구현 내용을 설명합니다.

 

 

 


구글 슬라이드 : https://docs.google.com/presentation/d/1xxy7ouNLvLhFBdHa1YXj8iWzaMOTPqgT/edit#slide=id.p1

 

Instanced Static Mesh 시스템 개발 .pptx

Instanced Static Mesh 시스템 개발 유니티 엔진 GPU Instancing Renderer 시스템 오지후 email : dhwlgn12@gmail.com blog : https://darkcatgame.tistory.com/

docs.google.com

 

GPU Instancing 샘플 프로젝트 : https://github.com/CatDarkGame/GPUInstancingSample

 

GitHub - CatDarkGame/GPUInstancingSample

Contribute to CatDarkGame/GPUInstancingSample development by creating an account on GitHub.

github.com

 

 

 

반응형

WRITTEN BY
CatDarkGame
Technical Artist dhwlgn12@gmail.com

,