icon 2011 introduction to opengl es
TRANSCRIPT
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
부산게임아카데미
질문?