OpenGL as a State Machine

State machine이란 state를 변경하는 명령을 받기 전에는 현재의 state를 계속 유지하는 machine을 말한다.
OpenGL은 미리 정의되어 있는 유한개의 state들을 가지고 있으므로 finite state machine (FSM)의 일종으로 볼 수 있다. (실제로 유한개이긴 하지만 매우 많은 state들이 정의되어 있다.)

예를 들면, glColor3f(0,0,1)을 호출한 이후에는 또 다른 값으로 glColor3f(*) 함수를 호출하지 않는 한 모든 도형들이 파란색으로 그려지게 된다.
또 다른 예로는, OpenGL에서는 기본적으로 line width가 1로 설정되어 있지만 glLineWidth(3)을 호출한 후에는 모든 line들이 두께가 3으로 그려지게 된다.

답글 남기기