나는 사용자가 손가락으로 그릴 수있는 Android 용 페인트 앱을 개발 중입니다. 빠른 렌더링을 위해 FBO뿐만 아니라 포인트 스프라이트 기술을 사용하여 OpenGL ES 2.0을 사용하여 구축되었습니다. 투명 점이 FBO에서 올바르게 렌더링되는 경우 개별 점 스프라이트를 함께 섞는 문제가 있지만 스프라이트가 겹칠 때 이전 스프라이트에서 렌더링되는 투명 영역을 볼 수 있습니다. 다음은 현재 보이는 방법은 다음과 같습니다 나는 흰색 또는 검은 색으로 그리기 색상을 변경하는 경우포인트 스프라이트 알파 블렌딩
GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA);
그것을 완벽하게 작동합니다 :
이이 블렌딩 방정식입니다
이 블렌딩 기능을 사용해 보았습니다.
거의 완벽한 대신 주요 색상이 짙어 흰색에 있습니다을이 결과
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_DST_ALPHA);
. 이것을 달성하기 위해 올바른 혼합 기능이 무엇인지에 대한 아이디어가 있습니까?
참고 : 나는 혼합 함수가 색이 흰색으로 갈 것이라는 의미가 있도록 함께 추가 소스 및 대상 색상의 분수를 취함으로써 내 경우에 작동하는 방법의 아이디어를 가지고있다. 그래서 내가 뭘 달성하고 싶습니다 블렌딩 기능으로 만 수행 할 수 있는지 궁금 해서요 아니면 다른 뭔가가 필요합니까? 필자는 필요하다면 조각 쉐이더에서 코드를 제공 할 수는 있지만 조각상의 문제는 아닙니다.