WebGL и прямоугольные (степень двух) текстуры - PullRequest
7 голосов
/ 30 сентября 2011

WebGL, как известно, имеет плохую поддержку текстур NPOT (не в степени двух) . Но как насчет прямоугольных текстур, в которых ширина и высота имеют степень двойки? В частности, я пытаюсь нарисовать прямоугольный кадровый буфер как часть схемы рендеринга в текстуру, чтобы сгенерировать некоторые элементы пользовательского интерфейса. Фрейм-буфер должен быть 512x64 или около того.

Насколько менее эффективным было бы это с точки зрения рисования? Если частота кадров является проблемой, я бы лучше выделил 512x512 буфер размера 2 и рендеринг только для верхних 64 пикселей, жертвуя памятью для скорости?

Ответы [ 2 ]

8 голосов
/ 30 сентября 2011

Никогда не было ограничения для этой ширины, равной высоте.

2 голосов
/ 01 октября 2011

Более конкретно: 2D текстуры вовсе не обязательно должны быть квадратными;текстура 512x64 не только разрешена, но и должна эффективно реализовываться драйвером;с другой стороны, карты кубов должны быть квадратными.

Для 2D-текстур вы можете использовать текстуры NPOT, если оба режима наложения - CLAMP_TO_EDGE и ваш фильтр минимизации не требует mipmap.Эффективность текстуры NPOT может варьироваться в зависимости от вашего водителя.

...