Быстрее где? на процессоре? Объем работы для полноэкранного четырехъядерного процессора по сравнению с работой, требуемой для GPU, невелик.
Так что самое главное в этом случае - это, как правило, оптимизировать сторону GPU и верить в это или нет, есть одна вещь, которая довольно значительна. Все графические процессоры, которые я знаю, внутренне преобразуют квадрат в 2 треугольника. Каждый из этих треугольников получает растрирование отдельно. Как бы то ни было, вы в конечном итоге не используете GPU в полной мере, потому что по диагонали между двумя треугольниками графический процессор должен работать дважды (это потому, что графический процессор работает, как правило, 16 или 32 пикселя одновременно, в формах квадрат или прямоугольник, минимум 4, что уже делает дополнительную работу).
Как избежать дополнительной работы на краю? Нарисуйте один треугольник над всей областью, и scissor в регион, в который вы хотите обратить внимание.
Нечто подобное (хотя я обычно иду от 0 до 1, а не -1 до 1 ...):
glBegin(GL_TRIANGLES);
glVertex(-1,-1,0); glVertex(3,-1,0); Vertex(-1,3,0);
glEnd();
Ни одна из функций вы называемые здесь являетесь OpenGL функции. Возможно, вы имеете в виду префикс «gl»? –
Это своего рода псевдокод –