Tips for game development: Graphics, Audio, Sensor bada Developer Day in Seoul Dec 08, 2010
|
|
- Shon Ellis
- 5 years ago
- Views:
Transcription
1 Tips for game development: Graphics, Audio, Sensor bada Developer Day in Seoul Dec 08, 2010 Copyright 2010 Samsung Electronics, Co., Ltd. All rights reserved
2 Contents Games in bada Audio tips Sensor tips 3D rendering tips Summary *This material is based on bada SDK
3 Games in bada Many games in Appstore Videos or live demos 3
4 bada features for games Input Output Sensors Weather Graphics Sound Face detection Service-centric Vibration Audio $2 $3 In-App purchasing Remote contents SNS Gateway 4
5 1 Audio tips
6 Two ways to play sound General-purpose audio/video playback Player AudioOut Multiple audio playback (max.: 10) Supports streaming* MP3, WMA, MIDI,.. Plays only PCM data *Streaming protocol: RTSP (API 1.0), HTTP (API 1.1) Multiple audio playback (max.: 64) Double buffering is possible 6
7 Player Step 1: Create a Player instance pplayer = new Player; pplayer->construct(*plistener); // IPlayerEventListener Step 2: Load a file and play it result r = pplayer->openfile(path); pplayer->play(); Step 3: Stop playing and close it pplayer->stop(); pplayer->close(); 7
8 AudioOut Step 1: Create an AudioOut instance pao = new AudioOut(); pao->construct(*plistener);// IAudioOutEventListener //Prepares the audio output device pao->prepare(audio_type_pcm_s16_le, AUDIO_CHANNEL_TYPE_MONO, SAMPLERATE); Step 2: Write PCM data // Fill buffer with PCM data pao->writebuffer(*poutbuffer); Step 3: Play the sound pao->start(); 8
9 AudioOut Step 4: Process events void EventListener::OnAudioOutBufferEndReached (Osp::Media::AudioOut &src) { //Write Next PCM data } Step 5: Stop the sound pao->stop(); //or Reset() 9
10 Audio tips Preferred PCM format Double buffering Sound mixing Handled by platform Handled by application Use the preferred PCM format to reduce the internal operations Field Values Channels Stereo Sample rate 44.1Khz Bit per sample 16-bit 10
11 Audio tips Preferred PCM format Double buffering Sound mixing Handled by platform Handled by application Reduce latency AudioOut Device Event: Buffer End Reached Application Buffer1 Buffer2 Buffer3 Step 1. Initialize AudioOut Step 2. Write a buffer two times Step 3. Start playback Step 4. Playback is ended Step 5. Event is fired Buffer2 is used by AudioOut Step 6. Write a new buffer 11
12 Audio tips Preferred PCM format Double buffering Sound mixing Handled by platform Handled by application Sound mixing Combine multiple sounds into one Sound mixing by application reduces the internal resource and event processing 12
13 Audio tips Preferred PCM format Double buffering Sound mixing Handled by platform Handled by application Headset Platform will change the sound path automatically* Incoming call Player and AudioOut are stopped by the platform** The application should resume them*** * Osp::System::DeviceManager ** IAudioOutEventListener::OnAudioOutInterrupted *** IAudioOutEventListener::OnAudioOutRelased 13
14 Audio tips Preferred PCM format Double buffering Sound mixing Handled by platform Handled by application Silent mode No event is fired Check the silent mode* Side volume key** Foreground/Background Stop the audio on background *Osp::System::SettingInfo **Osp::Ui::IKeyEventListener 14
15 2 Sensor tips
16 Sensor Sensors Type Acceleration sensor Magnetic sensor (compass) Proximity sensor Tilt sensor Properties x, y, z x, y, z 1 (on) or 0 (off) Azimuth, Pitch, Roll SensorManager Manages built-in sensors Polls sensors for data and delivers it to applications at specified intervals. 16
17 Getting sensor data Step 1: Create a SensorManager Osp::Uix::SensorManager sensormgr; sensormgr.construct(); Step 2: Add a listener sensormgr.getmaxinterval( SENSOR_TYPE_MAGNETIC, interval); sensormgr.addsensorlistener( *this, SENSOR_TYPE_MAGNETIC, interval, false); Step 3: Get sensor data from event-listener* Void OnDataReceived(SensorType sensortype, SensorData& sensordata, result r) { } * Event hander should return immediately, else event delay or event handling problem will occur 17
18 Multi-touch The number of points depends on the hardware 18
19 Multi-touch Step 1: Enable multi-touch Touch touch; touch.setmultipointenabled(*this, true); Step 2: Get multi-touch information Touch touch; IList* plist = null; plist = touch.gettouchinfolistn(source); if (plist) { for(int i = 0; i < plist->getcount(); i++ ) TouchInfo *ptouchinfo = static_cast<touchinfo *>(plist->getat(i)); plist->removeall(true); delete plist; } 19
20 3 3D rendering tips
21 3D rendering in bada bada supports OpenGL ES 1.1/ Fixed function hardware 2.0 Fully programmable 3D graphics EGL Manages contexts and drawing surfaces Timer-based rendering loop Rendering on every kind of controls 21
22 3D rendering in bada Timer-based rendering loop Step 1: Create a timer ptimer= new Timer; ptimer->construct(*this); ptimer->start(time_out); Step 2: Implement event listener class GlesCube11 : public Osp::Base::Runtime::ITimerEventListener void OnTimerExpired(Osp::Base::Runtime::Timer& timer); Step 3: Handle timer event void GlesCube11::OnTimerExpired(Timer& timer){ ptimer->start(time_out); Draw(); // draw something.. } 22
23 3D rendering in bada Initialize EGL bool GlesCube11::InitEGL() { EGLint numconfigs = 1; EGLint eglconfiglist[] = {/* */}; EGLint eglcontextlist[] = {/* */}; eglbindapi(egl_opengl_es_api); egldisplay = eglgetdisplay( (EGLNativeDisplayType)EGL_DEFAULT_DISPLAY); eglinitialize(egldisplay, null, null); eglchooseconfig(egldisplay, eglconfiglist, &eglconfig, 1, &numconfigs); eglsurface = eglcreatewindowsurface(egldisplay, eglconfig, (EGLNativeWindowType)pForm, null);... } 23
24 3D rendering in bada Checks OpenGLES version of device void Test1::CheckGLES(void) { String key(l"openglesversion"); String GLESVersion; } SystemInfo::GetValue(key,GLESVersion); AppLog("%ls", GLESVersion.GetPointer()); Result string Device Result Wave/Wave II 1.1/2.0 Wave525 24
25 3D accelerator of Wave/Wave II POWERVR SGX Unified Shader Architecture Load balancing Mostly identical capabilities of shaders Tile-based Deferred Rendering (TBDR) 25
26 3D accelerator of Wave/Wave II Related resources Visit 26
27 Tips for 3D rendering Texture Bitmaps are added to the surface of geometry Geometry Represents 3D object using geometric entities such as triangles, lines, and so on Shader Program to add special effects to 3D rendering 27
28 Texture tips Use texture atlas Use mipmap Load all textures on loading time Texture atlas Contains many sub images Use FBO instead of pbuffer Reduces the CPU overhead to load texture 28
29 Texture tips Use texture atlas Use mipmap Load all textures on loading time Mipmap Image set of different scales Use FBO instead of pbuffer Improves speed and quality Removes cache miss Removes aliasing 29
30 Texture tips Use texture atlas Use mipmap Load all textures on loading time Use FBO instead of pbuffer Reduces the frame-drops during run-time Loading texture has overhead 30
31 Texture tips Use texture atlas Use mipmap Load all textures on loading time Frame Buffer Object (FBO) For off-screen rendering Use FBO instead of pbuffer FBO is more efficient than pbuffer 31
32 Geometry tips Simplify geometry Order 3D geometry optimally Use VBO if possible You do not need a very complex model for mobile devices Use object culling 4M triangles 500 triangles 500 triangles + normal map 32
33 Geometry tips Simplify geometry Order 3D geometry optimally Traversal order of vertex data V1 V3 V5 Use VBO if possible Use object culling V0 V2 V4 V6 Interleaved attributes are better than separate arrays Interleaved attr.: Separate array: Position Normal Color 33
34 Geometry tips Simplify geometry Order 3D geometry optimally Use VBO if possible Vertex Buffer Object (VBO) Uploads data(vertex, normal..) to video device Use object culling Get more performance from driver and hardware optimization 34
35 Geometry tips Simplify geometry Order 3D geometry optimally Object culling Do not render invisible object Use VBO if possible Use object culling Viewpoint View Frustum Improve speed 35
36 Geometry tips Simplify geometry Order 3D geometry optimally Object culling Do not render invisible object Use VBO if possible Use object culling Viewpoint View Frustum Improve speed 36
37 Shader tips Prefer vertex shader to fragment shader Rendering pipeline Choose the appropriate precision Evaluator Vertex shader Rasterizati on Fragment shader Frame Buffer Vector and scalar operation Texture Memory Avoid discard operation Pixel Operations The number of vertex is much smaller than the number of fragment 37
38 Shader tips Prefer vertex shader to fragment shader Choose the appropriate precision Vector and scalar operation Avoid discard operation Consider the tradeoff between speed and quality highp: 32-bit Midiump: 16-bit Reduce the storage space Texture coordinate Lowp : 10-bit Color, normal.. 38
39 Shader tips Prefer vertex shader to fragment shader Choose the appropriate precision Vector and scalar operation Avoid discard operation Be careful with the order of vector and scalar operations highp vec4 v1, v2; highp float x, y; //Bad operation: 8 v2 = (v1 * x) * y; //Good operation: 5 v2 = v1 * (x * y); 39
40 Shader tips Prefer vertex shader to fragment shader Choose the appropriate precision discard operation is expensive Use alpha blend instead of discard Vector and scalar operation Avoid discard operation 40
41 4 Summary
42 Games in bada 42
43 We ve learned.. Audio tips Sensor tips 3D rendering tips Texture Geometry Shader bada games 43
44 Find out more.. Tutorial bada Tutorial.UI and Graphics.pdf bada Tutorial.UI Extension.pdf bada Tutorial.Media.pdf POWERVR SDK SGX 3D Application Recommendations 44
45 Thank you.
Contents. Canvas and Graphical shapes Drawing Font and Text Bitmaps and Buffer Example Animation 3D-Graphics Hardware Support
Graphics Contents Canvas and Graphical shapes Drawing Font and Text Bitmaps and Buffer Example Animation 3D-Graphics Hardware Support Introduction 2D and 3D graphics We will see how to use the canvas to
More informationReal - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský
Real - Time Rendering Pipeline optimization Michal Červeňanský Juraj Starinský Motivation Resolution 1600x1200, at 60 fps Hw power not enough Acceleration is still necessary 3.3.2010 2 Overview Application
More informationPowerVR Series5. Architecture Guide for Developers
Public Imagination Technologies PowerVR Series5 Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.
More informationWorking with Metal Overview
Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationOpenGL on Android. Lecture 7. Android and Low-level Optimizations Summer School. 27 July 2015
OpenGL on Android Lecture 7 Android and Low-level Optimizations Summer School 27 July 2015 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this
More informationOptimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June
Optimizing and Profiling Unity Games for Mobile Platforms Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June 1 Agenda Introduction ARM and the presenter Preliminary knowledge
More informationPowerVR Hardware. Architecture Overview for Developers
Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.
More informationMore frames per second. Alex Kan and Jean-François Roy GPU Software
More frames per second Alex Kan and Jean-François Roy GPU Software 2 OpenGL ES Analyzer Tuning the graphics pipeline Analyzer demo 3 Developer preview Jean-François Roy GPU Software Developer Technologies
More informationPowerVR Performance Recommendations. The Golden Rules
PowerVR Performance Recommendations Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution
More informationBuilding scalable 3D applications. Ville Miettinen Hybrid Graphics
Building scalable 3D applications Ville Miettinen Hybrid Graphics What s going to happen... (1/2) Mass market: 3D apps will become a huge success on low-end and mid-tier cell phones Retro-gaming New game
More informationProgramming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley
OpenGUES 2.0 Programming Guide Aaftab Munshi Dan Ginsburg Dave Shreiner TT r^addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid
More informationModule 13C: Using The 3D Graphics APIs OpenGL ES
Module 13C: Using The 3D Graphics APIs OpenGL ES BREW TM Developer Training Module Objectives See the steps involved in 3D rendering View the 3D graphics capabilities 2 1 3D Overview The 3D graphics library
More informationMali Developer Resources. Kevin Ho ARM Taiwan FAE
Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture
More informationGraphics Processing Unit Architecture (GPU Arch)
Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics
More informationPowerVR. Performance Recommendations
PowerVR Performance Recommendations Copyright Ltd. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty
More informationWhat was removed? (1) OpenGL ES vs. OpenGL
SLIDE 2 Outline What is? vs. OpenGL Profiles and versions EGL Surfaces on Windows CE and Symbian Implementations SLIDE 3 SLIDE 4 What is? Small-footprint subset of OpenGL OpenGL is too large for embedded
More informationGPGPU on Mobile Devices
GPGPU on Mobile Devices Introduction Addressing GPGPU for very mobile devices Tablets Smartphones Introduction Why dedicated GPUs in mobile devices? Gaming Physics simulation for realistic effects 3D-GUI
More informationPowerVR Performance Recommendations. The Golden Rules
PowerVR Performance Recommendations Copyright Imagination Technologies Limited. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied
More informationCompleting the Multimedia Architecture
Copyright Khronos Group, 2011 - Page 1 Completing the Multimedia Architecture Erik Noreke Chair of OpenSL ES Working Group Chair of OpenMAX AL Working Group Copyright Khronos Group, 2011 - Page 2 Today
More informationCourse Recap + 3D Graphics on Mobile GPUs
Lecture 18: Course Recap + 3D Graphics on Mobile GPUs Interactive Computer Graphics Q. What is a big concern in mobile computing? A. Power Two reasons to save power Run at higher performance for a fixed
More informationWhiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)
Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini
More informationProfiling and Debugging Games on Mobile Platforms
Profiling and Debugging Games on Mobile Platforms Lorenzo Dal Col Senior Software Engineer, Graphics Tools Gamelab 2013, Barcelona 26 th June 2013 Agenda Introduction to Performance Analysis with ARM DS-5
More informationMobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools
Mobile Performance Tools and GPU Performance Tuning Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools NVIDIA GoForce5500 Overview World-class 3D HW Geometry pipeline 16/32bpp
More informationPowerVR. Performance Recommendations
PowerVR Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution of this document is permitted
More informationGraphics Performance Optimisation. John Spitzer Director of European Developer Technology
Graphics Performance Optimisation John Spitzer Director of European Developer Technology Overview Understand the stages of the graphics pipeline Cherchez la bottleneck Once found, either eliminate or balance
More informationReal-Time Rendering (Echtzeitgraphik) Michael Wimmer
Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key
More informationRendering Objects. Need to transform all geometry then
Intro to OpenGL Rendering Objects Object has internal geometry (Model) Object relative to other objects (World) Object relative to camera (View) Object relative to screen (Projection) Need to transform
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationOptimizing Mobile Games with ARM. Solo Chang Staff Applications Engineer, ARM
Optimizing Mobile Games with ARM Solo Chang Staff Applications Engineer, ARM 1 ARM Ecosystem My first role in ARM was in Developer Relations Developers came to us to ask for help We couldn t share their
More informationThe Application Stage. The Game Loop, Resource Management and Renderer Design
1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data
More informationChapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions.
Appendix A Chapter Answers This appendix provides answers to all of the book s chapter review questions. Chapter 1 1. What was the original name for the first version of DirectX? B. Games SDK 2. Which
More informationCopyright Khronos Group, Page Graphic Remedy. All Rights Reserved
Avi Shapira Graphic Remedy Copyright Khronos Group, 2009 - Page 1 2004 2009 Graphic Remedy. All Rights Reserved Debugging and profiling 3D applications are both hard and time consuming tasks Companies
More informationPOWERVR MBX & SGX OpenVG Support and Resources
POWERVR MBX & SGX OpenVG Support and Resources Kristof Beets 3 rd Party Relations Manager - Imagination Technologies kristof.beets@imgtec.com Copyright Khronos Group, 2006 - Page 1 Copyright Khronos Group,
More informationDave Shreiner, ARM March 2009
4 th Annual Dave Shreiner, ARM March 2009 Copyright Khronos Group, 2009 - Page 1 Motivation - What s OpenGL ES, and what can it do for me? Overview - Lingo decoder - Overview of the OpenGL ES Pipeline
More informationCS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute
More informationModule Introduction. Content 15 pages 2 questions. Learning Time 25 minutes
Purpose The intent of this module is to introduce you to the multimedia features and functions of the i.mx31. You will learn about the Imagination PowerVR MBX- Lite hardware core, graphics rendering, video
More informationLecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013
Lecture 9: Deferred Shading Visual Computing Systems The course so far The real-time graphics pipeline abstraction Principle graphics abstractions Algorithms and modern high performance implementations
More informationSign up for crits! Announcments
Sign up for crits! Announcments Reading for Next Week FvD 16.1-16.3 local lighting models GL 5 lighting GL 9 (skim) texture mapping Modern Game Techniques CS248 Lecture Nov 13 Andrew Adams Overview The
More informationGeneral Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)
ME 290-R: General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing) Sara McMains Spring 2009 Performance: Bottlenecks Sources of bottlenecks CPU Transfer Processing Rasterizer
More informationARM. Mali GPU. OpenGL ES Application Optimization Guide. Version: 2.0. Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555B (ID051413)
ARM Mali GPU Version: 2.0 OpenGL ES Application Optimization Guide Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555B () ARM Mali GPU OpenGL ES Application Optimization Guide Copyright 2011,
More informationHardware-driven Visibility Culling Jeong Hyun Kim
Hardware-driven Visibility Culling Jeong Hyun Kim KAIST (Korea Advanced Institute of Science and Technology) Contents Introduction Background Clipping Culling Z-max (Z-min) Filter Programmable culling
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects
More informationCS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices Hearn, Baker, Carithers Raster Display Transmissive vs. Emissive Display anode
More informationOpenMAX AL, OpenSL ES
Copyright Khronos Group, 2011 - Page 1 OpenMAX AL, OpenSL ES Native Multimedia in Android Erik Noreke Chair of OpenMAX AL and OpenSL ES Working Groups Copyright Khronos Group, 2011 - Page 2 Why Create
More informationConverts geometric primitives into images Is split into several independent stages Those are usually executed concurrently
Rendering Pipeline Rendering Pipeline Converts geometric primitives into images Is split into several independent stages Those are usually executed concurrently Pipeline 18.10.2013 Steiner- Wallner- Podaras
More informationContents. Player Camera AudioIn, AudioOut Image & ImageUtil AudioRecorder VideoRecorder AudioDecoder/Encoder, VideoDecoder/Encoder
Media Contents Player Camera AudioIn, AudioOut Image & ImageUtil AudioRecorder VideoRecorder AudioDecoder/Encoder, VideoDecoder/Encoder 2 Introduction The Media namespace contains classes and interfaces
More informationARM. Mali GPU. OpenGL ES Application Optimization Guide. Version: 3.0. Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555C (ID102813)
ARM Mali GPU Version: 3.0 OpenGL ES Application Optimization Guide Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555C () ARM Mali GPU OpenGL ES Application Optimization Guide Copyright 2011,
More informationAndroid and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg
Android and OpenGL Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 1. Februar 2016 Outline 1 OpenGL Introduction 2 Displaying Graphics 3 Interaction 4
More informationOpenGL with Qt 5. Qt Developer Days, Berlin Presented by Sean Harmer. Produced by Klarälvdalens Datakonsult AB
Qt Developer Days, Berlin 2012 Presented by Sean Harmer Produced by Klarälvdalens Datakonsult AB Material based on Qt 5.0, created on November 9, 2012 QtQuick 2 and OpenGL The Future Module: 2/18 QtQuick
More informationSpring 2011 Prof. Hyesoon Kim
Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationPractical Texturing (WebGL) CS559 Fall 2016 Lecture 20 November 7th 2016
Practical Texturing (WebGL) CS559 Fall 2016 Lecture 20 November 7th 2016 In brief Starting with a simple model In brief Caveat : Issues with sampling & aliasing associate texture coordinates with primitives
More informationMobile Application Programing: Android. OpenGL Operation
Mobile Application Programing: Android OpenGL Operation Activities Apps are composed of activities Activities are self-contained tasks made up of one screen-full of information Activities start one another
More informationIntroduction to OpenGL ES 3.0
Introduction to OpenGL ES 3.0 Eisaku Ohbuchi Digital Media Professionals Inc. 2012 Digital Media Professionals Inc. All rights reserved. 12/Sep/2012 Page 1 Agenda DMP overview (quick!) OpenGL ES 3.0 update
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL II)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL II) Media Playback Engine Android provides a media playback engine at the native level called Stagefright that comes built-in with software-based
More informationVulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics.
Vulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics www.imgtec.com Introduction Who am I? Kevin Sun Working at Imagination Technologies
More informationUnderstanding Shaders and WebGL. Chris Dalton & Olli Etuaho
Understanding Shaders and WebGL Chris Dalton & Olli Etuaho Agenda Introduction: Accessible shader development with WebGL Understanding WebGL shader execution: from JS to GPU Common shader bugs Accessible
More informationGraphics Programming. Computer Graphics, VT 2016 Lecture 2, Chapter 2. Fredrik Nysjö Centre for Image analysis Uppsala University
Graphics Programming Computer Graphics, VT 2016 Lecture 2, Chapter 2 Fredrik Nysjö Centre for Image analysis Uppsala University Graphics programming Typically deals with How to define a 3D scene with a
More informationHardware-driven visibility culling
Hardware-driven visibility culling I. Introduction 20073114 김정현 The goal of the 3D graphics is to generate a realistic and accurate 3D image. To achieve this, it needs to process not only large amount
More informationOptimization Tips 杜博, 美国高通公司资深工程师
Optimization Tips 杜博, 美国高通公司资深工程师 Rendering Optimizations 1. Render fewer pixels 2. Reduce Draw Calls 3. Reduce Bandwidth Usage 4. Optimize Frame Buffer Object usage 5. Optimize Vertex Buffer Object usage
More informationCopyright Khronos Group Page 1
Gaming Market Briefing Overview of APIs GDC March 2016 Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem ntrevett@nvidia.com @neilt3d Copyright Khronos Group 2016 - Page 1 Copyright
More informationBaback Elmieh, Software Lead James Ritts, Profiler Lead Qualcomm Incorporated Advanced Content Group
Introduction ti to Adreno Tools Baback Elmieh, Software Lead James Ritts, Profiler Lead Qualcomm Incorporated Advanced Content Group Qualcomm HW Accelerated 3D: Adreno Moving content-quality forward requires
More informationGeForce4. John Montrym Henry Moreton
GeForce4 John Montrym Henry Moreton 1 Architectural Drivers Programmability Parallelism Memory bandwidth 2 Recent History: GeForce 1&2 First integrated geometry engine & 4 pixels/clk Fixed-function transform,
More informationCS4620/5620: Lecture 14 Pipeline
CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine
More informationCS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Lecture 2: Graphics Pipeline Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices - raster displays show images as a rectangular array
More informationLecture 5 Vertex and Fragment Shaders-1. CITS3003 Graphics & Animation
Lecture 5 Vertex and Fragment Shaders-1 CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives The rendering pipeline and the shaders Data
More informationPROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd.
PROFESSIONAL WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB Andreas Anyuru WILEY John Wiley & Sons, Ltd. INTRODUCTION xxl CHAPTER 1: INTRODUCING WEBGL 1 The Basics of WebGL 1 So Why Is WebGL So Great?
More informationProgramming Graphics Hardware
Tutorial 5 Programming Graphics Hardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 9:30 10:15 10:45 Introduction to the Hardware Graphics Pipeline
More informationAchieving Console Quality Games on Mobile
Achieving Console Quality Games on Mobile Peter Harris, Senior Principal Engineer, ARM Unai Landa, CTO, Digital Legends Jon Kirkham, Staff Engineer, ARM GDC 2017 Agenda Premium smartphone in 2017 ARM Cortex
More informationBest practices for effective OpenGL programming. Dan Omachi OpenGL Development Engineer
Best practices for effective OpenGL programming Dan Omachi OpenGL Development Engineer 2 What Is OpenGL? 3 OpenGL is a software interface to graphics hardware - OpenGL Specification 4 GPU accelerates rendering
More informationOUTLINE. Implementing Texturing What Can Go Wrong and How to Fix It Mipmapping Filtering Perspective Correction
TEXTURE MAPPING 1 OUTLINE Implementing Texturing What Can Go Wrong and How to Fix It Mipmapping Filtering Perspective Correction 2 BASIC STRAGEGY Three steps to applying a texture 1. specify the texture
More informationGetting fancy with texture mapping (Part 2) CS559 Spring Apr 2017
Getting fancy with texture mapping (Part 2) CS559 Spring 2017 6 Apr 2017 Review Skyboxes as backdrops Credits : Flipmode 3D Review Reflection maps Credits : NVidia Review Decal textures Credits : andreucabre.com
More informationX. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1
X. GPU Programming 320491: Advanced Graphics - Chapter X 1 X.1 GPU Architecture 320491: Advanced Graphics - Chapter X 2 GPU Graphics Processing Unit Parallelized SIMD Architecture 112 processing cores
More informationLPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014)
A practitioner s view of challenges faced with power and performance on mobile GPU Prashant Sharma Samsung R&D Institute UK LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014) SERI
More informationUnderstanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead
Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Introduction M3G 1.x Recap ARM M3G Integration M3G 2.0 Update
More informationPowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK. PowerVR Developer Technology
PowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK PowerVR Developer Technology Company Overview Leading silicon, software & cloud IP supplier Graphics, video, comms, processor, cloud
More informationCPSC 436D Video Game Programming
CPSC 436D Video Game Programming OpenGL/Shaders Opengl RENDERING PIPELINE Copyright: Alla Sheffer 1 Opengl RENDERING PIPELINE C/C++ OpenGL GLSL (automatic) (automatic) GLSL (automatic) opengl Low-level
More informationWebGL: Hands On. DevCon5 NYC Kenneth Russell Software Engineer, Google, Inc. Chair, WebGL Working Group
WebGL: Hands On DevCon5 NYC 2011 Kenneth Russell Software Engineer, Google, Inc. Chair, WebGL Working Group Today's Agenda Introduce WebGL and its programming model. Show code for a complete example. Demonstrate
More informationRender-To-Texture Caching. D. Sim Dietrich Jr.
Render-To-Texture Caching D. Sim Dietrich Jr. What is Render-To-Texture Caching? Pixel shaders are becoming more complex and expensive Per-pixel shadows Dynamic Normal Maps Bullet holes Water simulation
More informationARM Multimedia IP: working together to drive down system power and bandwidth
ARM Multimedia IP: working together to drive down system power and bandwidth Speaker: Robert Kong ARM China FAE Author: Sean Ellis ARM Architect 1 Agenda System power overview Bandwidth, bandwidth, bandwidth!
More informationBringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games
Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming
More informationOpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.
OpenGL ES 2.0 : Start Developing Now Dan Ginsburg Advanced Micro Devices, Inc. Agenda OpenGL ES 2.0 Brief Overview Tools OpenGL ES 2.0 Emulator RenderMonkey w/ OES 2.0 Support OpenGL ES 2.0 3D Engine Case
More informationGeForce3 OpenGL Performance. John Spitzer
GeForce3 OpenGL Performance John Spitzer GeForce3 OpenGL Performance John Spitzer Manager, OpenGL Applications Engineering jspitzer@nvidia.com Possible Performance Bottlenecks They mirror the OpenGL pipeline
More informationBringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse
Bringing it all together: The challenge in delivering a complete graphics system architecture Chris Porthouse System Integration & the role of standards Content Ecosystem Java Execution Environment Native
More informationOptimizing Mobile Games with Gameloft and ARM
Optimizing Mobile Games with Gameloft and ARM Stacy Smith Senior Software Engineer, ARM Adrian Voinea World Android Technical Lead, Gameloft Victor Bernot Lead Visual Effects Developer, Gameloft 1 ARM
More informationAdvanced Deferred Rendering Techniques. NCCA, Thesis Portfolio Peter Smith
Advanced Deferred Rendering Techniques NCCA, Thesis Portfolio Peter Smith August 2011 Abstract The following paper catalogues the improvements made to a Deferred Renderer created for an earlier NCCA project.
More informationShaders. Slide credit to Prof. Zwicker
Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?
More informationPERFORMANCE OPTIMIZATIONS FOR AUTOMOTIVE SOFTWARE
April 4-7, 2016 Silicon Valley PERFORMANCE OPTIMIZATIONS FOR AUTOMOTIVE SOFTWARE Pradeep Chandrahasshenoy, Automotive Solutions Architect, NVIDIA Stefan Schoenefeld, ProViz DevTech, NVIDIA 4 th April 2016
More informationEngine Development & Support Team Lead for Korea UE4 Mobile Team Lead
Jack Porter Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead I ve worked on Unreal Engine development since 1998! Contributed to Unreal Tournament & Gears of War series Introduction
More informationParallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)
Lecture 2: Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Visual Computing Systems Today Finishing up from last time Brief discussion of graphics workload metrics
More informationRendering Grass with Instancing in DirectX* 10
Rendering Grass with Instancing in DirectX* 10 By Anu Kalra Because of the geometric complexity, rendering realistic grass in real-time is difficult, especially on consumer graphics hardware. This article
More informationIntroduction to OpenGL ES 3.0
Chapter 1 Introduction to OpenGL ES 3.0 OpenGL for Embedded Systems (OpenGL ES) is an application programming interface (API) for advanced 3D graphics targeted at handheld and embedded devices. OpenGL
More informationDEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/
DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/2013-11-04 DEFERRED RENDERING? CONTENTS 1. The traditional approach: Forward rendering 2. Deferred rendering (DR) overview 3. Example uses of DR:
More informationMobile graphics API Overview
Mobile graphics API Overview Michael Doggett Department of Computer Science Lund University 2009 Michael Doggett and Tomas Akenine-Möller 1 Register Please check to see if your name is on the list, if
More information3.01C Multimedia Elements and Guidelines Explore multimedia systems, elements and presentations.
3.01C Multimedia Elements and Guidelines 3.01 Explore multimedia systems, elements and presentations. Multimedia Fair Use Guidelines Guidelines for using copyrighted multimedia elements include: Text Motion
More informationBringing Large Scale Console Games to ios:
Bringing Large Scale Console Games to ios: A Technical Overview of Adaptation Stéphane Khalil Jacoby CTO / Co-Founder @ The Bard s Tale: A little history The Bard s Tale: October 2004 The Bard s Tale:
More informationMobile Application Programing: Android. OpenGL Operation
Mobile Application Programing: Android OpenGL Operation Activities Apps are composed of activities Activities are self-contained tasks made up of one screen-full of information Activities start one another
More informationWe assume that you are familiar with the following:
We will use WebGL 1.0. WebGL 2.0 is now being supported by most browsers but requires a better GPU so may not run on older computers or on most cell phones and tablets. See http://webglstats.com/. We will
More informationthe gamedesigninitiative at cornell university Lecture 15 Game Audio
Lecture 15 The Role of Audio in Games Engagement Entertains player Music/Soundtrack Enhances realism Sound effects Establishes atmosphere Ambient sounds Or reasons? 2 The Role of Audio in Games Feedback
More informationVR Rendering Improvements Featuring Autodesk VRED
GPU Technology Conference 2017 VR Rendering Improvements Featuring Autodesk VRED Michael Nikelsky Sr. Principal Engineer, Autodesk Ingo Esser Sr. Engineer, Developer Technology, NVIDIA 2017 Autodesk AGENDA
More informationShader Programming 1. Examples. Vertex displacement mapping. Daniel Wesslén 1. Post-processing, animated procedural textures
Shader Programming 1 Examples Daniel Wesslén, dwn@hig.se Per-pixel lighting Texture convolution filtering Post-processing, animated procedural textures Vertex displacement mapping Daniel Wesslén 1 Fragment
More information