Programming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley
|
|
- Jonah Owen
- 6 years ago
- Views:
Transcription
1 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 Capetown Sydney Tokyo Singapore Mexico City
2 List of Figures List of Examples List of Tables Foreword Preface Intended Audience Organization of the Book Example Code and Shaders Errata Acknowledgments About the Authors xiii xv...xix xxi xxiii xxiii xxiv xxviii xxviii xxix xxxi 1. Introduction to OpenGL ES What Is OpenGL ES? 1 OpenGL ES Vertex Shader 4 Primitive Assembly 6 Rasterization 7 Fragment Shader 7 Per-Fragment Operations 9
3 OpenGL ES 2.0 and OpenGL ES 1.x Backward Compatibility 11 EGL 12 Programming with OpenGL ES Libraries and Include Files 13 EGL Command Syntax 14 OpenGL ES Command Syntax 14 Error Handling 15 Flush and Finish 16 Basic State Management 17 Further Reading Hello Triangle: An OpenGL ES 2.0 Example 19 Code Framework 20 Where to Download the Examples 20 Hello Triangle Example 21 Building and Running the Examples 25 Using the OpenGL ES 2.0 Framework 26 Creating a Simple Vertex and Fragment Shader 27 Compiling and Loading the Shaders 29 Creating a Program Object and Linking the Shaders : 30 Setting the Viewport and Clearing the Color Buffer 32 Loading the Geometry and Drawing a Primitive 33 Displaying the Back Buffer An Introduction to EGL 35 Communicating with the Windowing System 36 Checking for Errors 37 Initializing EGL 37 Determining the Available Surface Configurations 38 Querying EGLConfig Attributes 39 Letting EGL Choose the Config 39 Creating an On-Screen Rendering Area: The EGL Window 43 Creating an Off-Screen Rendering Area: EGL Pbuffers 46 Creating a Rendering Context 50 Making an EGLContext Current 52 Putting All Our EGL Knowledge Together 52 Synchronizing Rendering 54 vi
4 4. Shaders and Programs 57 Shaders and Programs 57 Creating and Compiling a Shader 58 Creating and Linking a Program 62 Uniforms and Attributes 67 Getting and Setting Uniforms 67 Getting and Setting Attributes 72 Shader Compiler and Shader Binaries OpenGL ES Shading Language 77 OpenGL ES Shading Language Basics 78 Variables and Variable Types 78 Variable Constructors, 79 Vector and Matrix Components 81 Constants 82 Structures 82 Arrays 83 Operators 84 Functions.85 Built-in Functions 86 Control Flow Statements 87 Uniforms Attributes 89 Varyings 90 Preprocessor and Directives 92 Uniform and Varying Packing 94 Precision Qualifiers 96 Invariance Vertex Attributes, Vertex Arrays, and Buffer Objects 101 Specifying Vertex Attribute Data 102 Constant Vertex Attribute 102 Vertex Arrays 103 Declaring Vertex Attribute Variables in a Vertex Shader 110 Binding Vertex Attributes to Attribute Variables in a Vertex Shader 113 vii
5 Vertex Buffer Objects 115 Mapping Buffer Objects 124 Performance Tip Primitive Assembly and Rasterization 127 Primitives 127 Triangles 128 Lines 129 Point Sprites 130 Drawing Primitives 131 Performance Tips 134 Primitive Assembly 136 Coordinate Systems 137 Clipping 138 Perspective Division 139 Viewport Transformation 140 Rasterization 141 Culling 142 Polygon Offset Vertex Shaders 147 Vertex Shader Overview 148 Vertex Shader Built-in Variables 149 Precision Qualifiers : 152 ES 2.0 Vertex Shader Limitations 152 Vertex Shader Examples 159 A Simple Vertex Shader 160 Lighting in a Vertex Shader 160 Generating Texture Coordinates 167 Vertex Skinning 168 OpenGL ES 1.1 Vertex Pipeline as an ES 2.0 Vertex Shader Texturing 181 Texturing Basics 181 2D Textures 182 Cubemap Textures 183 viii
6 Texture Objects and Loading Textures 184 Texture Filtering and Mipmapping 188 Automatic Mipmap Generation 193 Texture Coordinate Wrapping 194 Using Textures in the Fragment Shader 196 Example of Using a Cubemap Texture 198 Compressed Textures 201 Texture Subimage Specification 202 Copying Texture Data from the Color Buffer 204 Optional Extensions 207 3D Textures 207 Ericsson Texture Compression (ETC) 213 Floating-Point Textures Non-Power-of-Two Textures Fragment Shaders 215 Fixed Function Fragment Shaders 216 Fragment Shader Overview 218 Built-in Special Variables 219 Built-in Constants 220 Precision Qualifiers 221 ES 2.0 Fragment Shader Limitations 221 Implementing Fixed Function Techniques Using Shaders 222 Multitexturing 222 Fog, 224. Alpha Test (Using Discard) 227 User Clip Planes Fragment Operations 233 Buffers 234 Requesting Additional Buffers 235 Clearing Buffers 235 Using Masks to Control Writing to Framebuffers 236 Fragment Tests and Operations 238 Using the Scissor Test 239 Stencil Buffer Testing 240 ix
7 Depth Buffer Testing 245 Blending 246 Dithering 249 Multisampled Antialiasing 249 Reading and Writing Pixels to the Framebuffer Framebuffer Objects 253 Why Framebuffer Objects? 253 Framebuffer and Renderbuffer Objects 255 Choosing a Renderbuffer Versus a Texture as a Framebuffer Attachment 256 Framebuffer Objects Versus EGL Surfaces 257 Creating Framebuffer and Renderbuffer Objects 258 Using Renderbuffer Objects 259 Using Framebuffer Objects 262 Attaching a Renderbuffer as a Framebuffer Attachment 263 Attaching a 2D Texture as a Framebuffer Attachment 264 Attaching an Image of a 3D Texture as a Framebuffer Attachment 266 Checking for Framebuffer Completeness 267 Deleting Framebuffer and Renderbuffer Objects 269 Deleting Renderbuffer Objects That Are Used as Framebuffer Attachments 270 Reading Pixels and Framebuffer Objects 270 Examples 271 Performance Tips and Tricks Advanced Programming with OpenGL ES Per-Fragment Lighting 279 Lighting with a Normal Map 280 Lighting Shaders 281 Lighting Equations 285 Environment Mapping 286 Particle System with Point Sprites 290 Particle System Setup 290 Particle System Vertex Shader 291 Particle System Fragment Shader 293
8 Image Postprocessing : 296 Render-to-Texture Setup 297 Blur Fragment Shader 297 Light Bloom 298 Projective Texturing 300 Projective Texturing Basics 301 Matrices for Projective Texturing 303 Projective Spotlight Shaders. 304 Noise Using a 3D Texture 307 Generating Noise 308 Using Noise 313 Procedural Texturing '. 315 A Procedural Texture Example 316 Antialiasing of Procedural Textures 319 Further Reading on Procedural Textures State Queries 323 OpenGL ES 2.0 Implementation String Queries 323 Querying Implementation-Dependent Limits 324 Querying OpenGL ES State 327 Hints.'. 330 Entity Name Queries 331 Nonprogrammable Operations Control and Queries 332 Shader and Program State Queries 333 Vertex Attribute Queries 335 Texture State Queries 336 Vertex Buffer Queries 337 Renderbuffer and Framebuffer State Queries OpenGL ES and EGL on Handheld Platforms 339 Handheld Platforms Overview 339 Online Resources 340 C++Portability 341 OpenKODE 343 Platform-Specific Shader Binaries 350 Targeting Extensions 351 xi
9 A. GL_HALF_FLOAT_OES Bit Floating-Point Number 354 Converting Float to Half-Float 355 B. Built-in Functions 357 Angle and Trigonometry Functions 358 Exponential Functions 360 Common Functions 361 Geometric Functions 364 Matrix Functions 366 Vector Relational Functions 367 Texture Lookup Functions 369 Derivative Functions 371 C. Shading Language Grammar 375 D. ES Framework API 385 Framework Core Functions 385 Transformation Functions 390 E. OpenGL ES 2.0 on the iphone 3GS 395 Getting Started with the iphone SDK Getting the Sample Code for the iphone 396 Building the Sample Code Using Xcode 397 Porting the Sample Code to the iphone 399 Objective C 399 Creating an OpenGL ES 2.0 Rendering Surface 400 Using a Framebuffer Object for Rendering 401 Discussion of a Complete Example 401 EAGLView.h Header File 401 EAGLView.m Source File 403 Transitioning from OpenGL ES 1.1 to OpenGL ES Conclusion 412 Index 413 xii
OpenGL SUPERBIBLE. Fifth Edition. Comprehensive Tutorial and Reference. Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak
OpenGL SUPERBIBLE Fifth Edition Comprehensive Tutorial and Reference Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San
More informationOpenGL. Shading Language. Third Edition
OpenGL Shading Language Third Edition OpenGL* Shading Language Third Edition Randi J. Rost Bill Licea-Kane With contributions by Dan Ginsburg, John M. Kessenich, Barthold Lichtenbelt, Hugh Malan, and Mike
More informationOpenGL ES 2.0. Programming Guide
OpenGL ES 2.0 Programming Guide This page intentionally left blank OpenGL ES 2.0 Programming Guide Aaftab Munshi Dan Ginsburg Dave Shreiner Upper Saddle River, NJ Boston Indianapolis San Francisco New
More informationE.Order of Operations
Appendix E E.Order of Operations This book describes all the performed between initial specification of vertices and final writing of fragments into the framebuffer. The chapters of this book are arranged
More informationThe Unified Modeling Language User Guide
The Unified Modeling Language User Guide Grady Booch James Rumbaugh Ivar Jacobson Rational Software Corporation TT ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid
More informationFree Downloads OpenGL ES 3.0 Programming Guide
Free Downloads OpenGL ES 3.0 Programming Guide OpenGLÂ Â ESâ is the industryâ s leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices.
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 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 informationLecture 2. Shaders, GLSL and GPGPU
Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders
More informationSQL Queries. for. Mere Mortals. Third Edition. A Hands-On Guide to Data Manipulation in SQL. John L. Viescas Michael J. Hernandez
SQL Queries for Mere Mortals Third Edition A Hands-On Guide to Data Manipulation in SQL John L. Viescas Michael J. Hernandez r A TT TAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco
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 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 information\ Smart Client 0" Deploymentwith v^ ClickOnce
\ Smart Client 0" Deploymentwith v^ ClickOnce Deploying Windows Forms Applications with ClickOnce Brian Noyes TT fr Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics James D. Foley Georgia Institute of Technology Andries van Dam Brown University Steven K. Feiner Columbia University John F. Hughes Brown University Richard L. Phillips
More informationProgramming in Python 3
Programming in Python 3 A Complete Introduction to the Python Language Mark Summerfield.4.Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich
More information1.2.3 The Graphics Hardware Pipeline
Figure 1-3. The Graphics Hardware Pipeline 1.2.3 The Graphics Hardware Pipeline A pipeline is a sequence of stages operating in parallel and in a fixed order. Each stage receives its input from the prior
More informationMariaDB Crash Course. A Addison-Wesley. Ben Forta. Upper Saddle River, NJ Boston. Indianapolis. Singapore Mexico City. Cape Town Sydney.
MariaDB Crash Course Ben Forta A Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney Tokyo Singapore Mexico City
More informationApplication Programming
Multicore Application Programming For Windows, Linux, and Oracle Solaris Darryl Gove AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris
More informationIntroduction to the OpenGL Shading Language
Introduction to the OpenGL Shading Language Randi Rost Director of Developer Relations, 3Dlabs 08-Dec-2005 1 Why use graphics programmability? Graphics hardware has changed radically Fixed functionality
More informationECLIPSE RICH CLIENT PLATFORM
ECLIPSE RICH CLIENT PLATFORM DESIGNING, CODING, AND PACKAGING JAVA TM APPLICATIONS Jeff McAffer Jean-Michel Lemieux v:addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto
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 informationEvolution of GPUs Chris Seitz
Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing
More informationReal - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský
Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation
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 informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
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 informationRasterization Overview
Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer
More informationQuality Code. Software Testing Principles, Practices, and Patterns. Stephen Vance. AAddison-Wesley
Quality Code Software Testing Principles, Practices, and Patterns Stephen Vance AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationCloud Computing and SOA Convergence in Your Enterprise
Cloud Computing and SOA Convergence in Your Enterprise A Step-by-Step Guide David S. Lint hicum A Addison-Wesley Upper Saddle River, NT Boston Indianapolis San Francisco New York Toronto Montreal London
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 informationHE COMPLETE OPENGL PROGI FOR WINDOW WIND
HE COMPLETE OPENGL PROGI FOR WINDOW WIND WAITC GROUP PRESS. A Division of Sams Publishing Corte Madera CA Table of Contents FOREWORD xxii INTRODUCTION xxiii PART I: INTRODUCTION TO OPENGL 1 CHAPTER 1:
More informationGraphics Shaders. Theory and Practice. Second Edition. Mike Bailey. Steve Cunningham. CRC Press. Taylor&FnincIs Croup tootutor London New York
Graphics Shaders Second Edition ' -i'nsst«i«{r szizt/siss?.aai^m&/gm^mmm3$8iw3ii Theory and Practice Mike Bailey Steve Cunningham CRC Press Taylor&FnincIs Croup tootutor London New York CRCPrea it an Imprint
More informationDigital System Design with SystemVerilog
Digital System Design with SystemVerilog Mark Zwolinski AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo
More informationOpenGL Essentials Training
OpenGL Essentials Training 3-day session Overview Understanding principles of 3D programming Understanding drawing Primitives Understanding transformation matrix and Coloring Understanding Blending and
More informationEngineering Real- Time Applications with Wild Magic
3D GAME ENGINE ARCHITECTURE Engineering Real- Time Applications with Wild Magic DAVID H. EBERLY Geometric Tools, Inc. AMSTERDAM BOSTON HEIDELRERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE
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 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 informationIntroduction to Shaders.
Introduction to Shaders Marco Benvegnù hiforce@gmx.it www.benve.org Summer 2005 Overview Rendering pipeline Shaders concepts Shading Languages Shading Tools Effects showcase Setup of a Shader in OpenGL
More informationPYTHON. p ykos vtawynivis. Second eciitiovl. CO Ve, WESLEY J. CHUN
CO Ve, PYTHON p ykos vtawynivis Second eciitiovl WESLEY J. CHUN. PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney
More informationCiril Bohak. - INTRODUCTION TO WEBGL
2016 Ciril Bohak ciril.bohak@fri.uni-lj.si - INTRODUCTION TO WEBGL What is WebGL? WebGL (Web Graphics Library) is an implementation of OpenGL interface for cmmunication with graphical hardware, intended
More informationIPHONE FOR PROGRAMMERS: AN APP-DRIVEN APPROACH
IPHONE FOR PROGRAMMERS AN APP-DRIVEN APPROACH DEITEL DEVELOPER SERIES Paul Deitel Harvey Deitel Abbey Deitel Eric Kern Michael Morgano All of Deitel & Associates, Inc. I '..'.' I; ' ' '. '... '. ".. '
More informationAdvanced Rendering Techniques
Advanced Rendering Techniques Lecture Rendering Pipeline (Part I) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Lecture notes available in http://www.ic.uff.br/~laffernandes/teaching/0./topicos_rendering
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 informationRefactoring HTML. Improving the Design of Existing Web Applications. Elliotte Rusty Harold. TT rvaddison-wesley
Refactoring HTML Improving the Design of Existing Web Applications Elliotte Rusty Harold TT rvaddison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich
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 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 informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
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 informationGraphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal
Graphics Hardware, Graphics APIs, and Computation on GPUs Mark Segal Overview Graphics Pipeline Graphics Hardware Graphics APIs ATI s low-level interface for computation on GPUs 2 Graphics Hardware High
More informationGLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner
GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionally left blank. Interactive Computer Graphics with WebGL, Global
More informationInteractive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL
International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based
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 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 informationGraphics Pipeline & APIs
Graphics Pipeline & APIs CPU Vertex Processing Rasterization Fragment Processing glclear (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT); glpushmatrix (); gltranslatef (-0.15, -0.15, solidz); glmaterialfv(gl_front,
More informationCS452/552; EE465/505. Clipping & Scan Conversion
CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:
More informationSecure Coding in C and C++
Secure Coding in C and C++ Robert C. Seacord AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo Singapore
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 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 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 informationCS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry The OpenGL pipeline Christopher Dyken and Martin Reimers 07.10.2009 Page 1 The OpenGL pipeline Real Time Rendering: The Graphics Processing Unit (GPU) (Chapter
More informationWater Simulation on WebGL and Three.js
The University of Southern Mississippi The Aquila Digital Community Honors Theses Honors College 5-2013 Water Simulation on WebGL and Three.js Kerim J. Pereira Follow this and additional works at: http://aquila.usm.edu/honors_theses
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
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 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 informationIntroduction. What s New in This Edition
Introduction Welcome to the fourth edition of the OpenGL SuperBible. For more than ten years, we have striven to provide the world s best introduction to not only OpenGL, but 3D graphics programming in
More informationLATEX. Leslie Lamport. Digital Equipment Corporation. Illustrations by Duane Bibby. v ADDISON-WESLEY
LATEX A Document Preparation System User's Guide and Reference Manual Leslie Lamport Digital Equipment Corporation Illustrations by Duane Bibby v ADDISON-WESLEY Boston San Francisco New York Toronto Montreal
More informationWebGL (Web Graphics Library) is the new standard for 3D graphics on the Web, designed for rendering 2D graphics and interactive 3D graphics.
About the Tutorial WebGL (Web Graphics Library) is the new standard for 3D graphics on the Web, designed for rendering 2D graphics and interactive 3D graphics. This tutorial starts with a basic introduction
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 informationFit for Developing Software
Fit for Developing Software Framework for Integrated Tests Rick Mugridge Ward Cunningham 04) PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich
More informationReal-Time Rendering. Tomas Möller Eric Haines. A K Peters Natick, Massachusetts
Real-Time Rendering Tomas Möller Eric Haines n A K Peters Natick, Massachusetts Contents Preface 1 Introduction 1 1.1 Contents Overview 2 1.2 Notation and Definitions 3 1.2.1 Mathematical Notation 3 1.2.2
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 informationSupplement to Lecture 22
Supplement to Lecture 22 Programmable GPUs Programmable Pipelines Introduce programmable pipelines - Vertex shaders - Fragment shaders Introduce shading languages - Needed to describe shaders - RenderMan
More informationThe Graphics Pipeline
The Graphics Pipeline Ray Tracing: Why Slow? Basic ray tracing: 1 ray/pixel Ray Tracing: Why Slow? Basic ray tracing: 1 ray/pixel But you really want shadows, reflections, global illumination, antialiasing
More informationToday. Rendering - III. Outline. Texturing: The 10,000m View. Texture Coordinates. Specifying Texture Coordinates in GL
Today Rendering - III CS148, Summer 2010 Graphics Pipeline and Programmable Shaders Artist Workflow Siddhartha Chaudhuri 1 2 Outline Texturing: The 10,000m View Intro to textures The fixed-function graphics
More informationCS770/870 Spring 2017 Open GL Shader Language GLSL
Preview CS770/870 Spring 2017 Open GL Shader Language GLSL Review traditional graphics pipeline CPU/GPU mixed pipeline issues Shaders GLSL graphics pipeline Based on material from Angel and Shreiner, Interactive
More informationCS770/870 Spring 2017 Open GL Shader Language GLSL
CS770/870 Spring 2017 Open GL Shader Language GLSL Based on material from Angel and Shreiner, Interactive Computer Graphics, 6 th Edition, Addison-Wesley, 2011 Bailey and Cunningham, Graphics Shaders 2
More informationGraphics Pipeline & APIs
3 2 4 Graphics Pipeline & APIs CPU Vertex Processing Rasterization Processing glclear (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT); glpushmatrix (); gltranslatef (-0.15, -0.15, solidz); glmaterialfv(gl_front,
More informationOpenGL R SC Version (Full Specification) (April 19, 2016) Editors (version 2.0): Aidan Fabius, Steve Viggers
OpenGL R SC Version 2.0.0 (Full Specification) (April 19, 2016) Editors (version 2.0): Aidan Fabius, Steve Viggers Copyright c 2016 The Khronos Group Inc. All Rights Reserved. This specification is protected
More informationDB2 SQL Tuning Tips for z/os Developers
DB2 SQL Tuning Tips for z/os Developers Tony Andrews IBM Press, Pearson pic Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney
More informationCOMP371 COMPUTER GRAPHICS
COMP371 COMPUTER GRAPHICS SESSION 12 PROGRAMMABLE SHADERS Announcement Programming Assignment #2 deadline next week: Session #7 Review of project proposals 2 Lecture Overview GPU programming 3 GPU Pipeline
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 informationOpenGL Status - November 2013 G-Truc Creation
OpenGL Status - November 2013 G-Truc Creation Vendor NVIDIA AMD Intel Windows Apple Release date 02/10/2013 08/11/2013 30/08/2013 22/10/2013 Drivers version 331.10 beta 13.11 beta 9.2 10.18.10.3325 MacOS
More informationComputer Graphics: Programming, Problem Solving, and Visual Communication
Computer Graphics: Programming, Problem Solving, and Visual Communication Dr. Steve Cunningham Computer Science Department California State University Stanislaus Turlock, CA 95382 copyright 2002, Steve
More informationCS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.
CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be
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 informationGrafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL
Grafica Computazionale: Lezione 30 Grafica Computazionale lezione30 Introduction to OpenGL Informatica e Automazione, "Roma Tre" May 20, 2010 OpenGL Shading Language Introduction to OpenGL OpenGL (Open
More informationThe OpenGL R Graphics System: A Specification (Version 1.3)
The OpenGL R Graphics System: A Specification (Version 1.3) Mark Segal Kurt Akeley Editor (version 1.1): Chris Frazier Editor (versions 1.2, 1.2.1, 1.3): Jon Leech Copyright c 1992-2001 Silicon Graphics,
More informationOptimizing Games for ATI s IMAGEON Aaftab Munshi. 3D Architect ATI Research
Optimizing Games for ATI s IMAGEON 2300 Aaftab Munshi 3D Architect ATI Research A A 3D hardware solution enables publishers to extend brands to mobile devices while remaining close to original vision of
More informationFramework Design Guidelines
Framework Design Guidelines Conventions, Idioms, and Patterns for Reusable.NET Libraries Krzysztof Cwalina Brad Abrams Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto
More informationFoundations of 3D Graphics Programming
Foundations of 3D Graphics Programming Jim X. Chen Edward J. Wegman Foundations of 3D Graphics Programming Using JOGL and Java3D With 139 Figures Jim X. Chen, PhD Computer Science Department George Mason
More informationGPU Memory Model. Adapted from:
GPU Memory Model Adapted from: Aaron Lefohn University of California, Davis With updates from slides by Suresh Venkatasubramanian, University of Pennsylvania Updates performed by Gary J. Katz, University
More informationRendering approaches. 1.image-oriented. 2.object-oriented. foreach pixel... 3D rendering pipeline. foreach object...
Rendering approaches 1.image-oriented foreach pixel... 2.object-oriented foreach object... geometry 3D rendering pipeline image 3D graphics pipeline Vertices Vertex processor Clipper and primitive assembler
More informationDeveloper's HTML5. Cookbook. AAddison-Wesley. Chuck Hudson. Tom Leadbetter. Upper Saddle River, NJ Boston Indianapolis San Francisco
HTML5 Developer's Cookbook Chuck Hudson Tom Leadbetter AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo
More informationGPU Shader Library. Mali. User Guide. Version: 1.0. Copyright 2009 ARM. All rights reserved. ARM DUI 0510A (ID101409)
Mali GPU Shader Library Version: 1.0 User Guide Copyright 2009 ARM. All rights reserved. ARM DUI 0510A () Mali GPU Shader Library User Guide Copyright 2009 ARM. All rights reserved. Release Information
More informationGraphics Pipeline 2D Geometric Transformations
Graphics Pipeline 2D Geometric Transformations CS 4620 Lecture 8 1 Plane projection in drawing Albrecht Dürer 2 Plane projection in drawing source unknown 3 Rasterizing triangles Summary 1 evaluation of
More informationProgramming. Principles and Practice Using C++ Bjarne Stroustrup. / Addison-Wesley. Second Edition
Programming Principles and Practice Using C++ Second Edition Bjarne Stroustrup / Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid
More informationTDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)
TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except
More information