이 시리즈는 3차원 그래픽스에 대해 공부한 내용들을 담고 있습니다. 참고 자료 : 게임 프로그래밍을 위한 3차원 그래픽스 (한정현, 홍릉과학출판사), OpenGL ES를 이용한 3차원 그래픽스 입문 (한정현, 홍릉과학출판사) 등 조명Lighting은 물체와 빛 사이의 상호작용을 처리하는 기술이다. 이전 포스트의 렌더링 파이프라인을 참고해보자. Pixel-Shader Stage에서는 본 포스트에서 다룰 조명과 함께 텍스처링 정보 등을 복합적으로 고려하여 실제로 출력될 픽셀의 색상을 결정한다. Phong Lighting Model Light Sour
이 시리즈는 3차원 그래픽스에 대해 공부한 내용들을 담고 있습니다. 참고 자료 : 게임 프로그래밍을 위한 3차원 그래픽스 (한정현, 홍릉과학출판사), OpenGL ES를 이용한 3차원 그래픽스 입문 (한정현, 홍릉과학출판사) 등 래스터화 단계의 출력은 깊이, 노멀, 텍스처 좌표, RGB 색상 등의 정점별 속성이 포함된 프래그먼트이다. 프래그먼트 처리 단계에서 수행하는 주요 작업은 다음과 같다. 텍스처링Texturing 조명Lighting 본 포스트에서는 텍스처링에 관한 내용을 서술한다. Texture Coordinates texel : 텍스처의 구성 요소. pixel과 구분하기 위해 사용한다. 텍스처는 주로 texel의 2차원 배열 형태로 표현되므로, 이를 구성하는 각 texel은 texture space에서의 고유한 인덱스를 가진다. 따라서 텍스처를 폴리곤 메쉬의 표면에 입히기 위해서는 각 texel의 좌표를
이 시리즈는 3차원 그래픽스에 대해 공부한 내용들을 담고 있습니다. 참고 자료 : 게임 프로그래밍을 위한 3차원 그래픽스 (한정현, 홍릉과학출판사), OpenGL ES를 이용한 3차원 그래픽스 입문 (한정현, 홍릉과학출판사) 등 앞서 정점 처리Vertex processing 단계를 거쳐 처리된 vertex들은 primitive(점, 선, 삼각형 등)로 묶여 독자적인 개체로 취급된다. 2차원에 그려질 삼각형들의 vertex가 결정되면 primitive를 이루는 픽셀마다의 프래그먼트fragment가 생성된다. 이후 vertex에 할당되었던 여러 데이터를 보간하여 프래그먼트에 할당한다. 이는 래스터화Rasterization 단계에서 수행되는 작업이며, 본 포스트에서 다룰 내용에 대한 개괄이다. 위의 내용을 간단히 나열하면 다음과 같다. Primitive clipping Perspective Division Face Culling
이 시리즈는 3차원 그래픽스에 대해 공부한 내용들을 담고 있습니다. 참고 자료 : 게임 프로그래밍을 위한 3차원 그래픽스 (한정현, 홍릉과학출판사) 등 렌더링 파이프라인 파이프라인(Pipeline) : 한 단계의 출력이 다음 단계의 입력으로 사용되는 일련의 데이터 처리 구조 렌더링 파이프라인은 3차원 장면을 입력으로 받아 이를 2차원 형태로 바꾸고, 2차원 폴리곤 내부를 차지하는 픽셀의 색을 결정하여 최종 영상을 생성한다. 렌더링 파이프라인의 주요 요소는 다음과 같은 순서로 구성된다. 정점 처리 -> 래스터화 -> 프래그먼트 처리 -> 출력 병합 > 정점 처리, 프래그먼트 처리 단계는 programmable하지만 래스터화, 출력 병합 단계는 hardwired하다. 정점 처리Vertex processing vertex buffer에 저장된 모든 vertex에 대해 변환transform 등의 연산
이 시리즈는 3차원 그래픽스에 대해 공부한 내용들을 담고 있습니다. 참고 자료 : 게임 프로그래밍을 위한 3차원 그래픽스 (한정현, 홍릉과학출판사) 등 > 폴리곤 메쉬 폴리곤 폴리곤은 유한한 직선으로 이루어진 다각형을 의미하며, 게임 그래픽스에서는 주로 삼각형의 폴리곤을 사용한다. 삼각형은 볼록성과 평면성을 모두 보장하여 처리 속도가 빠르다. 폴리곤은 vertex의 정보로 구성되며, 각 vertex는 좌표의 형태로 관리된다. > Direct3D : 삼각형 폴리곤만 사용하도록 제한. OpenGL : 다각형 폴리곤 허용. 단, 볼록성과 평면성이 보장되어야 함. 표현 방법 3차원 컴퓨터 그래픽스 상의 객체는 다음과 같은 방법들로 표현할 수 있다. 음함수 곡면 / Implicit way f(x,y,z) = 0 형태의 음함수implicit function를 사용하여 표현하는 방법. 곡면 상의 점을 f로 표현할 수 있다. 각
이 시리즈는 3차원 그래픽스에 대해 공부한 내용들을 담고 있습니다. 참고 자료 : 게임 프로그래밍을 위한 3차원 그래픽스 (한정현, 홍릉과학출판사) 등 > 그래픽스 파이프라인의 단계 컴퓨터 그래픽스는 다음과 같은 단계로 주로 구성된다. > 모델링(Modeling) -> 리깅(Rigging) -> 애니메이션(Animation) -> 렌더링(Rendering) -> 후처리(Post-processing) > Microsoft Docs - Direct3D Architecture에는 그래픽스 파이프라인을 다음과 같이 소개하는데, 이는 3차원 모델을 2차원 레스터 이미지로 구축하는 렌더링에 관한 내용이므로 본 포스트에서는 이를 렌더링 파이프라인으로 용어를 구분에서 사용하겠다. ![]