SlideShare a Scribd company logo
1 of 35
Download to read offline
9XD: Young, Wild Coders
“Introduction to Computer Graphics“
옥찬호
Nexon Korea, Microsoft MVP
utilForever@gmail.com
소개
• 옥찬호 (Chris Ohk)
• Nexon Korea Game Programmer
• Microsoft Visual C++ MVP
• 페이스북 그룹 C++ Korea 대표
• IT 전문서 집필 및 번역 다수
• 게임샐러드로 코드 한 줄 없이 게임 만들기 (2013)
• 유니티 Shader와 Effect 제작 (2014)
• 2D 게임 프로그래밍 (2014)
• 러스트 핵심 노트 (2017)
• 모던 C++ 관련 도서 집필 및 번역중… (2017? 2018?)
시작하기 전에…
• 컴퓨터 그래픽스에 대해서 짧고 굵게 설명합니다.
• 컴퓨터에서 그래픽을 나타내기 위한 과정을 설명합니다.
• 그래픽스와 관련된 수학 공식은 다루지 않습니다. (!)
• 그래픽스와 관련된 코드 또한 다루지 않습니다. (!!)
• 직접 구현해보고 싶으시다면, 제 저장소에 앞으로 올라올
컴퓨터 그래픽스 튜토리얼을 참고해주세요.
9XD: Young, Wild Coders
Computer Graphics
컴퓨터 그래픽스란?
컴퓨터를 사용해 이미지를 생성하는
알고리즘 및 시스템의 연구
컴퓨터 그래픽스란?
• 이미징(Imaging) : 2D 이미지를 표현
• 모델링(Modeling) : 3D 물체를 표현
• 렌더링(Rendering) : 3D 모델로부터 2D 이미지를 구성
• 애니메이션(Animation) : 시간 경과에 따른 변화를 시뮬레이션
9XD: Young, Wild Coders
Computer Graphics
렌더링 파이프라인 9XD: Young, Wild Coders
Computer Graphics
좌표계 9XD: Young, Wild Coders
Computer Graphics
프리미티브 9XD: Young, Wild Coders
Computer Graphics
정점 처리 9XD: Young, Wild Coders
Computer Graphics
모델 변환 9XD: Young, Wild Coders
Computer Graphics
뷰 변환 9XD: Young, Wild Coders
Computer Graphics
투영 변환 - 원근법 9XD: Young, Wild Coders
Computer Graphics
투영 변환 – 정사영법 9XD: Young, Wild Coders
Computer Graphics
뷰포트 변환 9XD: Young, Wild Coders
Computer Graphics
은면 제거 9XD: Young, Wild Coders
Computer Graphics
래스터화 9XD: Young, Wild Coders
Computer Graphics
프래그먼트 처리 9XD: Young, Wild Coders
Computer Graphics
Z-버퍼링 9XD: Young, Wild Coders
Computer Graphics
알파 블랜딩 9XD: Young, Wild Coders
Computer Graphics
라이팅 9XD: Young, Wild Coders
Computer Graphics
앰비언트 라이트 9XD: Young, Wild Coders
Computer Graphics
디퓨즈 라이트 9XD: Young, Wild Coders
Computer Graphics
스페큘러 라이트 9XD: Young, Wild Coders
Computer Graphics
정점 및 프래그먼트 셰이더 9XD: Young, Wild Coders
Computer Graphics
텍스처 래핑 9XD: Young, Wild Coders
Computer Graphics
텍스처 필터링 9XD: Young, Wild Coders
Computer Graphics
밉매핑 9XD: Young, Wild Coders
Computer Graphics
더블 버퍼링 9XD: Young, Wild Coders
Computer Graphics
더블 버퍼링 9XD: Young, Wild Coders
Computer Graphics
그래픽스 API 9XD: Young, Wild Coders
Computer Graphics
• DirectX
• OpenGL
• OpenGL ES
• WebGL
• Metal
• Vulkan
• …
관련 도서 9XD: Young, Wild Coders
Computer Graphics
• Introduction to 3D Game Programming with DirectX 11/12
• Real-Time 3D Rendering with DirectX and HLSL
• OpenGL Programming Guide / OpenGL Superbible
• OpenGL / WebGL / Vulkan Programming Guide
• Graphic Shaders, Ray Tracing from The Ground Up
• Real-Time Rendering, Physically Based Rendering
• Real-Time Shadow, GPU Gems, GPU Pro
• Advanced Global Illumination, 셰이더 프로그래밍 입문
튜토리얼 9XD: Young, Wild Coders
Computer Graphics
• http://www.directxtutorial.com/
• http://rastertek.com/
• http://www.opengl-tutorial.org/
• http://leranopengl.org/
• http://ogldev.atspace.co.uk/
• http://www.vulkan-tutorial.com/
• …
감사합니다
http://github.com/utilForever
질문 환영합니다!

