icon 2011 introduction to opengl es

82
OpenGL ES 쉽게 입문하기 성완 부산 게임 아카데미

Upload: -

Post on 23-Jan-2018

160 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: ICON 2011 Introduction to OpenGL ES

OpenGL ES 쉽게 입문하기

김 성 완

부산 게임 아카데미

Page 2: ICON 2011 Introduction to OpenGL ES

자기 소개

홈페이지: www.g-matrix.pe.kr

블로그: blog.naver.com/kaswan

Twitter ID: idgmatrix

부산에서 3D 게임 프로그래밍을 가르칩니다.

물리학을 전공했고, 늦은 나이에 기상학 공부중.

소프트웨어 렌더러 g-Matrix3d Neo 개발자.

구닥다리 게임 개발자로서 대표작: 예전 미리내에서 출시한 Full Metal Jacket

Page 3: ICON 2011 Introduction to OpenGL ES

OpenGL ES 란?

Page 4: ICON 2011 Introduction to OpenGL ES

OpenGL ES

• OpenGL ES (Embedded System)

–저수준 2D & 3D Graphics API

–주로 휴대용 기기에 내장하기 위한 OpenGL

–데스크탑 PC용 OpenGL을 축약한 버전

Page 5: ICON 2011 Introduction to OpenGL ES

어떤 기기에?

Page 6: ICON 2011 Introduction to OpenGL ES
Page 7: ICON 2011 Introduction to OpenGL ES

OpenGL ES for iOS

• 그런데 저는 애플빠 입니다.^^

– Apple II (1983)

– Macintosh LC (1993)

– iMac

– MacBook pro

– iPod touch

– iPhone 4

– iPad 2

Page 8: ICON 2011 Introduction to OpenGL ES

OpenGL ES for iOS

• OpenGL ES 1.0

• OpenGL ES 1.1

– iPhone, iPhone 3G

• OpenGL ES 2.0

– iPhone 3GS, iPhone 4, iPhone 4S

– iPad, iPad2

Page 9: ICON 2011 Introduction to OpenGL ES
Page 10: ICON 2011 Introduction to OpenGL ES
Page 11: ICON 2011 Introduction to OpenGL ES

id Software

Page 12: ICON 2011 Introduction to OpenGL ES

OpenGL 탄생 (1992)

Page 13: ICON 2011 Introduction to OpenGL ES
Page 14: ICON 2011 Introduction to OpenGL ES

Architecture Review Board

• 3Dlabs, Compaq, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Microsoftand SGI. (2000)

Page 15: ICON 2011 Introduction to OpenGL ES

OpenGL ARB

• 1992 Architecture Review Board

• 2003 MS quit

• 2006 pass to Khronos Group

Page 16: ICON 2011 Introduction to OpenGL ES
Page 17: ICON 2011 Introduction to OpenGL ES
Page 18: ICON 2011 Introduction to OpenGL ES

산업 공개 표준

Page 19: ICON 2011 Introduction to OpenGL ES

OpenGL ES 입문

Page 20: ICON 2011 Introduction to OpenGL ES

OpenGL ES 쉽게 입문하기?

Page 21: ICON 2011 Introduction to OpenGL ES

OpenGL ES 쉽게 입문하기?

• 여러분 이거 다 새빨간 거짓말이란 거 잘아시죠?!

Page 22: ICON 2011 Introduction to OpenGL ES

그래도 쉬운 건 있다?

• Java 언어는 배우기 쉬운 언어이다!

Page 23: ICON 2011 Introduction to OpenGL ES

그래도 쉬운 건 있다?

• Java 언어는 C++보다 배우기 쉬운 언어이다!

Page 24: ICON 2011 Introduction to OpenGL ES

공부는 어떻게?

Page 25: ICON 2011 Introduction to OpenGL ES
Page 26: ICON 2011 Introduction to OpenGL ES
Page 27: ICON 2011 Introduction to OpenGL ES
Page 28: ICON 2011 Introduction to OpenGL ES

OpenGL First?

Page 29: ICON 2011 Introduction to OpenGL ES

OpenGL 은 어디에나

Page 30: ICON 2011 Introduction to OpenGL ES

OpenGL 입문

Page 31: ICON 2011 Introduction to OpenGL ES

1.0 ~ 4.2

Page 32: ICON 2011 Introduction to OpenGL ES

EX CEO of MS

Page 33: ICON 2011 Introduction to OpenGL ES

OpenGL vs DirectX

Page 34: ICON 2011 Introduction to OpenGL ES

John Carmack 의 선택

Page 35: ICON 2011 Introduction to OpenGL ES

Chris Hecker

