Как нарисовать скругленный прямоугольник с альфа-смешиванием в режиме OpenGL немедленный
Я нашел некоторый код, который позволит мне рисовать скругленный прямоугольник в непосредственном режиме OpenGL ( здесь).
То, что я хотел бы сделать, это уменьшить альфу, дальше от центра прямоугольника - как было бы найти в окне или диалоге Windows/Mac, например, где рисуется тень.
Может кто-нибудь указать мне пример, как это сделать?
1 ответ
Это относительно легко сделать с геометрией.
Создайте вершины для двух скругленных прямоугольников: внутреннего и внешнего. Присвойте альфа 1 внутреннему прямоугольнику, а альфа 0 внешнему прямоугольнику. Триангулируйте как внутренний прямоугольник, так и пространство между двумя прямоугольниками. Если вы специально не спросите иначе, альфа будет плавно интерполироваться между внутренним и внешним прямоугольниками.
Что-то вроде этого:
Вы можете получить лучшие результаты, используя текстуру и разделив прямоугольник на 9 частей - это может дать вам лучший результат с более простой геометрией и более простым кодом, в зависимости от вашего приложения.