GLPaint с белым фоном - PullRequest
       24

GLPaint с белым фоном

4 голосов
/ 18 ноября 2009

Я пытаюсь нарисовать на белом фоне путем обратного инжиниринга GLPaint. Я рассмотрел каждую комбинацию kSaturation, kLuminosity и glBlendFunc, и почти каждую комбинацию, которую я могу придумать для текстуры кисти (черный на белом, белый на черном, белый на транс, псевдоним / без псевдонима и т. Д.), Но еще нет t наткнулся на желаемый эффект.

Лучшее, чего я смог добиться, это с белым на транс-кругом, с glBlendFunc (GL_ SRC_ ALPHA, GL_ ONE_ MINUS_ SRC_ ALPHA), но это все равно дает мне тусклый цвет и полупередачу внешние биты интерпретируются как черные (т.е. тускло-зеленый с черными краями, а не ярко-зеленый с прозрачными краями). Как будто все еще предполагается, что я на черном фоне.

Любой совет?

alt text
(источник: straandlooper.com )

Ответы [ 3 ]

1 голос
/ 25 апреля 2012

Я считаю, что это то, что вы хотите, чтобы он работал на белых: glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);

Затем используйте белый круг «Particle.png», который растянется до прозрачности (ваш «лучший» пример).

Это должно дать желаемый результат.

1 голос
/ 18 ноября 2009

Вы тоже:

glEnable(GL_BLEND);

0 голосов
/ 18 ноября 2009

Да, glEnable (GL_BLEND) там. Я в основном начал с GLPaint и изменил фон на белый, а остальная часть кода такая же. Я должен предположить, что, поскольку GLPaint был создан с черным фоном, есть некоторый фрагмент кода, который идеально сочетается с черным, и я не знаю, какой переключатель перевернуть (или, действительно, какие переключатели можно перевернуть. Черт, какие переключатели вообще существуют).

Вот что по умолчанию. Дай мне знать, если увидишь что-нибудь нехорошее ...

glDisable (GL_DITHER)

glMatrixMode (GL_PROJECTION)

glMatrixMode (GL_MODELVIEW)

glEnable (GL_TEXTURE _2D)

glEnableClientState (GL_VERTEX _ARRAY)

glEnable (GL_BLEND)

glBlendFunc (GL_SRC _ALPHA, GL_ONE _MINUS _SRC _ALPHA)

glEnable (GL_POINT _SPRITE _OES)

glEnable (GL_COLOR _MATERIAL)

Я не возражаю тебе сказать, я понятия не имею, что это все такое. -kev.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...