Экземпляр повышает производительность (значительно) при одновременном рендеринге нескольких копий одного и того же меша. Но сколько накладных расходов это имеет при рендеринге ровно одной копии одним вызовом отрисовки? Будет ли хорошей или плохой идеей использовать инстансинг для всей геометрии, отображаемой движком?
Изменить: скажем, мы создаем игру FPS. У большинства объектов есть только один экземпляр: нож, пистолет, пулемет, здание и радиовышка. Но есть также несколько объектов с несколькими экземплярами: деревья (например, 3 вида деревьев с сотнями экземпляров), трава и т. Д. Я имею в виду: вместо того, чтобы визуализировать объекты с одним экземпляром «традиционным» способом и деревья и трава, используя инстансинг, мы рендерим их все, используя инстансинг Таким образом, наша радиомачта имеет только один экземпляр (чью информацию мы храним в буфере данных экземпляра), и мы визуализируем эту башню, используя какой-то DrawInstanced()
вызов с равным количеством экземпляров 1
. То же самое со всеми другими объектами (конечно, деревья и трава имеют несколько экземпляров).
Поэтому мой вопрос: плохая идея нарисовать один экземпляр объекта с использованием инстансинга? Есть ли у экземпляра слишком много накладных расходов (с точки зрения памяти и производительности) или это каким-то образом нежелательно для рендеринга объектов с одним экземпляром?