OpenGL ES
OpenGL ES Bootcamp is an intensive 5-day training course that will hurtle you into the world of 3D graphics!
OpenGL is the standard for 3D graphics, a time tested SDK that runs on all major platforms including Android, iOS, WebGL, Mac OS X, and Windows. This class focuses on OpenGL ES 2.0 and OpenGL Core Profile 3.1, current well supported releases of the constantly evolving OpenGL standard. If you are doing any work concerning graphics, then you must know OpenGL and this class is the fastest way to master the ideas and techniques of OpenGL programming. By taking full advantage of hardware acceleration, shaders, blending, textures and video we'll help you get the most out of your renderings.
This course focuses on modern OpenGL using the programmable pipeline, where developers write shaders to control all aspects of 3D rendering. We explain these from the ground up so students with no experience programming 3D graphics can understand all the concepts and how they fit together, from getting geometry on the screen to making it look awesome with effects like bump mapping and particle systems. The course is taught using a mixture of C/C++ on Mac OS X and JavaScript running in a WebGL enabled browser. If possible, bring a spare set of eyes as yours are bound to pop out of your head!
Students will be provided a copy of OpenGL Super Bible Fifth Edition.
UPCOMING CLASSES
| Date | Instructor | Price | Status | Venue |
|---|---|---|---|---|
Jun 17
-
Jun 21 |
Blocksom
|
$3700
|
Wait List!
Sold Out |
Atlanta, Georgia
|
What You’ll Learn
Upon completion of OpenGL ES, the student will be able to:
- Specify 3D geometry for OpenGL
- Write vertex and fragment shaders for full control over 3D rendering
- Understand how to use transformation matrices to position objects in a 3D scene
- Create perspective and orthogonal views
- Texture 3D objects with images
- Control lighting in a 3D scene
- Control the camera in both first and third person views
- Add special effects like bump mapping and shadow mapping
- Render point clouds and make animated particle systems
- Select 3D objects in a rendered scene
- Understand how popular open source projects use OpenGL
- Create higher level scene graphs powered by OpenGL rendering
- Use OpenGL ES on iOS, Android, and WebGL
- Explain the difference is between the fixed function and programmable pipelines
- Write geometry shaders for tessellating objects
OpenGL ES SYLLABUS
| Section | Contents |
|---|---|
|
|
|
Hello, Triangle |
Introduction to OpenGL going through everything needed to draw a triangle
|
Vertex Shaders |
Introduction to vertex shaders; uniforms; translate, scale, and rotation
|
Transformation Matrices |
2D transformation matrices for translate, rotate, scale; composing transformations
|
Geometry |
Points, lines, triangle strips
|
Hierarchical Modeling |
Matrix stacks
|
Fragment Shaders |
Introduction to Fragment shaders and textures
|
Projection Transforms |
Introduction to orthogonal and perspective transforms
|
3D Viewing I |
Polarview style 3D viewing (elevation and azimuth); practice composing transforms
|
3D Viewing II |
Flight simulator style viewing transforms
|
Geometry II |
Loading objects; common data formats
|
Surface Normals and Lighting |
How to calculate surface normals and implement basic directional lighting
|
Lighting and Materials |
How to specify material properties for effects like plastic and metal rendering
|
Image Textures |
How to load image textures in OpenGL and apply them to 3D objects
|
Procedural Textures |
How to create textures from mathematical functions
|
Noise |
How to generate natural materials such as wood and marble from Perlin noise functions
|
Cube Maps and Reflection Mapping |
How to render immersive backgrounds using cube maps or skyboxes and reflect them on internal objects
|
Bump Maps |
How to displace normals on 3D objects for bumpy effects
|
Cartoon Rendering |
How to render something as if it were a cartoon
|
Point Rendering |
Point clouds, point sprites, billboards, and particle systems
|
Shadow Mapping |
Using depth maps for creating real time shadows
|
Anti-Aliasing |
Smoothing rough edges with
|
Geometry Shaders |
Tessellating objects using OpenGL geometry shaders
|
Scene Graphs |
Building higher level data structures for 3D rendering and learning how popular 3D scene graphs work
|
REQUIREMENTS
For best results, students should know a procedural programming language (such as C) and have a basic understanding of trigonometry and vector mathematics.