Advanced Graphics Algorithms Ying Zhu Georgia State University

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

G30™ A 3D graphics accelerator for mobile devices Petri Nordlund CTO, Bitboys Oy.
OpenGL ES Developer Focus Brian Bruning, Director DevRel Updated: August 31st, 2004.
Cosc 5/4730 OpenGL ES An introduction. OpenGL ES GL was first developed by SGI as a priority graphics language – OpenGL was developed initially by SGI.
Fast rendering of 2D applications with text and images Combines the power of DirectX and the convenience of.NET Adopted by most triple-A titles.
Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.
The Graphics Pipeline CS2150 Anthony Jones. Introduction What is this lecture about? – The graphics pipeline as a whole – With examples from the video.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Computer Graphics Introducing DirectX
© Copyright Khronos Group, Page 1 The State of the Union Update from the Working Group Chair Tom Olson, Texas Instruments Inc.
What is ? Open Graphics Library A cross-language, multi-platform API for rendering 2D and 3D computer graphics. The API is used to interact with a Graphics.
Week II Platforms and Engines. Overview Platforms and Engines Tools and SDKs Netbeans Game Development Walkthrough
Embedded Systems Mohammad A. Gowayyed (c) 2012 Mohammad A. Gowayyed1.
OpenGL Shading Language (Advanced Computer Graphics) Ernest Tatum.
3D API By Clayton Azzopardi (Group 10). Introduction Android uses the OpenGL ES 1.0 API Android uses the OpenGL ES 1.0 API Open Graphics Library for Embedded.
1 ETC. 2 Sounds FX Sounds FX –WAV audio files –Load into memory and play it »Load »Play »Stop »Pause –2D or 3D »3D should be integrated into scene management.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Accelerating image recognition on mobile devices using GPGPU
CS 480/680 Intro Dr. Frederick C Harris, Jr. Fall 2014.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
Review of OpenGL Basics
1 Contents  Audio  Sprite  Input devices  Game production milestones  Course summary.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Development of a Software Renderer for utilizing 3D Contents on a 2D-based Mobile System Sungkwan Kang 1, Joonseub Cha 2, Jimin Lee 1 and Jongan Park 1,
Computer Graphics IN5I11 Nabil H. Mustafa
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
What are Computer Graphics Basically anything that is on you Monitor – This includes the text that you will see Text isn’t Advanced Graphics But…. Understanding.
1 Get All Answers Get All Answers. Contents History of Android Android Fragmentation The Role of Google Features and Architecture Android Software Development.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
What is DirectX? DirectX is built by Microsoft as a collection of API’s (Application Programming Interfaces) for the purpose of multimedia processing.
What is Computer Graphics?
Ying Zhu Georgia State University
Chapter 1 An overview on Computer Graphics
Mobile Operating System
Chapter 1 An overview on Computer Graphics
Graphics Processing Unit
Introduction to OpenGL
Contents: Introduction Different Mobile Operating Systems
The Graphics Rendering Pipeline
Understanding Theory and application of 3D
Real-time Computer Graphics Overview
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Overview Course Overview Course Webpage Administrative issues
Graphics Processing Unit
Introduction to Computer Graphics
Introduction to Computer Graphics
Models and Architectures
Chapter I Introduction
Models and Architectures
RADEON™ 9700 Architecture and 3D Performance
© 2012 Elsevier, Inc. All rights reserved.
Introduction to spagetti and meatballs
Introduction to OpenGL
Computer Graphics Introducing DirectX
OpenGL-Rendering Pipeline
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Advanced Graphics Algorithms Ying Zhu Georgia State University 3D Graphics on Mobile Devices

Applications Games Map visualization and navigation User interface Animated message Screen savers

The challenges The challenges of developing 3D graphics content for mobile devices Battery power Heat management (no room for fans) Small, low resolution displays CPU Memory Slow system bus Download size limits Input devices Sound

The challenges The challenges of developing 3D graphics content for mobile devices (continued) No floating point hardware No integer divide hardware Multi-tasking (phone calls, texting, etc.) Device fragmentation (different operating systems, different graphics chips, different architectures, different input devices)

3D graphics APIs for mobile devices Image courtesy of “Mobile Graphics” course at ACM SIGGRAPH 2007

