35
9XD: Young, Wild Coders “Introduction to Computer Graphics“ 옥찬호 Nexon Korea, Microsoft MVP [email protected]

[9XD] Introduction to Computer Graphics

  • Upload
    -

  • View
    727

  • Download
    5

Embed Size (px)

Citation preview

Page 1: [9XD] Introduction to Computer Graphics

9XD: Young, Wild Coders

“Introduction to Computer Graphics“

옥찬호Nexon Korea, Microsoft MVP

[email protected]

Page 2: [9XD] Introduction to Computer Graphics

소개• 옥찬호 (Chris Ohk)

• Nexon Korea Game Programmer

• Microsoft Visual C++ MVP

• 페이스북 그룹 C++ Korea 대표

• IT 전문서 집필 및 번역 다수

• 게임샐러드로 코드한 줄없이게임만들기 (2013)

• 유니티 Shader와 Effect 제작 (2014)

• 2D 게임 프로그래밍 (2014)

• 러스트 핵심 노트 (2017)

• 모던 C++ 관련도서 집필 및 번역중… (2017? 2018?)

Page 3: [9XD] Introduction to Computer Graphics

시작하기 전에…• 컴퓨터 그래픽스에 대해서 짧고 굵게 설명합니다.

• 컴퓨터에서 그래픽을 나타내기 위한과정을 설명합니다.

• 그래픽스와관련된 수학 공식은 다루지 않습니다. (!)

• 그래픽스와관련된 코드 또한 다루지 않습니다. (!!)

• 직접 구현해보고 싶으시다면, 제 저장소에앞으로 올라올

컴퓨터 그래픽스 튜토리얼을 참고해주세요.

9XD: Young, Wild CodersComputer Graphics

Page 4: [9XD] Introduction to Computer Graphics
Page 5: [9XD] Introduction to Computer Graphics

컴퓨터 그래픽스란?

Page 6: [9XD] Introduction to Computer Graphics

컴퓨터를 사용해 이미지를 생성하는알고리즘 및 시스템의 연구

Page 7: [9XD] Introduction to Computer Graphics

컴퓨터 그래픽스란?• 이미징(Imaging) : 2D 이미지를 표현

• 모델링(Modeling) : 3D 물체를 표현

• 렌더링(Rendering) : 3D 모델로부터 2D 이미지를 구성

• 애니메이션(Animation) : 시간 경과에따른 변화를 시뮬레이션

9XD: Young, Wild CodersComputer Graphics

Page 8: [9XD] Introduction to Computer Graphics

렌더링 파이프라인 9XD: Young, Wild CodersComputer Graphics

Page 9: [9XD] Introduction to Computer Graphics

좌표계 9XD: Young, Wild CodersComputer Graphics

Page 10: [9XD] Introduction to Computer Graphics

프리미티브 9XD: Young, Wild CodersComputer Graphics

Page 11: [9XD] Introduction to Computer Graphics

정점 처리 9XD: Young, Wild CodersComputer Graphics

Page 12: [9XD] Introduction to Computer Graphics

모델 변환 9XD: Young, Wild CodersComputer Graphics

Page 13: [9XD] Introduction to Computer Graphics

뷰 변환 9XD: Young, Wild CodersComputer Graphics

Page 14: [9XD] Introduction to Computer Graphics

투영 변환 - 원근법 9XD: Young, Wild CodersComputer Graphics

Page 15: [9XD] Introduction to Computer Graphics

투영 변환 – 정사영법 9XD: Young, Wild CodersComputer Graphics

Page 16: [9XD] Introduction to Computer Graphics

뷰포트 변환 9XD: Young, Wild CodersComputer Graphics

Page 17: [9XD] Introduction to Computer Graphics

은면 제거 9XD: Young, Wild CodersComputer Graphics

Page 18: [9XD] Introduction to Computer Graphics

래스터화 9XD: Young, Wild CodersComputer Graphics

Page 19: [9XD] Introduction to Computer Graphics

프래그먼트 처리 9XD: Young, Wild CodersComputer Graphics

Page 20: [9XD] Introduction to Computer Graphics

Z-버퍼링 9XD: Young, Wild CodersComputer Graphics

Page 21: [9XD] Introduction to Computer Graphics

알파 블랜딩 9XD: Young, Wild CodersComputer Graphics

Page 22: [9XD] Introduction to Computer Graphics

라이팅 9XD: Young, Wild CodersComputer Graphics

Page 23: [9XD] Introduction to Computer Graphics

앰비언트 라이트 9XD: Young, Wild CodersComputer Graphics

Page 24: [9XD] Introduction to Computer Graphics

디퓨즈 라이트 9XD: Young, Wild CodersComputer Graphics

Page 25: [9XD] Introduction to Computer Graphics

스페큘러 라이트 9XD: Young, Wild CodersComputer Graphics

Page 26: [9XD] Introduction to Computer Graphics

정점 및 프래그먼트 셰이더 9XD: Young, Wild CodersComputer Graphics

Page 27: [9XD] Introduction to Computer Graphics

텍스처 래핑 9XD: Young, Wild CodersComputer Graphics

Page 28: [9XD] Introduction to Computer Graphics

텍스처 필터링 9XD: Young, Wild CodersComputer Graphics

Page 29: [9XD] Introduction to Computer Graphics

밉매핑 9XD: Young, Wild CodersComputer Graphics

Page 30: [9XD] Introduction to Computer Graphics

더블 버퍼링 9XD: Young, Wild CodersComputer Graphics

Page 31: [9XD] Introduction to Computer Graphics

더블 버퍼링 9XD: Young, Wild CodersComputer Graphics

Page 32: [9XD] Introduction to Computer Graphics

그래픽스 API 9XD: Young, Wild CodersComputer Graphics

• DirectX

• OpenGL

• OpenGL ES

• WebGL

• Metal

• Vulkan

• …

Page 33: [9XD] Introduction to Computer Graphics

관련 도서 9XD: Young, Wild CodersComputer 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, 셰이더 프로그래밍 입문

Page 34: [9XD] Introduction to Computer Graphics

튜토리얼 9XD: Young, Wild CodersComputer 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/

• …

Page 35: [9XD] Introduction to Computer Graphics

감사합니다

http://github.com/utilForever질문환영합니다!