vertex shader 4

[CG] CPU vs GPU - Graphics Rendering

그래픽 렌더링에서 CPU와 GPU의 역할을 알아보자. 그의 앞서 Vertex Information도 함께 짚어보자. Vertex Information (버텍스 정보) : 일반적으로 model 또는 mesh의 각 vertex와 연관된 속성 (attributes) 를 나타낸다. 여기에는 Vertex position, Normal vectors (조명 계산에 사용), Texture coordinates (UV 좌표), Color Tangents, binomals 등이 포함된다. 1. CPU의 역할 Scene setup : CPU는 Scene을 설정을 담당한다. 여기에는 rendering 해야하는 object와 position, transformations 및 기타 높은 수준의 계산을 결정하는 작업이 포함된다...

[CG] Progammable Graphics Pipeline

우선 Graphics Pipeline의 정의에 대해 살펴보면, 전달된 그래픽 데이터를 3D 표현에서 스크린 위에 2D 픽셀로 변형하는 연속된 단계를 말하고, 요즘엔 기존 Fixed-function pipelines가 아닌 Programmable Graphics Pipeline이 사용된다. 한 교수는 Programmable Graphics Pipeline을 vertex/line/triangle의 3D 데이터에서 2D 스크린으로의 여정으로 표현한다. Programmable Graphics Pipeline은 이전에 사용된 Fixed-function pipelines와 비교해 그래픽 하드웨어가 데이터를 처리하는 방식에 변화를 가져왔다. Fixed-function pipelines 시대에는 개발자가 그래픽 하드웨..

[CG] Vertex Shader (버텍스 쉐이더) - 2

vertex shader의 주요 작업을 세분화 해보자. Transforming Vertex Postion (vertex 위치 변환) : 가장 일반적인 작업은 vertex 위치를 오브젝트 공간 (각 오브젝트가 자체 원점을 기준으로 정의되는 곳)에서 클립 공간 (화면에서 표시된 공간) 으로 변환하는 것. vertex 위치에 model, view, projection 등 여러 변환 행렬을 곱하는 작업이 포함. Normalizing Texture Coordinates (texture 좌표 정규화) : texture 좌표는 texture 모델의 경우 (0, 0)에서 (1, 1)까지로, 때로는 이러한 좌표가 vertex sahder에서 변환되거나 스케일링 될 수 있지만, 이 작업은 애플리케이션에 따라 선택적이다. ..

[CG] Vertex Shader (버텍스 쉐이더) - 1

vertex shader는 컴퓨터 그래픽에서 3D 모델의 vertex 데이터를 조작하는 데 사용되는 shader 프로그램의 한 유형이다. vertex shader는 모델의 각 vertex에 대해 실행되며 vertex 위치 변환 (transforming the vertex position), texture 좌표 정규화 (normalizing texture coordinates) 및 기타 vertex별 작업 수행 (carrying out other per-vertex operations) 등을 수행한다. vertex shader의 출력은 일반적으로 특정 pipeline 구성에 따라 geometry shader와 같은 rendering pipeline의 다음 단계로 전달되거나 fragment shaer로 직접..