✅ 전체 (1) ~ (7)의 시리즈 중, (5) 3D 카메라 뷰잉, 프로젝션, MVP 변환 파이프라인 ✅ OpenGL, 3D 그래픽스 프로그래밍, 기초 이론부터 ✅ 고급 GLSL 쉐이더 코드 (벡터, 행렬, 블린-퐁 쉐이딩, 텍스처 매핑) 까지 다룹니다.
이런 걸
배워요!
게임 엔진 / 클라이언트 단의 3D 그래픽스 핵심 기능
3D 그래픽스 이론 + 수식 + 구현 코드
OpenGL 쉐이더 랭귀지 (GLSL) + 게임엔진 알고리즘
이 강의는 - 파트 (5) 3D 카메라 뷰잉, 프로젝션, MVP 변환 파이프라인
이론으로 배우고, 코드로 구현하는
3D 그래픽스 프로그래밍 with OpenGL!
"OpenGL 쉐이더 shader 3D 그래픽스 프로그래밍" 강의는 GLSL 프로그래밍 언어를 사용해 생동감 있는 3D 그래픽스를 구현하는 방법을 배우게 됩니다. 다양한 영역에서 광범위하게 쓰이는 OpenGL 기반으로 3D 그래픽스 프로그래밍에 대한 이론과 실습을 함께 익힐 수 있도록 강의를 구성하였습니다.
👉 3D 그래픽스 프로그래밍에 관심이 있으셨다면, 이번 강의를 통해 3D 그래픽스 마스터에 도전해 보세요!
3D 그래픽스 기초 이론, 3D 좌표계, 카메라 시뮬레이션 등을 체계적으로 공부하시려는 분
OpenGL로 게임 렌더링 엔진 등, 3D 그래픽스 출력 프로그램을 작성하시려는 분
PC, 휴대폰, 웹 등에서 두루 쓰이는 GLSL 쉐이더 랭귀지를 이해하려는 분
게임 엔진의 각종 용어 및 설정 파라미터의 정확한 의미를 이해하고 싶으신 분
탄탄한 개념 설명
컴퓨터 그래픽스 기초 개념부터 수학적 전개 과정, 실제 코드까지 차근차근 필요한 개념을 학습합니다.
실습은 필수!
풍부한 프로그래밍 실습을 통해 실제 작동하는 소스 코드를 기반으로 하나하나 따라해볼 수 있습니다.
중요한 부분에 집중해서
이미 설명한 소스 코드에 대해서는 중복 설명을 최대한 줄이고, 바뀌었거나 강조해야 할 부분에 집중하여 학습합니다.
이 강의에서는 (5) 3D 카메라 뷰잉, 프로젝션, MVP 변환 파이프라인에 대한 이론과 실제 코드를 소개합니다.
3D 카메라 뷰잉
3D 프로젝션
뷰포트 설정
Q. 유료 강의의 수강평은 어떤가요?
유료 강의가 (1) ~ (7) 로 순차적으로 오픈되어서, 수강평이 흩어져있고, 아직 비공개입니다. 유료 강의는 현재 다음과 같은 수강평들을 받았습니다.
Q. WebGL 과는 어떤 관계가 있나요?
WebGL 은 이 강의에서 설명하는 OpenGL 의 JavaScript 버전 입니다.
OpenGL 은 원래 C/C++ 언어용으로 개발되었고, 이 강의에서도 C/C++ 언어를 기준으로 설명합니다. 나중에 HTML5 가 나오면서, web에서 사용할 수 있는 3D 그래픽스 표준으로 OpenGL 이 채택되었고, JavaScript 에서 OpenGL 을 사용할 수 있도록, 일부 문법을 변경한 것이 WebGL 입니다.
JavaScript를 사용하시는 분이라면, 기본 이론과 C/C++ 기준 설명이더라도 응용하시는데 큰 문제가 없습니다. WebGL 을 공부할 때 어려운 부분은 문법이 아니고, OpenGL / WebGL 의 기능, 내부 구조, 수학 이론, 광학 계산 등인데, 그 부분은 OpenGL 이든, WebGL 이든, 동일한 이론을 배우셔야 하고, 이 강의에서 잘 설명하고 있습니다. 실제로 이 강의를 들으면서 WebGL 을 공부하시는 분들도 있으십니다.
Q. Vulkan 과는 어떤 관계가 있나요?
3D 그래픽스 라이브러리의 출현 순서로는 Vulkan 이 OpenGL 이후에 나왔습니다만, OpenGL 은 application programmer 수준에 맞추었고, Vulkan 은 일부 system programmer 수준에 맞춘 측면이 있습니다. 그래서, 많은 경우에, Vulkan 의 학습 난이도가 훨씬 높다고 이야기 합니다.
많은 경우에, 3D 그래픽스에 많은 경험이 없는 경우라면, Vulkan 보다는 OpenGL 을 먼저 공부하고, 충분한 준비가 되었을 때, Vulkan 으로 전환하시기를 권하고 있습니다. 실제로 외국 사례에서도, Vulkan 강의는 전문가 과정으로 개설되지, 초보자용으로 개설되는 경우는 거의 없습니다.
Vulkan 강의는 이번 OpenGL 강의가 완결된 후에, 전문가 심화 과정으로 개설될 예정입니다.
Q. 실습에 필요한 하드웨어 사양은 어느 정도인가요?
OpenGL 3.3 이상 버전을 기준으로 실습을 하게 됩니다. 최근 5년 이내의 데스크탑 또는 노트북이라면 실습에 큰 지장은 없을 것으로 보입니다. (NVIDIA 또는 AMD 그래픽카드 및 그래픽 칩이 장착된 경우가 좋습니다. 최소한 Intel GMA 계열이라면 최근 칩들이 좋습니다.)
다만, 필요한 개발용 소프트웨어들을 깔아서 개발 환경을 만들어야 할 필요는 있습니다.
Q. 실습 환경으로 소프트웨어를 깔아야 하나요?
OpenGL 3.3 이상이 지원되는 그래픽스 드라이버를 깔아야 하고, GLFW, GLEW, GLM 등의 공개 라이브러리 들을 설치해야 합니다. 강의 중간에 해당 라이브러리를 설치하는 방법을 설명하고 있습니다만, 단순히 exe 파일을 클릭하면 그냥 깔리는 방식은 아닙니다. WIndows의 DLL 폴더, Visual Studio 컴파일러의 include 폴더, lib 폴더에 각각 필요한 것들을 설치해야 합니다. (리눅스에서는 apt 명령으로 설치 가능합니다.)
Q. 수강 기한을 설정하는 이유가 있나요?
수강 기한을 설정한 것은, 컴퓨터 분야 특성상 그 정도의 시간이 지나면 이 강의 내용이 이미 옛날 이야기가 될 가능성이 크기 때문입니다.
그때쯤엔, 새로운 강의에서 다시 찾아뵙겠습니다. 😄
Q. 동영상에 자막이 들어가 있나요?
일부 수업 영상에는 자막이 들어가 있습니다만, 대부분 자막을 지원하지 않습니다. 자막이 새로 제작될 경우 자막이 있는 영상으로 예고없이 교체할 수도 있습니다.
📢 수강 전 확인해주세요!
학습 대상은
누구일까요?
3D 그래픽스 기초, 카메라 시뮬레이션, 쉐이딩
OpenGL 로 3D 그래픽스 출력 프로그램 작성
GLSL 쉐이더 랭귀지로 3D 그래픽스 프로그램 작성
게임 엔진의 설정, 용어, 파라미터의 의미 이해
선수 지식,
필요할까요?
C/C++ 프로그래밍 경험
컴퓨터 구조 지식 - 프로세서, 메모리, 레지스터 구조
컴퓨터 전반에 대한 상식 - PC 구조, 운영체제 역할
전체
29개 ∙ (4시간 3분)
가 제공되는 강의입니다.
51-0 오프닝
00:54
51-4 뷰의 회전
08:47
51-5 look-at 방법
10:16
51-6 look-at 추가 내용
06:08
51-7 다른 뷰잉 방법들
04:44
51-F 클로징
00:37
52-0 오프닝
00:58
52-3 직사각형 윈도우 프로그램
13:15
52-6 view frustum
20:33
52-F 클로징
00:33
53-0 오프닝
00:53
53-3 뷰포트 세팅
15:50
53-4 뷰포트 프로그램
07:57
53-5 scissor 프로그램
13:19
53-6 뷰포트 사이즈 세팅
14:50
53-F 클로징
00:30