More Related Content

What's hot

Windows үйлдлийн систем
Windows үйлдлийн системWindows үйлдлийн систем
Windows үйлдлийн систем
Baaya Badrakh
 
програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл
Энхтамир Ш
 

What's hot (20)

Lecture 2
Lecture  2Lecture  2
Lecture 2
 
Монголын Телевизийн Салбарын 2020 оны тайлан
Монголын Телевизийн Салбарын 2020  оны тайланМонголын Телевизийн Салбарын 2020  оны тайлан
Монголын Телевизийн Салбарын 2020 оны тайлан
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다
 
[IGC 2016] 실전시나리오라이팅 - PD가 원하면 나는 쓴다
[IGC 2016] 실전시나리오라이팅 - PD가 원하면 나는 쓴다[IGC 2016] 실전시나리오라이팅 - PD가 원하면 나는 쓴다
[IGC 2016] 실전시나리오라이팅 - PD가 원하면 나는 쓴다
 
[2017.06.새로운 예능프로그램 기획] 학식당 기획 팀프로젝트
[2017.06.새로운 예능프로그램 기획] 학식당 기획 팀프로젝트[2017.06.새로운 예능프로그램 기획] 학식당 기획 팀프로젝트
[2017.06.새로운 예능프로그램 기획] 학식당 기획 팀프로젝트
 
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
 
3
33
3
 
Marketing management 3 2010 орчны шинжилгээ
Marketing management 3 2010 орчны шинжилгээMarketing management 3 2010 орчны шинжилгээ
Marketing management 3 2010 орчны шинжилгээ
 
1
11
1
 
