2014-11-20 2 views
0

기본적으로 달성하고자하는 것은 아래와 같이 스프라이트 강조 애니메이션 효과입니다.배경에 영향을주지 않고 OpenGL ES에서 두 개의 스프라이트를 블렌딩

Overlaying two sprites

생각은 (왼쪽에서 오른쪽으로) 다른 스프라이트의 상단에있는 흰색 반투명 ​​그라데이션 스프라이트 이동, 오버레이 (포토샵)와 같은 혼합 모드를 사용한다는 것입니다. 어려운 부분은 상단 그라디언트 스프라이트가 스프라이트의 가시 픽셀 아래에만 그려 져야한다는 것입니다. 그래디언트 오버레이의 다른 부분은 배경이나 다른 스프라이트 아래에 영향을주지 않도록 폐기해야합니다 (맨 오른쪽의 이미지처럼).

OpenGL 혼합 모드와 방법을 똑똑하게 조합하여이 효과를 얻을 수 있습니까? 아니면 이러한 스프라이트를 결합하기 위해 맞춤 셰이더를 만들어야합니까?

배경 : OpenGL ES 2.0과 함께 libgdx를 사용하고 있으며이 앱은 데스크톱, Android 및 iOS에서 실행됩니다.

답변

0

거기에는 여러 가지 방법이 있습니다. 가장 단순한 것 :

버튼과 hilight를 한 번에 렌더링해야합니다. 프래그먼트 쉐이더에서, 버튼 텍스쳐와 하이라이 텍스 텍스쳐를 계산 한 후 블렌딩을위한 출력 색상 (믹스 (c1, c2, c2.a) 일 수 있음)과 버튼 텍스쳐 알파 만의 알파. 물론 일반적인 방법으로 블렌딩을 가능하게합니다 : (srcalpha, 1-srcalpha)