ICON 2011 Introduction to OpenGL ES

Preview:

Citation preview

OpenGL ES 쉽게 입문하기

김 성 완

부산 게임 아카데미

자기 소개

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

블로그: blog.naver.com/kaswan

Twitter ID: idgmatrix

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

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

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

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

OpenGL ES 란?

OpenGL ES

• OpenGL ES (Embedded System)

–저수준 2D & 3D Graphics API

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

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

어떤 기기에?

OpenGL ES for iOS

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

– Apple II (1983)

– Macintosh LC (1993)

– iMac

– MacBook pro

– iPod touch

– iPhone 4

– iPad 2

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

id Software

OpenGL 탄생 (1992)

Architecture Review Board

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

OpenGL ARB

• 1992 Architecture Review Board

• 2003 MS quit

• 2006 pass to Khronos Group

산업 공개 표준

OpenGL ES 입문

OpenGL ES 쉽게 입문하기?

OpenGL ES 쉽게 입문하기?

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

그래도 쉬운 건 있다?

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

그래도 쉬운 건 있다?

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

공부는 어떻게?

OpenGL First?

OpenGL 은 어디에나

OpenGL 입문

1.0 ~ 4.2

EX CEO of MS

OpenGL vs DirectX

John Carmack 의 선택

Chris Hecker

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

OpenGL -> OpenGL ES

• OpenGL 1.3 -> OpenGL ES 1.0

• OpenGL 1.5 -> OpenGL ES 1.1

• OpenGL 2.0 -> OpenGL ES 2.0

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

• Gldouble (X)

• GLU 가 지원되지 않는다

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

PowerVR Insider SDK

OpenGL ES로 포팅하기

Xcode로 iOS용 개발하기

Xcode 4.2

OpenGL ES 2.0

WebGL?

• OpenGL ES 2.0 for the Web

Internet Explorer

WebGL을 지원하라고?

못해!

IE 만 있나?

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.

Google Chrome

Rendering Pipeline

PIPELINE

Transform

glFrustum

Lighting

Phong Lighting Model

Shading Language

GLSL

• OpenGL Shading Language

• Pixar Renderman

• HLSL (DirectX)

• Cg (Nvidia)

Shader Program

Software Rendering

• Software Renderer: g-Matrix 3D Neo

부산게임아카데미

질문?

Recommended