2012-05-18 2 views
1

Я пробовал различные модификации плавных без толка ....GLPaint и OpenGL - темные цвета не работают должным образом

Если вы используете более темный цвет в GLPaint образце это происходит, ссылку на изображение прилагается:

http://www.studionu.nu/files/GLPaint_dark_color.png

Как вы можете видеть, «М» выделяется даже после окраски изображения.

У кого-нибудь есть ключ к тому, что здесь происходит и как его исправить?

Благодаря

Я использую glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); (preultipliplied)

и я попробовал glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

EDIT: вот файл, основанный на GLPaint для простоты.

У меня есть пример кода, который является проблемой в копии GLPaint, основного приложения для рисования яблок. Вот ссылка ..... Может быть, вы могли бы посмотреть на нее. Я overidden функции изменения цвета так, что она начинается с красными и изменениями в темно-красный цвет, когда вы выбираете любого из цветов .....

http://www.studionu.net/files/GLPaint.zip

+0

Да Я создаю приложение для рисования, у меня возникают проблемы с перекрытием разных цветов. Серьезно, я дам всем, кто решает мою проблему, хороший приз :) серьезно, я устал от этого глупого материала смешивания сейчас, ничего не работает. – Carson

+0

Итак, вы можете использовать Core-графику вместо openGL .. я сделал «Easy Doodle», используя графику Core, доступную на iTunes. Вы хотите сделать так или иначе. – Rock

+0

Я уже запрограммировал его в Core Graphics, производительность была очень медленной на ipad. поэтому мне нужно перейти на OpenGL – Carson

ответ

0

Это, скорее всего, из-за смешивания выбранного режима, я могу Не помню специфику, но похоже, что вы используете многократный стиль смешивания, где яркие цвета светят сквозь темные.

Выбрать другой метод смешивания, так что новый цвет вновь применяется цвет, а не сочетание двух цветов

Edit:

OpenGL Blending Options:

http://pyopengl.sourceforge.net/documentation/manual/glBlendFunc.3G.html

+0

Я мог ошибаться, называя его Умножьте, но все равно проверяйте метод смешивания, который вы используете, и что передано в него – CStreel

+0

Спасибо за ответ .... Я тоже думал, что это проблема смешивания. В настоящее время я использую: glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); , Есть ли у вас какие-либо предложения по смешению? – Carson

+0

возможно, попробуйте: GL_DST_ALPHA. Я отредактировал свое сообщение со ссылкой на опции смешивания – CStreel

Смежные вопросы