Загрузка страницы

Kaleido: UE4 Compute Shader and GPU Instancing

Kaleido is a custom plugin for experimenting with UE4's compute shader and GPU instancing to manipulate massive number of transforms. There are in total of over 20k instances running at over 60 FPS, with ray tracing on.

In this plugin, the instanced static meshes are called Kaleido. The concept is to have a few spherical "influencers" to overlap kaleidos to impact their transforms. Each kaleido has inertia values towards location, rotation and scale to signify how easily they can be affected by "influencers". Kaleidos can observe overlapping "influencers" to figure out the necessary compute passes that they need to be operated on.

I used custom macros and C++'s template specialization to allow flexibility in authoring compute shaders that can be applied to Kaleidos. I can simply register a "kaleido shader" to the system with just one line of code. For each "influencer", it can simply keep track of a list of shader names. And the list can be updated on the fly, during gameplay.

Credit: Special thanks to Silence&Moon for his awesome VFX course. I used some of his materials and functions in this demo.

Music: The Wolf and The Swallow - Mikolai Stroinski, Marcin Przybyłowicz

Source code: https://github.com/UnrealXinda/Kaleido

Видео Kaleido: UE4 Compute Shader and GPU Instancing канала Unreal Xinda
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
31 мая 2020 г. 12:35:07
00:02:38
Яндекс.Метрика