Computer Graphics for grads
(spring 2013)
home
syllabus
homeworks
materials
links
Materials
Lecture slides
Intro
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Developing OpenGL ES 2.0 applications
Using ARM emulator (for OpenGL ES 2.0)
Can be downloaded
here
.
Supports OpenGL ES 2.0
Supports three major platforms (Windows, Linux, OSX)
No hassle to deal with UI/Windows layer -- EGL is implemented and examples from the "Goldbook" can be ported easily.)
Should be ported to a specific mobile platform (Android or iOS) for final release
OpenGL ES 3.0 emulator is limited to the Windows platform. (
OpenGL ES 3.0 emulator
)
Using AMD emulator
Can be downloaded
here
.
Supports AMD graphics cards only (?)
OpenGL ES 2.0
Windows & Linux only
Almost the same pros/cons with the ARM emulator
Using PowerVR SGX OpenGL ES 2.0 SDK
Can be downloaded
here
. (registration required)
Windows, OSX, Linux supported
Using NVIDIA Tegra Android Development Pack
Can be downloaded
here
.
Android only
Windows, OSX, Linux (Ubuntu) supported
Using Qualcomm OpenGL ES 3.0 emulator
Can be downloaded
here
. (registration required)
Windows only
xcode
OSX only
Can be installed from the AppStore.
For iOS apps only.
Requires to get familiar with Objective-C to some level.
OSX-specific library for UI/Window management (EAGL)
App running on iOS devices (requires membership to run on actual devices)
Fast and stable emulator
Decent developement environment
ADT (Android Development Tools)
Can be downloaded
here
.
For android apps
Supports many platforms
(Normally) required to develop in Java
C with
NDK (Native Development Kit)
(OpenGL ES 2 sample code in NDK)
Slow emulator
Can run the app on actual devices directly
WebGL
Almost compatible with OpenGL ES 2
No dev tools required (only any compatible webbrower required)
Required to develop in Javascript
Hard to debug
Source codes exposed (?)
Good to develop cross-platform mobile apps via HTML5 (?)
Compiling and running OpenGL ES 2.0 samples
Android java with ARM image (Examples are compiled and running without any problem on actual devices and Intel emulators)
Modify
return (info.reqGlEsVersion >= 0x20000);
to
return true;
(See
this post
.)
Insert
mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
before
mGLSurfaceView.setRenderer(new HelloTriangleRenderer(this));
(See
this post
.)
Modifying
<uses-sdk android:minSdkVersion="8" />
in AndroidManifest.xml is not required.
NDK examples
Set NDK path in the preference
Select "Add Native Support" to the project
Check "GPU Host" in the emulator setting