Ginaks
접속 : 4629   Lv. 56

Category

Profile

Counter

  • 오늘 : 122 명
  • 전체 : 183215 명
  • Mypi Ver. 0.3.1 β
[체크] GL Shader (0) 2014/02/24 PM 10:06

지엘의 파이프 라인에 대하여 알아보자.
OpenGL 공부를 했었지만 파이프 라인에 대한 이해가 부족하면
어려운 코딩을 할때 논리적으로 꼬인다는 것을 최근 인지하였다.
쉐이더 언어도 마찬가지로 파이프 라인을 제대로 이해하도록 하자.

Vertex Transformation
버텍스 트랜스포메이션은 3D공간상의 위치, 색상, 노멀벡터1), 텍스쳐 좌표 등과 같은 속성들의 집합이다.
Vertex 위치변환
Vertex 에 대한 광원(조명)계산
텍스쳐 좌표의 생성 및 변환

요약 : 정점들을 입력받아 변환 하는 기능을 수행한다.


Primitive Assembly and Rasterization
변환된 정점정보들(Transformed Vertices)를 받아 어떻게 연결되는지 결정한다.
뒷면 제거와 뷰 절두체에 대한 클리핑 연산을 담당할 수 있다.

또한 Fragment(조각-프레임 버퍼 픽셀 변경을 위한)를 결정하고 Primitive(원시적)의 픽셀 위치를 결정할 수 있다.
primitive는 화면에 실제 그려질 픽셀 값이다.

출력값은 프레임 버퍼안의 Fragment들의 위치와
버텍스 변환 단계에서 계산된 속성에 대한 Fragment에 대한 보간값이 있다.
이 과정은 버텍스 -> Primitive 로 만들어지기 위한 Fragment 의 위치 계산이다.
또한 색생을 각 버텍스의 상대적 거리에 의한 가중치에 따라 색상값을 보간한다.




차후에 계속



1)
노멀벡터 : 표면상의 방향벡터, 삼각형 벡터들의 외적, 크기가 1로 표현하는 정규화를 거치며 오른손 법칙을 따른다.
정점위치가 변하면 벡터의 방향도 바뀌니 정점 순서에 주의, 시계방향은 물체표면 안쪽으로, 반시계는
바깥으로 향하는 방향 벡터.

신고

 
X