visualization중 모델 여러개를 그려서 색을 겹쳐 Interpolate 효과를 내고 싶었는데 모델들이 겹치니 색이 깨지는 걸 확인했다.
폭풍 서치를 통해 여러 방법들을 적용할 수 있었다.
우선 적용하기 이전에 모델들이 이렇게 깨져보였다면
다음과 같은 glDisable과 Enable을 통해 모델들이 겹치면서도 깨지지 않는 모습을 구현할 수 있다.
glBlendFunc같은 경우 모델과 색상들의 blending에서 아주 중요한 역할의 코드인데
파라미터에 어떤 설정을 해주느냐에 따라 섞이는 모습이 천차만별로 변하는 것을 확인할 수 있다.
아래같은 경우에는 위의 코드대로 GL_ONE, GL_ONE으로 설정해 주었을 때에 blending의 결과이다.
다음 아래같은 경우는 GL_SRC_ALPHA, GL_DST_COLOR 로 설정해주었을 때 blending의 결과이다.
다양한 변수들을 모두 이해하진 못했지만 우선 GL_DST_COLOR같은 경우에는 겹치는 모델들이
혼합된 색을 표현하지 않고, 각자의 색상을 유지한 채로 blending을 하게 하는 변수로 추측된다.
앞으로 다양한 설정값들을 통해 여러 결과들을 도출해볼 수 있을 것.
여기서 겹치는 모델들간의 알파값 조정도 굉장히 중요하다.
참조 :
http://diehard98.tistory.com/entry/OpenGL-블렌딩
https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBlendFunc.xhtml
http://www.learnopengles.com/android-lesson-five-an-introduction-to-blending/
'GRAPHICS > OpenGL ES' 카테고리의 다른 글
[OPENGL ES] FloatBuffer allocation 관리를 통한 그래픽 최적화 (0) | 2018.04.02 |
---|---|
[OPENGL ES] 안드로이드 액티비티 이동간 출력해 준 그래픽 유지하기 (0) | 2018.02.14 |
[OPENGL] 특정 변수값에 따른 HSV 형식 색 표현을 RGB를 이용해 해보기 (0) | 2018.01.30 |
[OPENGL ES] OPENGL 얇게 이해하기 - 3D 도형의 색 문제 해결하기 (0) | 2018.01.22 |
[OPENGL] OpenGL es 3D차트 애니메이션을 위해 참조할 자료 (0) | 2018.01.12 |