본문 바로가기

컴퓨터 그래픽스

(14)
컴퓨터 그래픽스 기초 - Fragment Shader part 2. Phong Lighting ([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 9장 - Lighting을 듣고 정리한 내용입니다. 선형대수학, 빛의 성질에 대한 기초적인 지식이 요구됩니다. 이번 포스팅도 part 1에 이어 Fragment Shader에 대한 내용입니다. 저번에는 texture에 대해 다뤘지만, 이번 포스팅은 lighting에 관한 내용입니다. 좀 발전된 형태의 lighting 기법이 있는 거로 아는데 강의에서는 가장 유명하고 전통적인 Phong Lighting을 다뤘습니다. 우선 lighting은 그래픽스에서 빛과 물체의 상호작용을 말합니다. 실제 세상에서 어떤 물체 고유의 색상이 있지만 외부의 조명이 바뀌면 그 영향에도 색상이 바뀌는 것은 다들 아실 것입니다. 이와 같이 저번 포스팅에는 texturing을 통해 ob..
컴퓨터 그래픽스 기초 - Fragment Shader part 1. Texturing ([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 8장 - 이미지 텍스처링을 듣고 정리한 내용입니다. 이미지 처리의 기초적인 지식이 요구됩니다. 지난 강의에서는 rasterizer를 통해 fragment(pixel)이 생성되는 것에 대해 포스팅을 했습니다. 이번 포스팅은 이 fragment를 프로그래밍하는 fragment shader에 texturing과 lighting 중 texturing을 어떻게 잘 맵핑하는지에 대해 알아보겠습니다. Texture Coordinate 먼저 Texture(Color map)는 지금까지 알아온 vertex 정보와는 또 다른 정보입니다. 2D texture를 기준으로 vertex가 하나의 3차원 모양을 나타냈다면, Texture는 그 표면의 색상이나 무늬 정보로 볼 수 있죠...
컴퓨터 그래픽스 기초 - Rasterizer ([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 7장- 레스터라이저를 듣고 정리한 내용입니다. 선형대수학의 기초적인 지식이 요구됩니다. 지난 강의에서는 위의 Rendering Pipeline에 vertex shader의 연산으로 clip space까지 되는 과정을 설명했습니다. 이번 포스팅은 이 clip space가 Rasterizer로 가서 무슨 연산이 일어나는지 알아보겠습니다. 이 부분은 하드웨어로 고정된 연산이 이루어지는 부분으로 따로 프로그래밍이 불가능한 부분이라 개념을 알고 넘어가면 될거 같습니다. Perspective Division 이전 포스팅에서는 vertex shader에서 아래 그림과 같이 Projection transform matrix(M_proj)을 통해 clip space로 가는 ..
컴퓨터 그래픽스 기초 - Vertex shader([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 5장- 정점 처리를 듣고 정리한 내용입니다. 선형대수학의 기초적인 지식이 요구됩니다. 앞선 포스팅에는 vertex(정점) 들을 어떻게 정의되고 변환할 수 있는지를 알아보았습니다. 이번 포스팅에는 컴퓨터 그래픽스에서 이 정점들을 어떻게 처리하는지 알아보겠습니다. Rendering Pipeline 들어가기 앞서, Rendering Pipeline을 먼저 보겠습니다. 그림으로 나타내면 위와 같습니다. 이 파이프라인을 이해하는 것이 그래픽스를 이해하는 맥락의 중요한 핵심이라고 저는 생각합니다. 사전에 이 지식 없이 여러 정보를 봤다가 왜 이렇게 하는지 몰라서 이해가 안 됐던 기억들이 있습니다. 따라서, 앞으로의 포스팅은 위의 파이프라인 순서대로 쭉 진행된다고 보시면..
컴퓨터 그래픽스 기초 - Vertex representation, Affine transform([KUOCW] 한정현 교수님 강의) 이 포스팅은 [KUOCW] 한정현 교수님 강의 3장 - 모델링, 4장 - 좌표계와 변환 내용 중 중요하다 생각한 부분을 정리했습니다. 선형대수학의 기초적인 지식이 요구됩니다. 1장 - 서론과 2장 - 수학기초는 넘어가겠습니다. 3강 Polygon Mesh 위의 사진은 구체를 나타내는 두 가지 표현법을 보여줍니다. 왼쪽은 함수를 이용해 나타낸 Implicit representation이고, 오른쪽은 polygon mesh로 나타낸 Explicit representation입니다. 이 중에서 컴퓨터 그래픽스에서는 polygon mesh를 사용하는데, 그 이유는 GPU가 polygon mesh를 사용하는데 최적화 되어있기 때문입니다. 또한 삼각형의 mesh가 가장 많이 사용되는 형태의 mesh이며, 보통 꼭지..
컴퓨터 그래픽스 포스팅 시작([KUOCW] 한정현 교수님 강의) 딥러닝 기반의 그래픽스 응용 연구가 많은데, 막상 그래픽스 관련 지식없이 읽으려니 기초가 없어 잘 읽히지 않아 이번 기회에 아래 강의를 쭉 들어보려고 합니다. 작성 전에 출처를 강의와 자료의 출처 밝힙니다. 강의: [KUOCW] 한정현 교수님 강의 https://www.youtube.com/channel/UCfyXTCv0QlZxG1S1rteGI7A 2019-1학기 컴퓨터그래픽스 한정현 www.youtube.com 강의 자료: 한정현 교수님 연구실 홈페이지 http://media.korea.ac.kr/books/ Books · media lab Introduction to Computer Graphics with OpenGL ES Review and Recommendations 이 책의 영문 제목 “Int..