본문 바로가기

전체 글

(35)
컴퓨터 그래픽스 - 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) 과정을 통해 매쉬와 매..
[강화 학습 + 이미지 생성]Learning to Paint With Model-based Deep Reinforcement Learning - ICCV 2019 *저는 배우는 학생이라 도메인 지식이 얕습니다. 참고 정도만 부탁드립니다. Learning to Paint With Model-based Deep Reinforcement Learning은 ICCV 2019에서 발표된 논문입니다. 강화학습을 통해 그림을 그려주는 agent를 보여주는데요, 아래 먼저 논문 깃헙에 나와있는 결과를 가져왔습니다(맨 아래 링크). 이 그림만 봐도 논문에서 뭘 하고자 하는지는 이해하실겁니다. Abstract 논문 초록에서 먼저 하고자하는 바를 언급합니다. 바로 "사람이 그리는거 처럼" 기계가 그리게 하는 것이 이 논문의 목표입니다. "진짜 사진처럼"만드는 목표하고는 다르죠. 저자들은 이를 위해 강화학습을 이용하여 에이전트가 이미지를 순차적인 storke로 할 수 있도록 합니다. ..
컴퓨터 그래픽스 - 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..
컴퓨터 그래픽스 기초 - Fragment Shader part 2. Phong Lighting ([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 9장 - Lighting을 듣고 정리한 내용입니다. 선형대수학, 빛의 성질에 대한 기초적인 지식이 요구됩니다. 이번 포스팅도 part 1에 이어 Fragment Shader에 대한 내용입니다. 저번에는 texture에 대해 다뤘지만, 이번 포스팅은 lighting에 관한 내용입니다. 좀 발전된 형태의 lighting 기법이 있는 거로 아는데 강의에서는 가장 유명하고 전통적인 Phong Lighting을 다뤘습니다. 우선 lighting은 그래픽스에서 빛과 물체의 상호작용을 말합니다. 실제 세상에서 어떤 물체 고유의 색상이 있지만 외부의 조명이 바뀌면 그 영향에도 색상이 바뀌는 것은 다들 아실 것입니다. 이와 같이 저번 포스팅에는 texturing을 통해 ob..