SlideShare a Scribd company logo
3D Graphics
Robert Altman
         Software Entrepreneur
   Altman Software Design, LLC
 Lead iOS Developer, Telvent DTN
robert@AltmanSoftwareDesign.com
            @mStyle
       www.inquinity.com
Tuesday(7:40-9AM(•(Benchmark(Learning,(Edina(
OpenGL

Hardware optimized 3D rendering engine

OpenGL ES (Mobile) and OpenGL (Desktop)

  OpenGL ES 1.0 == OpenGL 1.3 -- Fixed function (integer)

  OpenGL ES 1.1 == OpenGL 1.5 -- Fixed function

  OpenGL ES 2.0 == OpenGL 2.0 -- Programmable pipeline
Open GL
Open GL ES
3D
     Data              Operation
   Vertices            Translation

   Surfaces             Rotation

Surface Normals         Scaling

Vertex Normals          Lighting

   Materials            Shading
Polygons
OpenGL supports Triangles and Quads

OpenGL ES supports Triangles




               Remember this...
Demo
fog

light material

light position

projection

shapes

texture

transformation
iOS and OpenGL

OpenGL ES 1.1 supported everywhere

OpenGL ES 2.0 supported starting with iPhone 3GS (2009)

EAGLView and Xcode template

  Demo

Performance Tools

Apple sample (there is a template!)
3D Modeling

Modeling and Animation

Plethora of formats (Wavefront OBJ, POD, Collada, Maya)

Applications:

  Commercial, or

  blender

Thriving marketplaces for models
blender
Front View                         Numpad-1
Back View                          Control-Numpad-1


Left Side View                     Numpad-3
Right Side View                    Control-Numpad-3


Top View                           Numpad-7
Bottom View                        Control-Numpad-7


Rotate Model                       Numpad-2, 4, 6, 8
Move Model                         Control-Numpad-2, 4, 6, 8
Zoom Model                         Numpad-Plus and Numpad-Minus


Toggle Perspective/Orthogonal      Numpad-5
Toggle Model/Camera View           Numpad-0
blender
   !! User preference to “Emulate 3-button mouse”

   RMB = Two-finger click on track pad

   Fine control is difficult with mouse or trackpad

                     Multi-touch Trackpad
Rotate Model                     Two finger rotate
Move Model                       Two finger drag
Zoom Model                       Two finger pinch
blender


Demo
3D File Formats

Wavefront OBJ

Collada

POD

... Many others!

C/C++ header file

What will your app support?
3D Data


Quick Demo
3D Icon

Prepare model in blender

Export to PNG

Photoshop iOS icon template (pixelresort)

Export multiple sizes of image
iPad Application


    Demo
Resources
ManiacDev

StackOverflow

Jeff LaMarch

NeHe Productions

Nate Robins “tutors”

Any good gaming development site

Phillip Rideout Book
OpenGL ES for iOS
      Robert Altman
            Software Entrepreneur
    Altman Software Design, LLC
  Lead iOS Developer, Telvent DTN
robert@AltmanSoftwareDesign.com
            @mStyle
       www.inquinity.com

Resources, presentation, and other links
        will be posted on blog

More Related Content

What's hot (19)

PPT
Object representations
Taher Barodawala
 
PPTX
Graphics pipeline and rendering
iain bruce
 
PPT
Realism in Computer Graphics
Barani Tharan
 
PPT
Praseed Pai
Barcamp Kerala
 
PDF
Computer graphics notes
RAJKIYA ENGINEERING COLLEGE, BANDA
 
PPTX
Class[5][9th jul] [three js-meshes_geometries_and_primitives]
Saajid Akram
 
PPTX
COMPUTER GRAPHICS
Jagan Raja
 
PPT
Image Texture Analysis
lalitxp
 
PPT
lecture1 introduction to computer graphics(Computer graphics tutorials)
Daroko blog(www.professionalbloggertricks.com)
 
PPT
Rendering: Vertices, Indices, UVs and Shaders
David Goemans
 
DOCX
Task 2 displaying 3 d polygon animation
Rexeh1245
 
PDF
Ar1 twf030 lecture2.2
Pirouz Nourian
 
PPT
1422798749.2779lecture 5
SRM UNIVERSITY, RAMAPURAM
 
PPTX
Introduction to computer graphics
Priyodarshini Dhar
 
PDF
Ar1 twf030 lecture1.2
Pirouz Nourian
 
PPT
Introduction to computer graphics
Partnered Health
 
PPTX
Introductory Digital Image Processing using Matlab, IIT Roorkee
Vinayak Sahai
 
PPTX
Animation Techniques
Mahith
 
PDF
testpang
pangpang2
 
Object representations
Taher Barodawala
 
Graphics pipeline and rendering
iain bruce
 
Realism in Computer Graphics
Barani Tharan
 
Praseed Pai
Barcamp Kerala
 
Computer graphics notes
RAJKIYA ENGINEERING COLLEGE, BANDA
 
Class[5][9th jul] [three js-meshes_geometries_and_primitives]
Saajid Akram
 
COMPUTER GRAPHICS
Jagan Raja
 
Image Texture Analysis
lalitxp
 
lecture1 introduction to computer graphics(Computer graphics tutorials)
Daroko blog(www.professionalbloggertricks.com)
 
Rendering: Vertices, Indices, UVs and Shaders
David Goemans
 
Task 2 displaying 3 d polygon animation
Rexeh1245
 
Ar1 twf030 lecture2.2
Pirouz Nourian
 
1422798749.2779lecture 5
SRM UNIVERSITY, RAMAPURAM
 
Introduction to computer graphics
Priyodarshini Dhar
 
Ar1 twf030 lecture1.2
Pirouz Nourian
 
Introduction to computer graphics
Partnered Health
 
Introductory Digital Image Processing using Matlab, IIT Roorkee
Vinayak Sahai
 
Animation Techniques
Mahith
 
testpang
pangpang2
 

Similar to OpenGL ES for iOS (3D Graphics) (20)

PDF
Ujug07presentation
Bill Adams
 
ODP
Blendertut
Rahul karan
 
PDF
Neurotech Solutions Ltd: Рекомендации по Stage3D: выбор наиболее подходящего ...
DevGAMM Conference
 
PPT
3D Visualization on iOS
Triassic Solutions Pvt. Ltd.
 
PDF
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Lviv Startup Club
 
PPTX
Open GL for Mobile UI
Anil N
 
PDF
Дмитрий Вовк - Learn iOS Game Optimization. Ultimate Guide
UA Mobile
 
PDF
OpenGL L03-Utilities
Mohammad Shaker
 
PPTX
2D graphics
Muhammad Rashid
 
PDF
Blender Basics
Carlos Campani
 
PDF
Unreal Engine Beginner Workshop Slides
Merlin Cheng
 
PDF
3D in Android
Wen Jiun Yap
 
PPT
Advanced Graphics Workshop - GFX2011
Prabindh Sundareson
 
PDF
iOS Visual F/X Using GLSL
Douglass Turner
 
PDF
Low Level Graphics & OpenGL
Dominic Farolino
 
PPTX
ACM Mid-Southeast Slides
krinchan
 
PPT
OpenGL 4 for 2010
Mark Kilgard
 
PDF
BlenderBasics2ndEdition.pdf
SamuelAssefa9
 
PPTX
Flash Gamm 2011,"Stage3D survival guide"
Michael Ivanov
 
Ujug07presentation
Bill Adams
 
Blendertut
Rahul karan
 
Neurotech Solutions Ltd: Рекомендации по Stage3D: выбор наиболее подходящего ...
DevGAMM Conference
 
3D Visualization on iOS
Triassic Solutions Pvt. Ltd.
 
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Lviv Startup Club
 
Open GL for Mobile UI
Anil N
 
Дмитрий Вовк - Learn iOS Game Optimization. Ultimate Guide
UA Mobile
 
OpenGL L03-Utilities
Mohammad Shaker
 
2D graphics
Muhammad Rashid
 
Blender Basics
Carlos Campani
 
Unreal Engine Beginner Workshop Slides
Merlin Cheng
 
3D in Android
Wen Jiun Yap
 
Advanced Graphics Workshop - GFX2011
Prabindh Sundareson
 
iOS Visual F/X Using GLSL
Douglass Turner
 
Low Level Graphics & OpenGL
Dominic Farolino
 
ACM Mid-Southeast Slides
krinchan
 
OpenGL 4 for 2010
Mark Kilgard
 
BlenderBasics2ndEdition.pdf
SamuelAssefa9
 
Flash Gamm 2011,"Stage3D survival guide"
Michael Ivanov
 
Ad

Recently uploaded (20)

PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
PDF
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
PDF
Français Patch Tuesday - Juillet
Ivanti
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Top Managed Service Providers in Los Angeles
Captain IT
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
Français Patch Tuesday - Juillet
Ivanti
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Ad

OpenGL ES for iOS (3D Graphics)

Editor's Notes

  • #2: \n
  • #3: \n
  • #4: \n
  • #5: 1. OpenGL: hardware optimized display layer\n2. Desktop vs. Mobile\n3. Different generations\n4. Fixed function simpler\n5. Programmable more powerful\n6. Security Questions: Graphics a the new viruses.\n\n
  • #6: OpenGL on desktop platforms\n
  • #7: OpenGL ES on mobile platforms\n\nSubset of OpenGL\n\nPhone7 supports Direct3D\n
  • #8: Surfaces are defined by vertices\nSurface normals define which way a surface is facing\nSpecialized structure allow re-use of vertices to minimize data size\nTextures are samples of material which are applied to surfaces\n\nMain operations: Translation, Rotation, Scaling.\nLighting: sources, position, intensity, color, type\n\n
  • #9: Surfaces are defined by vertices\nSurface normals define which way a surface is facing\nSpecialized structure allow re-use of vertices to minimize data size\nTextures are samples of material which are applied to surfaces\n\nMain operations: Translation, Rotation, Scaling.\nLighting: sources, position, intensity, color, type\n\n
  • #10: Demo apps\nWritten by Nate Robins, http://user.xmission.com/~nate/tutors.html\nOld Projects\nSource in C (Visual Studio 6, Visual Studio.NET, OS/X (PowerPC)\n
  • #11: \n
  • #12: \n
  • #13: \n
  • #14: \n
  • #15: \n
  • #16: \n
  • #17: 1. UI operation\n2. Select objects\n3. Object grouping\n4. Window split/merge\n\n
  • #18: Wavefront OBJ is very common\nCollada is one of many interchange formats\nPOD = Plain Old Data\n\nConversion scripts\nImport from \n
  • #19: camera.mtl\ncamera.obj\n\ncamera.h\n\nobj2opengl\nCollada2POD\nCollada2PODGUI\n
  • #20: \n
  • #21: \n
  • #22: Demo App\n
  • #23: \n
  • #24: \n