Рисую за 1 раз все 200 объектов и хочу с помощью vertex шейдера, расположить объекты так:
Делать так ?
pos=input.Vrtx.xyz+float3(Instance%40*5,0,Instance%40*5) //Так объекты все в одной линии находятся.
А так расброс дает, а не четкий строй как на красных кубах рисунок.
float3 qq = worldPos.xyz+float3(sin( inst)*40,0,cos( inst)*20)+float3( cos( inst/8)*50,0,sin( inst/8)*40); pos.xyz = input.Vrtx.xyz+qq;
Уха-ха я сделал !
Рисую за 1 раз(DrawIndexedInstanced) все 200 врагов, а вершинный шейдер раставляет их строем по 4 линии.
ronniko
> все 200 врагов
А ведь когда-то было 40к собак, деградируешь?
Собак рисовал не инстансами.
А drawIndexed и в каждой линии рисовал 2000 собак и линий было 20.
То есть на cpu делал 40 000 drawIndexed !
А теперь могу строй врагов , рисовать через пару инстансDraw, что плюс и профит для рендера и меньше cpu кода.
ronniko
покажи 40к врагов тогда
Зачем ?
Фпс будет около 2х.
В такое играть не получиться.
Я планирую в игре не больше 1500 врагов.
Тут 800 собак.
ronniko
А сколько кадровсекунд было на старых псах?
Вверху с право на видео fps есть.
На 40 000 фпс был 1, если всех видно собак.
На 800 собаках фпс 73, если всех видно собак и средний фпс 140
А ведь когда-то было 40к собак, деградируешь?
Это видеокарты деградируют.
За 9 лет должны уже выводить 800 000 собак на экране в 1 секунду.
ronniko
Попробуй заменить псов на кошек. Может производители видеокарт больше кошатники?
А какое все это имееет практическое значение?
MikeNew
Китекет дешевле педигри
innuendo
И вкуснее.
Марио пиши, а не китикет уминай :)
А то весь выхлоп в унитаз.
А профиту нету.
Надо вертеть на генераторе ...