본문 바로가기

컴퓨터 그래픽스

(14)
컴퓨터 그래픽스 - Texturing toward Global Illumination([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 16장 - Texturing toward Global Illumination을 듣고 정리한 내용입니다. 이전 포스팅했던 phong lighting은 object-wise 조명 효과였습니다. 즉 서로 상호작용하지는 않았다는 것이죠. 하지만 현실 세계에서는 물체 별로 반사 또는 투과가 되기 때문에 서로에게 영향을 끼친다고 할 수 있습니다. 오늘은 그 부분에 대한 설명인 Global Illumination에 대한 포스팅입니다. 2022.01.19 - [컴퓨터 그래픽스] - 컴퓨터 그래픽스 기초 - Fragment Shader part 2. Phong Lighting ([KUOCW] 한정현 교수님 강의) 아래 그림에서 (a)는 각 구체들이 조명에 각각 영향을 받는 ..
컴퓨터 그래픽스 - Shadow Mapping([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 15장 - Shadow Mapping을 듣고 정리한 내용입니다. 제목 그대로 그림자에 대한 포스팅이므로 그래픽스 공간상 빛의 효과가 어떻게 표현되는지 알고 보시면 좋을 거 같습니다. 2022.01.19 - [컴퓨터 그래픽스] - 컴퓨터 그래픽스 기초 - Fragment Shader part 2. Phong Lighting ([KUOCW] 한정현 교수님 강의) 이번 강은 물체의 그림자를 어떻게 표현할 것인가를 다룹니다. 그래픽스에서 그림자는 필수적인 요소이죠. 사실적인 표현으로써도 물론이고, 각 물체 간의 관계를 이해하고 표현되는데도 쓰입니다. 아래 그림에서 (b)는 그림자의 위치에 따라 캐릭터가 땅에 착지하는 효과를 줄 수 있음을 보여줍니다. Two-pass..
컴퓨터 그래픽스 - Normal Mapping([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 14장 - Normal Mapping을 듣고 정리한 내용입니다. 선형대수학의 기초적인 지식이 필요합니다. 이전에 Vertex Normal에 대해서 배워보았습니다. 그리고 Lighting에 대해서도 배웠죠. 이 두 가지를 이용해서 보다 간결하게 Texture를 자연스럽게 표현하는 것을 이번 강에서 설명합니다. 관련된 포스팅은 아래와 같습니다. 2022.01.17 - [컴퓨터 그래픽스] - 컴퓨터 그래픽스 기초 - Vertex representation, Affine transform([KUOCW] 한정현 교수님 강의) 2022.01.19 - [컴퓨터 그래픽스] - 컴퓨터 그래픽스 기초 - Fragment Shader part 1. Texturing ([KUOC..
컴퓨터 그래픽스 - Character Animation([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 13장 - Character Animation을 듣고 정리한 내용입니다. 선형대수학의 기초적인 지식이 필요합니다. 지난 시간까지는 어떻게 화면에서 지금까지 배운 transform들에 의해 물체가 작용하는지 보이는지, 배웠습니다. 이번 장에서는 object 단위라기보다는 더 복합적인 매쉬(캐릭터)를 그래픽스에서의 애니메이션을 어떻게 다루는 가에 대한 설명입니다. Skeleton 애니메이션에서 캐릭터를 다루는 가장 유명한 방법은 스켈레톤을 사용한 방식입니다. 우리 몸에서 뼈가 움직임의 범위를 결정하듯 아래 사진같이 매쉬로만 이루어진 (a)에 스켈레톤(b)나 좀 더 간략한 스켈레톤인 (c)를 (d)같이 임베딩(위치)시킨 뒤, (e)와 (f) 과정을 통해 매쉬와 매..
컴퓨터 그래픽스 - Screen-space Object Manipulation part 2. Bounding Volume and ([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 12장 - Screen-space Object Manipulation을 듣고 정리한 내용입니다. 선형대수학의 기초적인 지식이 필요합니다. 2022.01.21 - [컴퓨터 그래픽스] - 컴퓨터 그래픽스 - Screen-space Object Manipulation part 1. Object Picking ([KUOCW] 한정현 교수님 강의) part1과 이어지는 포스팅입니다. 저번 포스팅에는 화면상 어떤 물체를 클릭했을 때 screen space에서 object space까지 돌아가 Object와 클릭한 좌표에서 Z 축으로 뻗어나가는 Ray와의 상호작용에 대해 알아보았습니다. Bounding Volume 하지만 이전 포스팅에서 같이 Ray가 모든 Object에..
컴퓨터 그래픽스 - Screen-space Object Manipulation part 1. Object Picking ([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 12장 - Screen-space Object Manipulation을 듣고 정리한 내용입니다. 선형대수학의 기초적인 지식이 필요합니다. 오늘은 Screen-space상의 Object가 어떻게 상호작용이 되는지 살펴보겠습니다. Object Picking 게임에서 화면 상에 어떤 Object를 클릭했을 때, 그 Object가 선택되는 것을 아실 겁니다. 이때 사용자가 클릭한 것은 지금 보고 있는 모니터, Screen space에서 클릭을 한 것이죠. 하지만 이전 포스팅을 통해 Rendering pipeline을 숙지하셨다면, Screen space에는 Object라는 개념이 없다는 것을 아실 겁니다. 단지 개별적인 pixel값만 존재할 뿐이죠. 어떠한 방법으로..
컴퓨터 그래픽스 - Quaternion ([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 11장 - Quaternion을 듣고 정리한 내용입니다. 선형대수학과 복소수의 기초적인 지식이 필요합니다. 지난 포스팅까지는 그래픽스에서 어떻게 화면의 픽셀을 만들어 우리에게 보여주는지 그 Rendering pipeline을 배웠습니다. 이제부터는 지금까지 배운 그래픽스 공간에서 다양한 기능들이 어떻게 작동하는지 알아보겠습니다. Keyframe Animation 어떤 애니메이션을 만들려면 매 프레임을 연속적으로 보이게 제작해야 할 것입니다. 그래픽스에서도 매 프레임을 만들어 주어야 할까요? 아닙니다. Keyframe이라고 부르는 주요한 부분(꺾이거나 변화하는 구간)을 표시해주고, 그 사이의 in-between frame을 보간(interpolate)하는 방법..
컴퓨터 그래픽스 기초 - Output Merger ([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 10장 - output merger을 듣고 정리한 내용입니다. 이번 포스팅은 Rendering Pipeline의 마지막 단계인 output merger에 대해 포스팅합니다. 이전 단계에 무슨 연산들로 마지막 frgment shader에서 어떤 값들이 출력되는지 알았다면 이번 포스팅은 쉽게 알고 넘어가실 수 있을 거 같습니다. Color buffer and Depth Buffer 강의에서 사용하는 툴인 OpenGL ES에서는 3가지 종류의 buffer가 있습니다. 바로 color buffer와 depth buffer 그리고 stencil buffer인데 강의에서는 위의 두 가지만 다룹니다. 먼저 Color Buffer는 pixel의 정보를 저장하는 memory..