OpenGL ES “OpenGL® ES is a low-level, lightweight API for advanced embedded graphics using well-defined subset profiles of OpenGL.” “It provides a low-level applications programming interface (API) between software applications and hardware or software graphics engines.”

OpenGL ES OpenGL ES is subset of OpenGL specification Eliminated functions that are not suitable for mobile devices Lightweight and low footprint

OpenGL ES and OpenGL Not in OpenGL ES Kept in OpenGL ES 1.0 and 1.1 glBegin() and glEnd() Vertex array Polygons and quads Points, lines, triangles GLU functions Most of the lighting related functions Display lists, accumulation buffer 3D texture mapping, cube mapping 2D texture mapping, multitexturing, texture filter glPushMatrix() and glPopMatrix() Transformations DrawPixels, PolygonMode, polygon stipple, anti-aliased polygon rendering, etc. Vertex buffer objects, etc.

OpenGL ES OpenGL ES pipelines http://people.csail.mit.edu/kapu/siggraph_2007/mob3D_SG07.pdf

OpenGL ES 2.0 Released in 2007 Replaced the fixed function pipeline with programmable shaders Transformation and lighting functions are replaced by shaders OpenGL ES 2.0 is not backward compatible with OpenGL ES 1.1

OpenGL ES 2.0

OpenGL ES 2.0

Software implementation Reference implementation http://www.khronos.org/opengles/documentation/gles-1.0c.tgz

Hardware implementation Nvidia Sony PSP AMD ARM Toshiba Mitsubishi and more …

OpenGL ES usage OpenGL ES 1.0 OpenGL ES 1.1 OpenGL ES 2.0 Official 3D graphics API for Symbian, Android, and Playstation 3 OpenGL ES 1.1 3D library for iPhone SDK OpenGL ES 2.0 3D library for Pandora console

Mobile 3D Graphics API (M3G) M3G is an optional API for Java ME The commonly used version is JSR-184 The latest version is JSR-297 Can be implemented on top of OpenGL ES M3G for Java ME is defined in package javax.microedition.m3g Can be quite slow compared with OpenGL ES or Mascot Capsule applications

M3G M3G is a scene graph based API E.g. objects and transformations are organized in a tree hierarchical structure A high level API (e.g. supports hierarchical transformation and animation)

M3G Defines a scene graph structure World (the root) Node Object3D Camera Group Light Mesh SinnedMesh Sprite3D MorphingMesh

M3G Defines a file format for managing and deploying 3D content Provides a Loader class to download and deserialize graph nodes and node components, as well as entire scene graphs 

M3G Graphics3D A singleton 3D graphics context that can be bound to a rendering target. All rendering is done through the render() methods in this class. The most important class

M3G Other features supported by M3G VertexArray Transform Material Texture2D RayIntersection Fog AnimationController AnimationTrack KeyframeSequence

Development tools NetBeans Mobility EclipseME And many other tools … http://mobility.netbeans.org/ EclipseME http://sourceforge.net/project/showfiles.php?group_id=86829 And many other tools …

Other mobile graphics APIs Mascot Capsule A real-time 3D rendering engine for mobile devices Emphasis on performance (faster than M3G) Used mostly in Japan http://www.mascotcapsule.com/en/index.php Windows Mobile DirectX and Direct3D http://msdn.microsoft.com/en-us/library/ms172504.aspx

Resources ACM SIGGRAPH 2007 course “The Mobile 3D Ecosystem” http://people.csail.mit.edu/kapu/siggraph_2007/ IEEE Computer Graphics and Applications, Vol. 28, No. 4, 2008 special issue on Mobile Graphics “Mobile Computer Graphics” course at Lund University, Sweden http://www.cs.lth.se/EDA075/

Resources OpenGL ES Mobile 3D Graphics API (M3G) http://www.khronos.org/opengles/ Mobile 3D Graphics API (M3G) JSR 184 (http://www.jcp.org/en/jsr/detail?id=184) JSR 297 (http://www.jcp.org/en/jsr/detail?id=297) Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, Jani Vaarala: Mobile 3D Graphics with OpenGL ES and M3G, Morgan Kaufmann, 2007