• An Open Letter to Microsoft: Do the Right Thing for the 3D Game Industry

Page 36: ICON 2011 Introduction to OpenGL ES

OpenGL -> OpenGL ES

• OpenGL 1.3 -> OpenGL ES 1.0

• OpenGL 1.5 -> OpenGL ES 1.1

• OpenGL 2.0 -> OpenGL ES 2.0

Page 37: ICON 2011 Introduction to OpenGL ES

OpenGL vs OpenGL ES

• No support for glBegin or glEnd. Instead, use vertex arrays and vertex buffer objects

• Supported rasterization primitives are points, lines and triangles. Quads are not supported

• There is no polynomial evaluation stage

• Blocks of fragments can be sent directly to individual fragment operations

• There is no support for display lists

Page 38: ICON 2011 Introduction to OpenGL ES

• Gldouble (X)

• GLU 가 지원되지 않는다

• 인덱스 값이 16비트이다.

Page 39: ICON 2011 Introduction to OpenGL ES
Page 40: ICON 2011 Introduction to OpenGL ES

PowerVR Insider SDK

Page 41: ICON 2011 Introduction to OpenGL ES
Page 42: ICON 2011 Introduction to OpenGL ES
Page 43: ICON 2011 Introduction to OpenGL ES

OpenGL ES로 포팅하기

Page 44: ICON 2011 Introduction to OpenGL ES

Xcode로 iOS용 개발하기

Page 45: ICON 2011 Introduction to OpenGL ES

Xcode 4.2

Page 46: ICON 2011 Introduction to OpenGL ES
Page 47: ICON 2011 Introduction to OpenGL ES

OpenGL ES 2.0

Page 48: ICON 2011 Introduction to OpenGL ES
Page 49: ICON 2011 Introduction to OpenGL ES
Page 50: ICON 2011 Introduction to OpenGL ES

WebGL?

• OpenGL ES 2.0 for the Web

Page 51: ICON 2011 Introduction to OpenGL ES

Internet Explorer

Page 52: ICON 2011 Introduction to OpenGL ES

WebGL을 지원하라고?

Page 53: ICON 2011 Introduction to OpenGL ES

못해!

Page 54: ICON 2011 Introduction to OpenGL ES

IE 만 있나?

Page 55: ICON 2011 Introduction to OpenGL ES
Page 56: ICON 2011 Introduction to OpenGL ES
Page 57: ICON 2011 Introduction to OpenGL ES

WebGL

• WebGL was created initially at Mozilla, standardized by the Khronos Group, and supported by Google.

• It's built into Chrome and Firefox right now, giving those browsers a way to display hardware-accelerated 3D graphics useful for games and other visually rich tasks.

Page 58: ICON 2011 Introduction to OpenGL ES

Google Chrome

Page 59: ICON 2011 Introduction to OpenGL ES
Page 60: ICON 2011 Introduction to OpenGL ES
Page 61: ICON 2011 Introduction to OpenGL ES
Page 62: ICON 2011 Introduction to OpenGL ES

Rendering Pipeline

Page 63: ICON 2011 Introduction to OpenGL ES

PIPELINE

Page 64: ICON 2011 Introduction to OpenGL ES

Transform

Page 65: ICON 2011 Introduction to OpenGL ES

glFrustum

Page 66: ICON 2011 Introduction to OpenGL ES
Page 67: ICON 2011 Introduction to OpenGL ES
Page 68: ICON 2011 Introduction to OpenGL ES
Page 69: ICON 2011 Introduction to OpenGL ES

Lighting

Page 70: ICON 2011 Introduction to OpenGL ES

Phong Lighting Model

Page 71: ICON 2011 Introduction to OpenGL ES

Shading Language

Page 72: ICON 2011 Introduction to OpenGL ES

GLSL

• OpenGL Shading Language

• Pixar Renderman

• HLSL (DirectX)

• Cg (Nvidia)

Page 73: ICON 2011 Introduction to OpenGL ES

Shader Program

Page 74: ICON 2011 Introduction to OpenGL ES
Page 75: ICON 2011 Introduction to OpenGL ES

Software Rendering

• Software Renderer: g-Matrix 3D Neo

Page 76: ICON 2011 Introduction to OpenGL ES

부산게임아카데미

Page 77: ICON 2011 Introduction to OpenGL ES
Page 78: ICON 2011 Introduction to OpenGL ES
Page 79: ICON 2011 Introduction to OpenGL ES

질문?

Page 80: ICON 2011 Introduction to OpenGL ES
Page 81: ICON 2011 Introduction to OpenGL ES
Page 82: ICON 2011 Introduction to OpenGL ES