2011-11-10 4 views
1

Я пытаюсь снова смешивать свои компоненты gui на фоне, но atm это выглядит очень странно, даже когда я установил альфа 1.0 в шейдер, смешения действительно странные.OpenGL ES 2.0: проблемы смешивания альфа

включить смешивание со следующим кодом:

GL.Enable(All.Blend); 
GL.BlendFunc(All.SrcAlpha, All.One); 

с альфа-набора до 1,0 кнопок выглядеть следующим образом (Примечание: Одна кнопка отсутствует): Buttons

Пиксельный шейдер прост :

varying lowp vec2 textureCoordinates; 
uniform sampler2D texture; 

void main() 
{ 
    gl_FragColor = vec4(texture2D(texture, textureCoordinates).bgr, 1.0); // r and b switched, because the colors are switched???? 
} 

Одна из кнопок: enter image description here

+0

Почему вы все равно переключаете цвета в шейдере? –

+0

Можете ли вы показать исходное изображение кнопок? – NickLH

+0

Было бы намного проще помочь вам, если бы вы могли предоставить автономный тестовый пример, размещенный где-нибудь (например, github), или zip-файл, прикрепленный к отчету об ошибке (например, http://bugzilla.xamarin.com). Сейчас трудно сказать, где может быть проблема - и нелегко воспроизвести что-то подобное. – poupou

ответ

0

Использование OneMinusSrcAlpha вместо One решает проблему.

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