Thumbnail
개발 · 프로그래밍 기타 (개발 · 프로그래밍)

OpenGL 쉐이더 (4) shader 3D 그래픽스 - 좌표 변환, 회전, 가상 트랙볼, VBO, IBO 대시보드

(5)
2개의 수강평 ∙  99명의 수강생

26,400원

지식공유자: 드립커피+한모금더
총 25개 수업 (3시간 29분)
수강기한: 
36개월
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[개발 · 프로그래밍, 게임 프로그래밍] 강의입니다.

✅ 전체 (1) ~ (8)의 시리즈 중, (4) 좌표 변환, 회전, 가상 트랙볼, VBO, IBO ✅ OpenGL, 3D 그래픽스 프로그래밍, 기초 이론부터 ✅ 고급 GLSL 쉐이더 코드 (벡터, 행렬, 블린-퐁 쉐이딩, 텍스처 매핑) 까지 다룹니다.

✍️
이런 걸
배워요!
게임 엔진 / 클라이언트 단의 3D 그래픽스 핵심 기능
3D 그래픽스 기초 이론 + 수식 + 쉐이더 구현 코드
OpenGL 쉐이더 랭귀지 (GLSL) + 게임엔진 알고리즘
이 강의는 - 파트 (4) 좌표 변환, 회전, 가상 트랙볼, VBO, IBO
로드맵 "OpenGL 쉐이더"에서 ✅묶음 할인 쿠폰✳️ 제공

이론으로 배우고, 코드로 구현하는 
3D 그래픽스 프로그래밍 with OpenGL! 

OpenGL을 활용한 
3D 그래픽스 프로그래밍

  • OpenGL 쉐이더 랭귀지(GLSL)로 3D 그래픽스 프로그래밍을 설명합니다.
  • 게임 엔진에서 사용되는 3D 그래픽스의 핵심 기능을 GLSL 프로그램으로 직접 구현합니다.

"OpenGL 쉐이더 shader 3D 그래픽스 프로그래밍" 강의는 GLSL 프로그래밍 언어를 사용해 생동감 있는 3D 그래픽스를 구현하는 방법을 배우게 됩니다. 다양한 영역에서 광범위하게 쓰이는 OpenGL 기반으로 3D 그래픽스 프로그래밍에 대한 이론과 실습을 함께 익힐 수 있도록 강의를 구성하였습니다. 

👉 3D 그래픽스 프로그래밍에 관심이 있으셨다면, 이번 강의를 통해 3D 그래픽스 마스터에 도전해 보세요!
👉 로드맵 강의 "OpenGL 쉐이더"로도 제공됩니다. 꼭 체크해 보세요! ✅


혹시 내 얘기 아닌가요?

3D 그래픽스 기초 이론, 3D 좌표계, 카메라 시뮬레이션 등을 체계적으로 공부하시려는 분

OpenGL로 게임 렌더링 엔진 등, 3D 그래픽스 출력 프로그램을 작성하시려는 분

PC, 휴대폰, 웹 등에서 두루 쓰이는 GLSL 쉐이더 랭귀지를 이해하려는 분

게임 엔진의 각종 용어 및 설정 파라미터의 정확한 의미를 이해하고 싶으신 분

  •  기하학 개념과 수식을 따라가다 보면, 컴퓨터 프로그램으로 카메라를 시뮬레이션해서 정확한 이미지를 만들어 낼 수 있습니다.
  •  게임 엔진에서 사용하는 파라미터들의 정확한 의미를 이해할 수 있습니다.

3D 컴퓨터 그래픽스 핵심 3-Step

탄탄한 개념 설명

컴퓨터 그래픽스 기초 개념부터 수학적 전개 과정, 실제 코드까지 차근차근 필요한 개념을 학습합니다.

실습은 필수!

풍부한 프로그래밍 실습을 통해 실제 작동하는 소스 코드를 기반으로 하나하나 따라해볼 수 있습니다.

중요한 부분에 집중해서

이미 설명한 소스 코드에 대해서는 중복 설명을 최대한 줄이고, 바뀌었거나 강조해야 할 부분에 집중하여 학습합니다.


OpenGL 쉐이더 (4) 3D 그래픽스
학습 내용 살펴보기

이 강의에서는 (4) 좌표 변환, 회전, 가상 트랙볼들을 소개하고, VBO, IBO 기반의 프로그래밍을 합니다.

좌표 변환

트랙볼 구현

키프레임 애니메이션


Q&A 💬

Q. 유료 강의의 수강평은 어떤가요?

유료 강의가 (1) ~ (7) 로 순차적으로 오픈되어서, 수강평이 흩어져있고, 아직 비공개입니다. 유료 강의는 현재 다음과 같은 수강평들을 받았습니다.

  • 지금까지 들었던 OpenGL 강의 중 가장 잘 정리된 강의라고 생각합니다.
  • 설명이 자세하고 친절합니다. OpenGL 공부하기가 어려웠는데 많은 도움을 받았습니다.
  • (3D 그래픽스 관련된 수식들은) 수식 자체가 어렵진 않아도 도출해내는 과정이 이해하기가 쉽지 않은데 자세하게 설명해주셔서 이해에 도움이 됐습니다.

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. 동영상에 자막이 들어가 있나요?

