[9XD] Introduction to Computer Graphics

Preview:

Citation preview

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 CodersComputer Graphics

컴퓨터 그래픽스란?

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

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

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

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

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

9XD: Young, Wild CodersComputer Graphics

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

좌표계 9XD: Young, Wild CodersComputer Graphics

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

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

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

뷰 변환 9XD: Young, Wild CodersComputer Graphics

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

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

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

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

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

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

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

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

라이팅 9XD: Young, Wild CodersComputer Graphics

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

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

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

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

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

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

밉매핑 9XD: Young, Wild CodersComputer Graphics

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

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

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

• DirectX

• OpenGL

• OpenGL ES

• WebGL

• Metal

• Vulkan

• …

관련 도서 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, 셰이더 프로그래밍 입문

튜토리얼 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/

• …

감사합니다

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

Recommended