Windows үйлдлийн систем
Windows үйлдлийн системWindows үйлдлийн систем
Windows үйлдлийн систем
 
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [#인스타툰 팀] : 해시태그 기반 인스타툰 추천 챗봇
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [#인스타툰 팀] : 해시태그 기반 인스타툰 추천 챗봇제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [#인스타툰 팀] : 해시태그 기반 인스타툰 추천 챗봇
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [#인스타툰 팀] : 해시태그 기반 인스타툰 추천 챗봇
 
Process hollowing
Process hollowingProcess hollowing
Process hollowing
 
програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл
 
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
 
Str mark 1 lekts 2010
Str mark 1 lekts 2010Str mark 1 lekts 2010
Str mark 1 lekts 2010
 
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
 
Marketing management 10 lekts 2010 үнэ бүрдэлт suulch
Marketing management 10 lekts  2010 үнэ бүрдэлт suulchMarketing management 10 lekts  2010 үнэ бүрдэлт suulch
Marketing management 10 lekts 2010 үнэ бүрдэлт suulch
 
Ood lesson9 activity
Ood lesson9 activityOod lesson9 activity
Ood lesson9 activity
 
디지털 트윈 기술과 활용 사례 - 공간정보를 중심으로
디지털 트윈 기술과 활용 사례 - 공간정보를 중심으로 디지털 트윈 기술과 활용 사례 - 공간정보를 중심으로
디지털 트윈 기술과 활용 사례 - 공간정보를 중심으로
 
D.Bum-Erdene: New Normal and New CX
D.Bum-Erdene: New Normal and New CX D.Bum-Erdene: New Normal and New CX
D.Bum-Erdene: New Normal and New CX
 

Similar to [9XD] Introduction to Computer Graphics

모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
funmeate
 
[0602 박민근] direct2 d
[0602 박민근] direct2 d[0602 박민근] direct2 d
[0602 박민근] direct2 d
MinGeun Park
 
C#으로 게임 엔진 만들기(3)
C#으로 게임 엔진 만들기(3)C#으로 게임 엔진 만들기(3)
C#으로 게임 엔진 만들기(3)
지환 김
 
[조진현] [Kgc2011]direct x11 이야기
[조진현] [Kgc2011]direct x11 이야기[조진현] [Kgc2011]direct x11 이야기
[조진현] [Kgc2011]direct x11 이야기
진현 조
 
Tools in android sdk
Tools in android sdkTools in android sdk
Tools in android sdk
Minchul Jung
 

Similar to [9XD] Introduction to Computer Graphics (20)

KGC 2007 소프트웨어 렌더러 개발
KGC 2007  소프트웨어 렌더러 개발KGC 2007  소프트웨어 렌더러 개발
KGC 2007 소프트웨어 렌더러 개발
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
 
[0602 박민근] direct2 d
[0602 박민근] direct2 d[0602 박민근] direct2 d
[0602 박민근] direct2 d
 
micro:bit 프로그래밍 기초
micro:bit 프로그래밍 기초 micro:bit 프로그래밍 기초
micro:bit 프로그래밍 기초
 
ICON 2011 Introduction to OpenGL ES
ICON 2011 Introduction to OpenGL ESICON 2011 Introduction to OpenGL ES
ICON 2011 Introduction to OpenGL ES
 
[0129 박민근] direct x2d
[0129 박민근] direct x2d[0129 박민근] direct x2d
[0129 박민근] direct x2d
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5
 
3D Engine (ICON 2007)
3D Engine (ICON 2007)3D Engine (ICON 2007)
3D Engine (ICON 2007)
 
C#으로 게임 엔진 만들기(3)
C#으로 게임 엔진 만들기(3)C#으로 게임 엔진 만들기(3)
C#으로 게임 엔진 만들기(3)
 
Unite 17 Education Day (미대 지망생이었던 제가)유니티 게임 개발자가 되었습니다 - 정선효
Unite 17 Education Day (미대 지망생이었던 제가)유니티 게임 개발자가 되었습니다 - 정선효Unite 17 Education Day (미대 지망생이었던 제가)유니티 게임 개발자가 되었습니다 - 정선효
Unite 17 Education Day (미대 지망생이었던 제가)유니티 게임 개발자가 되었습니다 - 정선효
 
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
Cocos2d x v3.0 무엇이 달라졌나? (20140426)Cocos2d x v3.0 무엇이 달라졌나? (20140426)
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
 
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
 
Html5 게임 기술의 개요
Html5 게임 기술의 개요Html5 게임 기술의 개요
Html5 게임 기술의 개요
 
Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .
 
[0602 박민근] Direct2D
[0602 박민근] Direct2D[0602 박민근] Direct2D
[0602 박민근] Direct2D
 
[조진현] [Kgc2011]direct x11 이야기
[조진현] [Kgc2011]direct x11 이야기[조진현] [Kgc2011]direct x11 이야기
[조진현] [Kgc2011]direct x11 이야기
 
KYSR 1st Seminar 엔비디아 김승규 상무
KYSR 1st Seminar 엔비디아 김승규 상무KYSR 1st Seminar 엔비디아 김승규 상무
KYSR 1st Seminar 엔비디아 김승규 상무
 
Unity 3d study #1
Unity 3d study #1Unity 3d study #1
Unity 3d study #1
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법
 
Tools in android sdk
Tools in android sdkTools in android sdk
Tools in android sdk
 

More from Chris Ohk

More from Chris Ohk (20)

인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
 
Momenti Seminar - 5 Years of RosettaStone
Momenti Seminar - 5 Years of RosettaStoneMomenti Seminar - 5 Years of RosettaStone
Momenti Seminar - 5 Years of RosettaStone
 
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
선린인터넷고등학교 2021 알고리즘 컨퍼런스 - Rust로 알고리즘 문제 풀어보기
 
Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2Momenti Seminar - A Tour of Rust, Part 2
Momenti Seminar - A Tour of Rust, Part 2
 
Momenti Seminar - A Tour of Rust, Part 1
Momenti Seminar - A Tour of Rust, Part 1Momenti Seminar - A Tour of Rust, Part 1
Momenti Seminar - A Tour of Rust, Part 1
 
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
 
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
Adversarially Guided Actor-Critic, Y. Flet-Berliac et al, 2021
 
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
Agent57: Outperforming the Atari Human Benchmark, Badia, A. P. et al, 2020
 
Proximal Policy Optimization Algorithms, Schulman et al, 2017
Proximal Policy Optimization Algorithms, Schulman et al, 2017Proximal Policy Optimization Algorithms, Schulman et al, 2017
Proximal Policy Optimization Algorithms, Schulman et al, 2017
 
Trust Region Policy Optimization, Schulman et al, 2015
Trust Region Policy Optimization, Schulman et al, 2015Trust Region Policy Optimization, Schulman et al, 2015
Trust Region Policy Optimization, Schulman et al, 2015
 
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
Continuous Control with Deep Reinforcement Learning, lillicrap et al, 2015
 
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
 
[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기
 
[NDC 2019] 하스스톤 강화학습 환경 개발기
[NDC 2019] 하스스톤 강화학습 환경 개발기[NDC 2019] 하스스톤 강화학습 환경 개발기
[NDC 2019] 하스스톤 강화학습 환경 개발기
 
C++20 Key Features Summary
C++20 Key Features SummaryC++20 Key Features Summary
C++20 Key Features Summary
 
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
[델리만주] 대학원 캐슬 - 석사에서 게임 프로그래머까지
 
디미고 특강 - 개발을 시작하려는 여러분에게
디미고 특강 - 개발을 시작하려는 여러분에게디미고 특강 - 개발을 시작하려는 여러분에게
디미고 특강 - 개발을 시작하려는 여러분에게
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기
 
[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기[NDC 2018] 유체역학 엔진 개발기
[NDC 2018] 유체역학 엔진 개발기
 

[9XD] Introduction to Computer Graphics