일부 수업 영상에는 자막이 들어가 있습니다만, 대부분 자막을 지원하지 않습니다. 자막이 새로 제작될 경우 자막이 있는 영상으로 예고없이 교체할 수도 있습니다.

📢 수강 전 확인해주세요!

  • 이 강의는 "OpenGL 쉐이더 shader 3D 그래픽스 프로그래밍" 시리즈의 4번째 강의입니다.
  • 강의는 Windows 10/11 운영체제 + Visual Studio 2019/2022 C++ 컴파일러를 기준으로 설명합니다.
  • 학습 내용에 맞춰 강의에 쓰인 PPT를 PDF 파일로 제공합니다.
  • 강의 영상 및 PDF 파일에 사용한 그림 및 사진 중 일부는 Public Domain이 아니라 별도의 저작권 보호를 받습니다. 이 경우 따로 저작권자로부터 지식공유자가 제한된 사용 허가를 받아서 사용했기 때문에, 만약 다른 분께서 사용하시려면 반드시 원저작권자의 사용 허가를 받으셔야 합니다. 주의하시기 바랍니다.
  • PDF에 쓰인 한글 폰트로는 "본고딕" Noto Sans KR, 영문 폰트로는 Source Sans Pro 및 Source Serif Pro를 사용하였습니다. 링크를 통해 모두 무료로 내려받으실 수 있습니다.

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
3D 그래픽스 기초, 카메라 설정, 쉐이딩
게임 엔진의 설정, 용어, 파라미터 이해
OpenGL 3D 그래픽스 출력 실전 코딩
GLSL 쉐이더 랭귀지로 WebGL 출력 가능
📚
선수 지식,
필요할까요?
C/C++ 프로그래밍 경험
컴퓨터 일반 상식 - PC, 운영체제 등의 용어
컴퓨터 구조 상식 - CPU, 메모리, 레지스터

안녕하세요
드립커피+한모금더 입니다.
드립커피+한모금더의 썸네일

꽤 오랜 시간동안 프로그래머, 또한 개발자와 강사로서 활동해 오고 있습니다.

병렬 처리, CUDA, 3D 그래픽스, OpenGL, OpenCL, Vulkan 에 대한 🏃

용역, 외주, 개발, 상품화, 강의, 자문, 과제 등등을 수행 중 입니다 🙊

커리큘럼 총 25 개 ˙ 3시간 29분의 수업
이 강의는 영상, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 41. 좌표 변환 coordinate transformation
41-0 오프닝 미리보기 00:58
41-1 2D 좌표 변환 (강의 PDF 포함) 19:07
41-2 2D 좌표 변환, 더 많은 이야기 (source code 포함) 07:44
41-3 orbit 프로그램 미리보기 11:16
41-4 3D 변환 transform 09:04
41-5 3D 스케일링 scaling 07:51
41-6 오일러 앵글 Euler angle 06:39
41-7 변환의 합성 transform composition 10:36
41-8 피라미드 돌리기 rotating the pyramid 06:33
41-9 GLM 으로 돌리기 rotating with GLM 미리보기 05:09
41-F 클로징 00:50
섹션 1. 42. 3차원 회전 3D Rotation, Quaternion, and VBO
42-0 오프닝 미리보기 02:02
42-1 마우스 콜백 mouse callback (강의 PDF 포함) 09:50
42-2 마우스 드래깅 dragging (source code 포함) 07:01
42-3 버추얼 트랙볼 virtual trackball 11:31
42-4 벡터 외적 cross product 13:09
42-5 쿼터니언 quaternion 19:24
42-6 트랙볼 프로그램 trackball program 미리보기 07:29
42-7 트랙볼 로우레벨 구현 low-level impl 07:28
42-8 키프레임 애니메이션 keyframe animation 09:31
42-9 VBO vertex buffer object 18:26
42-A VBO 추가 another VBO 09:26
42-B IBO index buffer object 06:43
42-F 클로징 01:16
강의 게시일 : 2023년 05월 02일 (마지막 업데이트일 : 2023년 05월 07일)
수강평 총 2개
수강생분들이 직접 작성하신 수강평입니다.
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
thestand9 thumbnail
5
어려운 내용인데 차근차근 잘 설명해주셔서 좋았습니다.
2023-05-31
지식공유자 드립커피+한모금더
안녕하세요.🌞 좋은 평가를 해주셔서 감사합니다. 그래픽스 분야가 기하학, 광학 처리가 많아서, 수식 계산을 피할 수가 없습니다. 최대한 쉽게 설명하려고 노력했습니다만, 도움이 되셨다니 다행입니다. 감사합니다. 🍀
2023-05-31
몽크in도시 thumbnail
5
OpenGL 이나 DirectX, 게임 엔진 관련 강의들을 통털어서 가장 자세하고 명확하게 설명한 강의로 보입니다.
2023-08-04
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!