Как OpenGLES (iPhone) рендерит огромный квад - PullRequest
0 голосов
/ 08 декабря 2011

Мне нужно поддерживать быстрый рендеринг огромных четырехугольников порядка 10 000 x 10 000 пикселей.

В целом или специально для iPhone, OpenGLES автоматически обрезает рисунок текстуры в текущем окне просмотра? Или мне нужно добавить код, чтобы обрезать эти вершины до размера экрана?

Я видел разговоры об оптимизации для многих вершин, но как насчет только 4 вершин в очень большом текстурированном квадре?

1 Ответ

2 голосов
/ 08 декабря 2011

Конвейер рендеринга OpenGL выполняет обрезку и выборку перед растеризацией - так что нет затрат на пиксель для частей геометрии вне области просмотра.

Если вы знаете, что ваша геометрия всегда будет точно заполнять область просмотра, то у вас будет больше информации, чем вы раскрыли в OpenGL, и теоретически вы могли бы написать код, чтобы добраться до вашей выходной геометрии за меньшее количество операций. В вашем случае вам нужно работать в обратном направлении, чтобы проецироваться в мир и найти четыре точки, которые идут по краям экрана, возможно, в вершинном шейдере. Однако разница должна быть настолько незначительной, даже если вы написали абсолютно оптимальное решение, чтобы оно не стоило дополнительной нагрузки на код.

...