OpenGL object

OpenGL object는 다수의 state를 저장하는 구조체이다.
OpenGL object가 어떤 context에 연결되면, object가 저장하고 있는 state가 context의 state로 나타나게 된다.
따라서, context 상에서의 변경 내용은 현재 연결되어 있는 object의 상태를 변경하게 된다.
또한, context 상에서 수행하는 함수들은 현재 연결되어 있는 object에 저장되어 있는 상태를 기반으로 작동한다.
OpenGL object를 사용하려면 우선 각 object 마다 고유한 이름이 필요한데, 이를 위해서 OpenGL에서는 무부호 정수 값을 사용한다.
필요시 동적으로 object를 생성 및 제거 할 수 있으며 이 때 숫자로된 이름을 사용한다.
object name이 0인 object는 초기 상태 값을 저장하는 object로 주로 시스템에서 default object로 사용하고 있으므로 필요시 동적으로 생성하는 object name은 0보다 큰 값을 사용해야 한다.

필요한 object를 동적으로 생성하고 사용한 후, 삭제하는 과정은 크게 다음과 같은 함수들을 이용하여 이루어진다.

1. glGen*s(*): object의 생성
2. glBind*(*): 해당 object를 current target으로 설정
3. glDelete*s(*): object의 삭제
4. glBind*(*,0): system default object를 current target으로 설정

답글 남기기