########################################################
참고 사이트들
http://blog.naver.com/itrainl4?Redirect=Log&logNo=90188723209
########################################################
cgcircuit 강좌 maya python api
-챕터 16 locator openGL 부분
view.beginGL()
glFT.glPushAttrib(OpenMayaRender.MGL_CURRENT_BIT)
glFT.glEnable(OpenMayaRender.MGL_BLEND)
glFT.glBlendFunc(OpenMayaRender.MGL_SRC_ALPHA,OpenMayaRender.MGL_ONE_MINUS_SRC_ALPHA)
view.beginGL()
openGL을 그리기 위한 port를 연다
glFT.glPushAttrib(OpenMayaRender.MGL_CURRENT_BIT)
openGL에서는 서로 괄련된 상태 변수들을 속성 그룹( attribute group ) 으로 묶어서 관리하고 있다.
예를 들어 GL_LINE_BIT 속성은
라인의 폭, 스티플 반복, 라인 스무스등의 다섯 개의 상태변수로 구성되어 있다.
glPushAttrib 커맨드를 사용하여 이러한 상태변수들을 한번에 저장하거나 불러올 수 있다.
GL_CURRENT_BIT은 현재상태의 속성그룹이다.
glFT.glEnable(OpenMayaRender.MGL_BLEND)
openGL의 대다수 기능들은 비활성 상태로 디폴트설정되어 있다. 이러한 상태들을 활성화 시키고 끄는데
glEnable()
glDisable()을 사용한다.
여기서는 GL_BLEND( RGA값의 블렌딩 제어 )를 켰다.
glFT.glBlendFunc(OpenMayaRender.MGL_SRC_ALPHA,OpenMayaRender.MGL_ONE_MINUS_SRC_ALPHA)
내가 지금 그리고자 하는 것을 src하고 이미 그려져 있는 것을 dst라 칭한다.
SRC_RGBA 는 SRC ALPHA에 의해 그려지고
DST RGBA는 ( 1-SRC_ALPHA )로 칠하겠다라는 의미
http://andersriggelsen.dk/glblendfunc.php <--
이 사이트에서 각 속성값의 변화를 체험할 수 있다.