목록Game Dev/OpenGL ES (19)
KoreanFoodie's Study
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다. 요약 : 1. Fragment Shader 는 Texturing 과 Lighting 을 수행한다. 이때, 우리는 각 픽셀에 적절한 텍스쳐 값을 입히는 과정에서 Nearest point sampling 과 Bilinear sampling 을 선택하여 적용할 수 있다. 2. 텍스쳐링을 위해, 텍스쳐 공간을 normalize 시키게 되는데, 이때의 결과를 Texture Coordinates 라고 부른다. 1 값을 벗어나는 공간을 처리하는 방식으로는 Clamp-to-Edge, Repeat, Mirrore..
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다.요약 : 1. Rasterizer(래스터라이저) 는 5가지 처리를 수행한다 : Clipping, Perspective division, Back-face culling, Viewport transform, Scan conversion 이 그것이다. 2. 클리핑은 클립 공간에 걸친 폴리곤의 경우, 클립 공간을 벗어나는 폴리곤을 일부를 잘라내는 것을 의미한다. Perspective division 은 Clip 공간을 NDC 로 변환하며, Back-face culling 을 통해 카메라에서 보이지 않는 ..
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다. 요약 : 1. Vertex Shader 는 World transform, View transform, Projection transform 을 통해 오브젝트 공간을 월드, 씬, 클립 스페이스로 변환한다. 또한 OpenGL 에서 Shader 를 만들 때는 GLSL 이라는 언어를 사용한다. 2. Vertex Shader 에 입력으로 들어가는 것은 Attributes 와 Uniforms 가 있다. Attribute 는 각 Vertex 마다 입력되는 데이터이(e.g. position, normal, te..
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다.요약 : 1. 렌더링 파이프라인은 크게 다음과 같은 순서로 진행된다 : Vertex Shader -> Rasterizer -> Fragment Shader -> Output Merger 2. Vertex Shader 는 각 정점에 대한 정보를 채워 Rasterizer 로 전달한다. Vertex Shader 의 역할은 오브젝트 공간에서 월드 공간(World Transform)으로, 월드 공간에서 카메라 공간(View Transform)으로, 마지막으로 카메라 공간에서 클립 공간(Projection T..
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다. 요약 : 1. 오브젝트 공간에서 정의된 물체는 아핀 변환을 이용해 월드 공간 좌표계에서 표현할 수 있다. 이를 World Transform 이라고 부른다. 2. 오브젝트 공간의 축 u, v, n 을 월드 공간의 축 x, y, z 로 맞춰주려면, u, v, n 을 Transpose 시킨 행렬을 기존 오브젝트 축 행렬에 곱해 주면 된다. 3. 임의의 축에 대한 행렬도 2번과 마찬가지로 진행하면, 좌표계 시스템을 쉽게 변환할 수 있다! 월드 공간과 오브젝트 공간 오브젝트가 정의된 좌표계 시스템을 우리는..
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다. 요약 : 1. 아핀변환은 Scaling, Rotation, Translation 행렬의 결합으로, [L|t] 로 표현할 수 있다. 아무리 많은 변환을 해도 결국 단일한 [L|t] 로 표현 가능하다! 2. 행렬에서 열을 하나 추가해 확장을 시키면, Translation 을 행렬을 이용해 표현할 수 있는데, 이렇듯 확장된 행렬의 좌표계를 동차좌표계(Homogeneous Coordinates) 라고 한다. 3. 원점이 아닌 점을 기준으로 물체를 회전하려면, 기준 점을 원점으로 Translation 후,..
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다.요약 : 1. 그래픽스에서는 물체를 폴리곤 메시의 조합으로 표현한다. 이때 폴리곤으로는 일반적으로 삼각형을 사용한다. 2. 폴리곤 메시들의 정점 좌표와 Normal 은 Vertex Array 의 형태로 저장한다. 3. 표면 법선(Surface Normal)은 폴리곤 메시 삼각형의 Normal 벡터이며, 정점 법선(Vertex Normal) 은 특정 Vertex 에서의 Normal 벡터이다. 매끈한 물체를 표현할 때는 Vertex Normal 이 매우 유용하다.폴리곤 메시 (Polygon Mesh)폴..
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다. 요약 : 1. 좌표계는 Orthonormal 한 기저 벡터로 정의할 수 있다. 2. 벡터를 내적하면 절댓값에 코사인 값을 곱한 결과가 나온다. 90 도일 경우 0 이다! 3. 외적의 경우, 오른손 법칙으로 방향을 구할 수 있다. 외적의 절댓값은 두 벡터가 만드는 평행사변형의 넓이이다. 좌표계 (Coordinate System and Basis) 와 벡터의 내적/외적 좌표계는 원점(origin)과 기저(basis) 로 이루어진다. 위의 그림에는 2D 공간을 이루는 기저 벡터의 조합이 나와 있는데, ..
이 강의는 유투브에 무료로 공개되어 있는 한정현 교수님의 컴퓨터 그래픽스 강좌를 정리한 글입니다. 자세한 내용은 강의를 직접 들으시거나 책을 구입하셔서 확인해 보세요. 강의 자료는 깃헙 링크에 올라와 있습니다. 요약 : 1. 그래픽스 작업 과정은 모델링 -> 리깅 -> 애니메이션 -> 렌더링 -> 포스트 프로세싱으로 나누어 볼 수 있다. 2. 실시간 그래픽스에서는 애니메이션 재생, 렌더링, 포스트 프로세싱을 처리한다. 3. 게임엔진은 그래픽스 API 를 사용하는데, 그래픽스 API 는 GPU 를 가동하는데 필요한 소프트웨어 인터페이스라고 생각하면 된다! 그래픽스 개론 컴퓨터 그래픽스의 연산은 오프라인과 런타임으로 나뉘는데, modeling 과 rigging, animation 처리는 그래픽 아티스트들이 ..