OpenGl Blending - PullRequest
       30

OpenGl Blending

1 голос
/ 04 мая 2011

я хочу смешать две линии, но я хочу нарисовать только смешанную область (область, где пересекаются линии), как это сделать

Ответы [ 3 ]

1 голос
/ 04 мая 2011

Если вы не хотите вычислять пересечение, вы можете использовать буфер трафарета для этого.Прочтите об этом здесь:
http://bluevoid.com/opengl/sig00/advanced00/notes/node118.html

Вы можете нарисовать две части и с приращением в буфере трафарета, а затем замаскировать только те пиксели, которые имеют значение> 2, то есть пиксели, где 2 или более канавокбыли нарисованы.

0 голосов
/ 06 мая 2011
GLES20.glEnable( GLES20.GL_BLEND );
GLES20.glBlendFunc( GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA );

Но вы должны установить поведение вашей функции наложения.И в шейдере я установил альфа-канал.Вы можете увидеть результат:

смешанный пост . источник проекта Android

0 голосов
/ 04 мая 2011

Пересечение двух выпуклых прямых всегда является прямым. так почему бы просто не вычислить пересечение и нарисовать только это?

...