프래그먼트란 해당화소의 색, 깊이, 텍스쳐 등 하나의 화소를 채우기 위해 필요한 정보를 지닌 기본 단위로 래스터 변환 후 프레임버퍼에 기록 되기 전까지의 정보들이 이에 해당한다.

그리고 이러한 데이터에 연산을 가하는 것을 프로그먼트 연산이라 하는데 이 연산에는 여러 연산이 있는대 그중 몇가지만 알아보자

1. 시저테스트
시저 테스트란 하나의 뷰포트 영역에 원하는 크기의 사각형 모양으로 한번 더 절단하여 출력하도록 하는 연산이다.

2. 깊이 테스트
Z-버퍼 알고리즘이 가해지는 부분으로, 시점에 가까운 프로그먼트의 깊이만 버퍼에 기록되도록 한다.

3. 블렌딩
블렌딩은 말 그대로 색을 혼합 하는 것으로  보통 투명한 물체를 구현할때 사용 한다.
블랜드 공식

(혼합인수란 해당 색을 얼마나 반영할껀지의 가중치를 뜻한다)

4. 스텐실 테스트
스텐실테스트란 과자를 만들때 별모양등 특정 모양을 내기 위해 찍는 틀 처럼 원하는 영역에만 그려지도록 하는 연산이다.

OpenGL의 버퍼
기본적으로 OpenGL의 버퍼는 프레임 버퍼로 쓰이는 프론트버퍼백버퍼, 스텐실테스트에 사용되는 스텐실 버퍼, 깊이테스트에 사용되는 깊이 버퍼가 있으며 A버퍼라는 특수용도의 버퍼, 보조버퍼, 컬러인덱스 버퍼등이 있다. 이 버퍼들은 대부분 알고 있으므로 처음 보는 A버퍼에 대해서만 설명하겟다.

A버퍼
보통 A버퍼는 프레임 버퍼, 깊이 버퍼, 알파 채널 등의 기능을 통합한 하드웨어 를 뜻한다. 그러나 OpenGL의 A버퍼는 약간 다르다.
OpenGL의 A버퍼는 단일 버퍼로서 복수개의 영상을 누적적으로 저장하는 버퍼를 의미한다. 이를 통해 모션블러 같은 효과나 카메라처럼 초점에 따라 선명함이 다른 영상을 만들수도 있다.



'라이브러리 > OpenGL' 카테고리의 다른 글

텍스쳐  (0) 2009.04.03
에일리어싱과 앤티-에일리어싱  (0) 2009.04.03
가시성 판단  (0) 2009.03.31
조명과 음영  (0) 2009.03.24
OpenGL의 투영과 뷰포트 변환  (0) 2009.03.24
OpenGL의 모델변환 및 행렬스택  (0) 2009.03.22
기하 변환  (0) 2009.03.22
3차원 물체의 표현  (0) 2009.03.22
디스플레이 리스트  (0) 2009.03.22
정점배열  (0) 2009.03.22
Posted by crownog
,