eDmk
> FPS ~650-720
У вас наверное две трети времени кадра идёт заливка заднего фона.
Это точно то, что вы хотите теститировать?
Что вы к чайнику этому прицепились, почему нормальную лоу-поли сцену не сделать, непонятно.
122
Без заливки fps больше на 10-20 единиц максимум. Модели чайника достаточно для преследуемых этим проектом целей.
пора уже софтварные RTRT разрабатывать, благо Radeon Rays 4.1 вышел :D
вот где мощь ..
122
> Что вы к чайнику этому прицепились, почему нормальную лоу-поли сцену не
> сделать, непонятно.
Несколько тысяч полигонов - вполне себе лоу-поли. Но тестировать надо на чём-нибудь посерьёзнее, например на Stanford Bunny, где 60k полигонов.
Zefick
В чайнике 2256 треугольников.
Вот демка с моделькой Mikle (30338 треугольников): [file=156400]
Здесь затенение по Фонгу (3 нормализации на фрагмент) + билинейная фильтрация. Рендерер также поддерживает SSAA (в этой демке выключен).
Locnet
> Bunny32
На i5-2400 (3200 МГц) скачет от 77 до 97 fps.
Mikle
Для этой демки скачки приемлемы, моделька вращается.
Касательно той демки, мне удалось сократить разрыв до ~105 против ~150 fps. Я был бы очень благодарен за точное расположение модельки, хочу-таки дожать скорость до предела. В будущем игру может напишу
Locnet
материал годный
Locnet
> Bunny32
Ryzen 5 2500U (2.0 - 3.6 ГГц) + 8Gb 2400 Mhz x2
Поставил максимальный приоритет в винде и зафиксировал на одном конкретном ядре (через диспетчер задач)
Минимальный фпс - 77, максимальный - 113, в среднем - 80-90.
Locnet
> Я был бы очень благодарен за точное расположение модельки
Вот так я получаю матрицу для рендера:
MatrixPerspectiveFovLH M, Pi * 0.5, 1, 0.01, 100 MatrixLookAtLH mWVP, Vec3(Dist * SinA * CosD, -Dist * SinD - 0.3, -Dist * CosA * CosD), Vec3(0, 0, 0), Vec3(0, 1, 0) MatrixMultiply mWVP, mWVP, M
То есть мировую матрицу считаю единичной, вращаю не модель, а камеру.
MatrixPerspectiveFovLH и MatrixLookAtLH полностью аналогичны соответствующим D3DX функциям.
SinA и CosA - синус и косинус угла по горизонтали. SinD и CosD - по вертикали. Изначально углы равны нулю.
Dist = 6.5, это дистанция.
Mikle
Спасибо! Теперь кадры полностью совпадают, но при ином fovY
Zefick
> тестировать надо на чём-нибудь посерьёзнее, например на Stanford Bunny, где 60k
> полигонов.
От целей зависит.
Пока тут я вижу сцены с низким разрешением + малое перекрытие + одна тяжёлая моделька.
Для такого да, надо больше полигонов чтобы нагрузить.
Если целью будет сцена условной игры типа квейка\хексена\майнкрафта, то условия совсем другие.
Полигонов там конечно надо будет меньше, и сильно. Уровня 10к, до 20-30к максимум.
Потому что в 2к\4к + 30\60фпс + высокое перекрытие - ты не вытащишь 60к полигонов. 10к вытащить бы.
Грите свои варианты!
Locnet
> Теперь кадры полностью совпадают, но при ином fovY
Да, сейчас копнул код - у меня там немного переделано, Aspect считается не как отношение сторон окна, а как отношение масштабов по X и по Y. Там и стоит 1, чтобы не нарушать пропорции. Уже не помню, зачем я так сделал тогда.
122
> Потому что в 2к\4к + 30\60фпс + высокое перекрытие - ты не вытащишь 60к
> полигонов. 10к вытащить бы.
Даже на видеокартах при больших разрешениях главную роль начинает играть не полигонаж, а филлрейт (хотя там полигонаж уже и на обычном разрешении давно не роляет). А уж в софтрендере тем более, потому что там пиксельные вычисления нельзя так же распараллелить. Можно просто спросить народ с какой скоростью у них рисуется квад на весь экран в расрешении FullHD. У меня примерно с такой же, как моделька с 60k полигонов , немного не влезающая в экран.
Тема в архиве.