Войти
ПрограммированиеФорумОбщее

Скелетная анимация, эффективный рендеринг (2 стр)

Страницы: 1 2
#15
16:22, 13 янв. 2022

Не совсем понимаю стремление все на гпу перенести. Особенно учитывая, что часто в играх именно видеокарта является ботлнеком (если это не какая-нибудь стратегия с 100500-ми юнитами).


#16
18:28, 13 янв. 2022

MikeNew
CPU и пиксельный шейдер, а не GPU.

#17
(Правка: 13:13) 13:12, 14 янв. 2022

innuendo
> покажи как ты делал
Это уже выпилено давно.
Насколько помню, там все просто - рендер в VB через TF с шейдером скиннинга, потом просто бинд полученного VB и несколько рендеров обычного меша (для теней, в gbuffer и т.д.)

#18
13:49, 14 янв. 2022

San
> Насколько помню, там все просто - рендер в VB через TF с шейдером скиннинга,
> потом просто бинд полученного VB и несколько рендеров обычного меша (для теней,
> в gbuffer и т.д.)

ну да - и по твоим словам это медленней было... очень интересно

#19
17:27, 14 янв. 2022

innuendo
Самый первый рендер запеченного меша был сильно дольше остальных. Как будто этот VB копируется RAM -> VRAM.
Я б показал скрины микропрофайлера, но, как говорил, TF давно уже выпилен.

#20
17:57, 14 янв. 2022

San
> TF давно уже выпилен.

попробуй сейчас - может поменялось

#21
12:13, 15 янв. 2022

MikeNew
> Не совсем понимаю стремление все на гпу перенести.
1) желание крутизны
2) объективные факторы

выбирай, но осторожно

#22
21:02, 15 янв. 2022

San
> Ну и на каждый инстанс приходилось выделять отдельный VB.
А в один VB разве нельзя упаковать все инстансы, видимые в кадре?

#23
9:35, 19 янв. 2022

innuendo
> желание крутизны
В данном случае - именно так )

gammaker
> А в один VB разве нельзя упаковать все инстансы, видимые в кадре?
Нет смысла, все равно данные апдейтить надо

#24
11:32, 19 янв. 2022

San
> Приходится каждый кадр складывать трансформы костей каждого инстанса в буфер и
> отправлять его на GPU. Куллинг, соответственно, только на CPU, что печально.

а как у тебя работает culling для skinned meshes?

#25
17:27, 19 янв. 2022

innuendo
Так же, как и для статики, просто OBB test

#26
17:53, 19 янв. 2022

San
> Нет смысла, все равно данные апдейтить надо
Ну можно не аллоцировать кучу буферов, и не переключать их постоянно, а рисовать из одного с base vertex. Держать один persistently mapped буфер и его заполнять каждый кадр. Правда тут я предполагаю, что скиннинг каждый кадр считается, если нет, то схема может немного усложниться.

Страницы: 1 2
ПрограммированиеФорумОбщее