Я пытаюсь обернуть голову вокруг конвейера графического процессора и влияния на производительность ...
Я создаю систему координат и помещаю в нее миллион вершин, все они теперь находятся в памяти, используемой графическим процессором,Я предполагаю, что это удар по производительности на этом шаге: перемещение всех плавающих значений в память графического процессора с указанием точек, где они уже созданы.
Затем я преобразую координаты моих миллионов точек в координаты отсечения.Здесь я применяю преобразование к каждой точке.
В результате этого преобразования некоторые точки теперь находятся за пределами координат клипа, скажем, только тысячи точек. Вертексный шейдер работает на тысяче или на всех миллионах точек?Как насчет фрагмента шейдера?А здание из треугольников?Преобразование в конечные координаты устройства занимает только тысячи точек?
Я предполагаю, что вершина работает на всех, кроме фрагмента, только на интерполяции видимых вершин.
Возможна ли единственная оптимизациятогда просто включить как можно меньше вершин в первую очередь?Если я смотрю на полный трехмерный мир со зданиями, деревьями, дорогами ... и затем увеличиваю масштаб только на один камень, я в любом случае запускаю все шейдеры на всех объектах ... так что единственным решением было бы не помещатьэти деревья и здания в первую очередь?Или я могу иметь этот мир в памяти GPU, но просто вычислить рок?Могу ли я применить преобразование координат только к скале?Где в конвейере происходит такая техника, как отбор графического процессора, уровень детализации или динамическая тесселяция?