#android #graphics #opengl-es
#Android #графика #opengl-es
Вопрос:
В настоящее время я использую VBO и треугольные вентиляторы для рисования кругов. Кто-то сказал мне, что эффективнее отобразить текстуру круга на квадрат, а затем применить прозрачность. Мой круг должен постепенно менять цвет с течением времени (сотни возможных цветов).
Действительно ли текстурирование квадрата более эффективно? Если да, то не мог бы кто-нибудь, пожалуйста, предоставить мне соответствующую ссылку или какой-нибудь код / псевдокод (в частности, как изменить цвета только для круглой области и соответствующий фильтр наложения) относительно того, как воплотить эту мечту в реальность?
Ответ №1:
Если ваш круг всегда имеет один и тот же цвет во всей своей области (цвета не меняются в разных регионах независимо), вы можете просто изменить цвет вашего квадрата и умножить его на текстуру белого круга либо с помощью текстурной среды GL_MODULATE (при использовании фиксированной функции), либо просто написав постоянный цвет вместо цвета текстуры (при использовании шейдеров).
Ответ №2:
Наряду с отображением белой текстуры с координатами текстуры и координатами вершин, предоставление действительного цветового указателя с требуемыми значениями цвета в нем сработало для меня. Я не использовал никакого GL_MODULATE в коде 1.x .
Комментарии:
1. Тогда я полагаю, что GL_MODULATE используется по умолчанию, так как с GL_REPLACE у вас будет просто белый круг.