목록CS/Computer Graphics (23)
테크 로그포스 Tech Log Force

GPU는 모델링한 물체를 그려내기위한 수많은 계산을 효과적으로 처리하기 위해 파이프라인 구조를 사용한다. 파이프라인 구조는 컨베이어 시스템처럼 분업에 의한 동시(병렬)처리로 속도를 극대화한다. GL 파이프라인 서브 프로세서는 모두 하드웨어화 되어있으며, 입력->변환->투상->절단->래스터->출력 위와 같은 순서로 고정적으로 이루어져있다. 지엘이 이를 바꿀수는 없고, 지엘의 역할은 단지 상태변수를 설정해주는 것이다. 지엘이 상태 변수값을 전달하고, 개별 서브프로세서는 상태변수값을 기준으로 자동 실행된다. (상태 테이블을 이용한다.) 파이프라인은 상태변수를 참조해서 자동으로 실행된다.

- 고수준 API (오픈인벤터, VRML, Java3D..) 장면 묘사 위주로서 구체적 렌더링 방식이 포함되어있지 않으며 다양한 모형을 제공한다. - 저수준 API (OpenGL, DirectX..) 장면을 묘사하는 것이 아니라 구체적 프러시져(특정작업을 수행하는 서브 프로그램)를 호출한다. 하드웨어와 거의 직접 연관되어있어 하드웨어 성능을 최대한 발휘. 물론 저수준API도 드라이버 소프트웨어에 비해서는 상대적으로 고수준 함수다.

- GL(OpenGL Core Library) 오픈지엘에서 코어가 되는 라이브러리로서 렌더링 기능 제공하는 함수 라이브러리이다. 기본 도형 그리기/변환/조명 및 렌더링을 포함하며, 제공되는 함수에는 gl, 상수에는 GL_접두사가 붙음. glBegin(GL_LINES); - GLU(OpenGL Utility Library) GL라이브러리의 사용성을 높이기 위한 도우미 역할을 한다. 다각형 분할, 투상 등 고급 기능을 수행할 수 있도록 돕는다. 뷰잉 및 투영 행렬의 준비, 곡선 및 곡면표현과 렌더링. glu라는 접두사가 붙음 함수 앞에 (gluLookAt(20.0, 10.0...)) - GLUT(OPenGL Utility Toolkit) 윈도우 기능과 콜백 기능(실행 중 발생하는 사용자 입력)을 처리한다. ..
감마 수정은 인간 시각의 비선형성(웨버의 법칙)에 맞추어 정보를 부호화하려는 것이다. 인간의 눈은 밝기가 변할때 부드럽게 느껴지지 않고 단절되어 보이는 현상이 발생한다. 그러므로 이를 선형적으로 일치시켜주는 것이 감마수정의 목적이자 필요한 이유이다. 컴퓨터에 대해서는 사용자가 모니터에 출력하려는 명도 값이 실제 기댓값과 다른 것을 수정하기 위한 작업으로 볼 수 있다. 그 방법은 정규화 회색도 값을 미리 변형하는 것으로 이루어지며, 모니터의 종류에 따라 감마 값이 다를 수 있다. 단순히 밝게 만든다는 개념이 아니라 모니터와 소프트웨어의반응을 일치시키는 작업이라고 볼 수 있다.