OpenGL이란?
- 컴퓨터 그래픽스 렌더링을 위한 API
- 그래픽스 작업을 할 수 있게 관련 함수를 구하는 라이브러리
- OS에 independent (DirectX, Direct3D는 microsoft window에 dependent함)
초창기 OpenGL vs 현재의 OpenGL
초창기
- 그 당시엔 모델의 크기가 크지 않았음
- fixed function operation 사용(GPU가 안좋았음) →
- 그래픽스 Pipeline에서 수행되는 정해진 작업들이 하드웨어에서 하드코어 되어 정해진 작업을 수행
- vertex 데이터를 하나씩 전송(데이터 크기도 별로 안컸음)
현재
- GPU에 programmable한 특성 추가→
- Vertex Operation, Fragment Operation들을 사용자가 직접 작성해 적용하는 방식으로 변경
- 이를 Vertex shader, Fragment shader 프로그램에서 실행
- 최근엔 데이터 전송이 효율적으로 변함(데이터 크기가 커져서 Buffer Object 사용)
<정리>

OpenGL Pipeline 변천사
1.0