OpenGL SUPERBIBLE. Fifth Edition. Comprehensive Tutorial and Reference. Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak
|
|
- Calvin Neal Warner
- 6 years ago
- Views:
Transcription
1 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 Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney Tokyo Singapore Mexico City
2 Table of Contents Preface to the Fifth Edition xxi Preface to the Fourth Edition xxiii Preface to the Third Edition xxvi Introduction 1 What's New in This Edition 1 How This Book Is Organized 2 Part I: Basic Concepts 2 Part II: Intermediate to Advanced Ideas 3 Part III: Platform-Specific Notes 4 Conventions Used in This Book 4 About the Companion Web Site 5 PART I Basic Concepts 7 1 Introduction to 3D Graphics and OpenGL 9 A Brief History of Computer Graphics 9 Going Electric 10 Going 3D 11 3D Graphics Techniques and Terminology 14 Transformations and Projections 14 Rasterization 14 Shading 16 Texture Mapping 16 Blending 17 Connecting the Dots 18 Common Uses for 3D Graphics 18 Real-Time 3D 18 Non-Real-Time 3D 22 Shaders 22
3 x OpenGL SuperBible Basic 3D Programming Principles 23 Not a Toolbox 23 Coordinate Systems 24 Projections: Getting 3D to 2D 28 Summary 30 2 Getting Started 33 What Is OpenGL? 33 Evolution of a Standard 34 Licensing and Conformance 38 The Future of OpenGL 38 Deprecated Functionality 40 Using OpenGL 42 Our Supporting Cast 42 OpenGL API Specifics 44 OpenGL Errors 46 Identifying the Version 47 Getting a Clue with glhint 47 The OpenGL State Machine 48 Setting Up Windows Projects 49 Including Paths 50 Creating the Project 52 Adding Our Files 53 Setting Up Mac OS X Projects 55 Custom Build Settings 55 Creating a New Project 56 Frameworks, Headers, and Libraries 59 Your First Triangle 61 What to "Include" 64 Starting GLUT 65 Coordinate System Basics 67 Setting Things Up 70 Getting Down to Business 73 Putting a Little Life into It! 73 Special Keys 74 Refreshing the Display 75 Simple Automated Animation 76 Summary 77
4 Contents xi 3 Basic Rendering 79 The Basic Graphics Pipeline 80 Client-Server 81 Shaders 82 Setting Up Your Coordinate System 84 Orthographic Projections 85 Perspective Projections 85 Using the Stock Shaders 86 Attributes 87 Uniforms 87 Connecting The Dots 89 Points and Lines 90 Drawing Triangles in 3D 94 Individual Triangles 95 A Simple Batch Container 100 Unwanted Geometry 101 Polygon Offset 108 Cutting It Out with Scissors Ill Blending 113 Combining Colors 114 Changing the Blending Equation 116 Antialiasing 117 Multisampling 121 Summary Basic Transformations: A Vector/Matrix Primer 125 Is This the Dreaded Math Chapter? 126 A Crash Course in 3D Graphics Math 126 Vectors, or Which Way Is Which? 127 The Matrix 130 Understanding Transformations 132 Eye Coordinates 132 Viewing Transformations 133 Modeling Transformations 134 The Modelview Duality 135 Projection Transformations 136 Viewport Transformations 137
5 xii OpenGL SuperBible The Modelview Matrix 138 Matrix Construction 138 Applying a Modelview Matrix 144 More Objects 145 Using the Triangle Batch Class 146 Making a Sphere 146 Making a Torus 147 Making a Cylinder or a Cone 148 Making a Disk 150 Projection Matrix 150 Orthographic Projections 151 Perspective Projection 153 The ModelviewProjection Matrix 155 The Transformation Pipeline 159 Using a Matrix Stack 159 Managing Your Pipeline 161 Spicing It Up! 165 Moving Around Using Cameras and Actors 167 An Actor Frame 168 Euler Angles: "Use the Frame, Luke!" 169 Camera Management 170 Adding More Actors 173 What About Lights? 175 Summary Basic Texturing 179 Raw Image Data 180 Pixel Packing 181 Pixmaps 183 Packed Pixel Formats 185 Saving Pixels 186 Reading Pixels 188 Loading Textures 192 Using the Color Buffer 193 Updating Textures 194 Texture Objects 195 Texture Application 196 Texture Coordinates 196 Texture Parameters 199 Putting It All Together 202
6 Contents xiii Mipmapping 207 Mipmap Filtering 209 Generating Mip Levels 210 Mipmaps in Action 210 Anisotropie Filtering 221 Texture Compression 223 Compressing Textures 224 Loading Compressed Textures 225 A Final Example 226 Summary Thinking Outside the Box, Nonstock Shaders 229 GLSL Variables and Data Types 231 Storage Qualifiers 234 ARealShader 236 Compiling, Binding, and Linking 240 Using the Shader 247 Provoking Vertex 248 Shader Uniforms 249 Finding Your Uniforms 249 Setting Scalars and Vector Uniforms 250 Setting Uniform Arrays 251 Setting Uniform Matrices 252 The Flat Shader 252 Built-in Functions 255 Trigonometry Functions 256 Exponential Functions 256 Geometric Functions 257 Matrix Functions 257 Vector Relational Functions 258 Common Functions 259 Simulating Light 262 Simple Diffuse Lighting 262 The Point Light Diffuse Shader 264 The ADS Light Model 269 Phong Shading 273
7 xiv OpenGL SuperBible Accessing Textures 277 Just the Texels Please 277 Light the Texels 279 Discarding Fragments 281 Cell Shading Texels as Light 284 Summary More Advanced Texture Topics 289 Rectangle Textures 289 Loading a Rectangle Texture 290 Using a Rectangle Texture 291 Cube Maps 294 Loading Cube Maps 295 Making a Skybox 297 Making a Reflection 299 Multitexture 301 Multiple Texture Coordinates 301 A Multitextured Example 302 Point Sprites 304 Texturing Points 305 Point Sizes 306 Putting This All Together 307 Point Parameters 310 Shaped Points 311 Rotating Points 312 Texture Arrays 314 Loading a 2D Texture Array 314 Indexing the Texture Array 316 Accessing Texture Arrays 317 Texture Proxies 318 Summary 320 PART II Intermediate to Advanced Ideas Buffer Objects: Storage Is Now in Your Hands 323 Buffers 324 Creating Your Very Own Buffers 324 Filling Buffers 325 Pixel Buffer Objects 326 Texture Buffer Objects 334
8 Contents xv Framebuffer Objects, Going Beyond the Window 336 HowtoUseFBOs 336 Renderbuffer Objects 337 Draw Buffers 339 Framebuffer Completeness 342 Copying Data in Framebuffers 345 Putting It All Together Using FBOs 346 Rendering to Textures 351 Summary Advanced Buffers: Beyond the Basics 359 Getting at Your Data 359 Mapping Buffers 360 Copying Buffers 361 Controlling the Destiny of Your Pixel Shaders; Mapping Fragment Outputs 361 New Formats for a New Hardware Generation 364 Floats True Precision at Last! 364 Multisampling 380 Integers 385 srgb 386 Texture Compression 387 Summary Fragment Operations: The End of the Pipeline 391 Scissoring Cutting Your Geometry Down To Size 392 Multisampling 392 Sample Coverage 393 Sample Mask 394 Putting It All Together 394 Stencil Operations 399 Depth Testing 402 Depth Clamp 402 Blending Everything Together 402 Blend Equation 402 Blend Function 403 Putting It All Together 404 Dithering 406 Logic Ops 407
9 xvi OpenGL SuperBible Masking Output 408 Color 408 Depth 408 Stencil 408 Usage 409 Summary Advanced Shader Usage 411 Advanced Vertex Shaders 412 Physical Simulation in the Vertex Shader 412 Geometry Shaders 419 The Pass-Through Geometry Shader 420 Using Geometry Shaders in an Application 422 Discarding Geometry in the Geometry Shader 426 Modifying Geometry in the Geometry Shader 429 Generating Geometry in the Geometry Shader 430 Changing the Primitive Type in the Geometry Shader 434 New Primitive Types Introduced by the Geometry Shader 438 Advanced Fragment Shaders 441 Post-Processing in the Fragment Shader Color Correction 442 Post-Processing in the Fragment Shader Convolution 444 Generating Image Data in the Fragment Shader 448 Discarding Work in the Fragment Shader 451 Controlling Depth Per Fragment 453 More Advanced Shader Functions 454 Interpolation and Storage Qualifiers 454 Other Advanced Built-in Functions 458 Uniform Buffer Objects 460 Building Uniform Blocks 461 Summary Advanced Geometry Management 471 Gathering Information about the OpenGL Pipeline Queries 472 Preparing a Query 472 Issuing a Query 473 Retrieving Query Results 474 Using the Results of a Query 475 Getting OpenGL to Make Decisions for You 478 Measuring Time Taken to Execute Commands 480
10 Contents xvii Storing Data in GPU Memory 483 Using Buffers to Store Vertex Data 484 Storing Vertex Indices in Buffers 489 Using Vertex Array Objects to Organize Your Buffers 490 Drawing a lot of Geometry Efficiently 492 Combining Drawing Functions 492 Combining Geometry Using Primitive Restart 494 Instanced Rendering 496 Getting Your Data Automatically 503 Storing Transformed Vertices Transform Feedback 508 Transform Feedback 509 Turning Off Rasterization 514 Counting Vertices Using Primitive Queries 515 Using the Results of a Primitive Query 516 Example Uses for Transform Feedback 517 Clipping and Determining What Should Be Drawn 528 Clip Distances Defining Your Own Custom Clip Space 528 Synchronizing When OpenGL Begins to Draw 532 Summary 537 PART III Platform-Specific Notes OpenGL on Windows 541 OpenGL Implementations on Windows 542 Microsoft's OpenGL 542 Modern Graphics Drivers 542 Extended OpenGL 544 WGL Extensions 545 Basic Windows Rendering 547 GDI Device Contexts 547 Pixel Formats 548 The OpenGL Rendering Context 556 Putting It All Together 559 Creating the Window 560 Full-Screen Rendering 565 Double Buffering 567 Eliminating Visual Tearing 567 Summary 568
11 xviii OpenGL SuperBible 14 OpenGL on OS X 569 The Four Faces of OpenGL on the Mac 569 OpenGL with Cocoa 570 Creating a Cocoa Program 571 Wiring It All Together 578 Double or Single Buffered? 580 SphereWorld 580 Full-Screen Rendering 585 Going Full-Screen with Cocoa 586 CGL 593 Sync Frame Rate 593 Increasing Fill Performance 594 Multithreaded OpenGL 595 Summary OpenGL on Linux 597 The Basics 597 Brief History 598 What Is X? 598 Getting Started 598 Checking for OpenGL 599 Setting Up Mesa 599 Setting Up Hardware Drivers 600 Setting Up GLUT and GLEW 600 Building OpenGL Apps 601 GLX Interfacing with X Windows 602 Displays and X Windows 603 Config Management and Visuals 603 Windows and Render Surfaces 607 Extending OpenGL and GLX 608 Context Management 609 Synchronization 612 GLX Queries 613 Putting It All Together 614 Summary 617
12 16 OpenGL ES on Mobile Devices 619 OpenGL on a Diet 619 What's the ES For? 620 A Brief History 620 Which Version Is Right for You? 622 ES The ES Environment 627 Application Design Considerations 627 Dealing with a Limited Environment 628 Fixed-Point Math 629 EGL: A New Windowing Environment 630 EGL Displays 631 Creating a Window 632 Context Management 636 Presenting Buffers and Rendering Synchronization 636 More EGL Stuff 637 Negotiating Embedded Environments 638 Popular Operating Systems 638 Vendor-Specific Extensions 639 For the Home Gamer 639 Apple Handheld Platforms 639 Setting Up An iphone Project 640 Moving to the iphone 644 Summary 652 Appendix A Further Reading 653 Other Good OpenGL Books 653 3D Graphics Books 653 WebSites 654 Appendix В Glossary 655 Appendix С OpenGL Man Pages for (Core) OpenGL Index 939
Programming 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
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 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 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 informationCS 4620 Program 3: Pipeline
CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.
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 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 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 informationToday s Agenda. Basic design of a graphics system. Introduction to OpenGL
Today s Agenda Basic design of a graphics system Introduction to OpenGL Image Compositing Compositing one image over another is most common choice can think of each image drawn on a transparent plastic
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 informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
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 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 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 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 informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
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 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 informationPipeline Operations. CS 4620 Lecture 10
Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination
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 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 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 informationTextures. Texture coordinates. Introduce one more component to geometry
Texturing & Blending Prof. Aaron Lanterman (Based on slides by Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technology Textures Rendering tiny triangles
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 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 informationOpengl Programming On Mac Os X Architecture Performance
Opengl Programming On Mac Os X Architecture Performance We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer,
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 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 informationProgrammable Graphics Hardware
Programmable Graphics Hardware Outline 2/ 49 A brief Introduction into Programmable Graphics Hardware Hardware Graphics Pipeline Shading Languages Tools GPGPU Resources Hardware Graphics Pipeline 3/ 49
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 informationScanline Rendering 2 1/42
Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms
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 informationThe Rendering Pipeline (1)
The Rendering Pipeline (1) Alessandro Martinelli alessandro.martinelli@unipv.it 30 settembre 2014 The Rendering Pipeline (1) Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination
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 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 informationCS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012
CS450/550 Pipeline Architecture Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012 0 Objectives Learn the basic components of a graphics system Introduce the OpenGL pipeline
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 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 informationGraphics Hardware. Instructor Stephen J. Guy
Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!
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 informationIntroduction to 3D Graphics
Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is
More informationC P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev
C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image
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 information3D Graphics and OpenGl. First Steps
3D Graphics and OpenGl First Steps Rendering of 3D Graphics Objects defined in (virtual/mathematical) 3D space. Rendering of 3D Graphics Objects defined in (virtual/mathematical) 3D space. We see surfaces
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 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 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 information2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT
COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system
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 informationOpenGL refresher. Advanced Computer Graphics 2012
Advanced Computer Graphics 2012 What you will see today Outline General OpenGL introduction Setting up: GLUT and GLEW Elementary rendering Transformations in OpenGL Texture mapping Programmable shading
More informationWorld Wide Web PROGRAMMING THE PEARSON EIGHTH EDITION. University of Colorado at Colorado Springs
PROGRAMMING THE World Wide Web EIGHTH EDITION ROBERT W. SEBESTA University of Colorado at Colorado Springs PEARSON Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape
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 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 informationCg 2.0. Mark Kilgard
Cg 2.0 Mark Kilgard What is Cg? Cg is a GPU shading language C/C++ like language Write vertex-, geometry-, and fragmentprocessing kernels that execute on massively parallel GPUs Productivity through a
More informationComputer graphics 2: Graduate seminar in computational aesthetics
Computer graphics 2: Graduate seminar in computational aesthetics Angus Forbes evl.uic.edu/creativecoding/cs526 Homework 2 RJ ongoing... - Follow the suggestions in the Research Journal handout and find
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 informationMetal Feature Set Tables
Metal Feature Set Tables apple Developer Feature Availability This table lists the availability of major Metal features. OS ios 8 ios 8 ios 9 ios 9 ios 9 ios 10 ios 10 ios 10 ios 11 ios 11 ios 11 ios 11
More information3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models
3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts
More informationCSE4030 Introduction to Computer Graphics
CSE4030 Introduction to Computer Graphics Dongguk University Jeong-Mo Hong Timetable 00:00~00:10 Introduction (English) 00:10~00:50 Topic 1 (English) 00:50~00:60 Q&A (English, Korean) 01:00~01:40 Topic
More informationOpenGL. Toolkits.
http://www.opengl.org OpenGL Open Graphics Library Graphics API Delivered with UNIX, Win9x/2000/Me/Nt/Xp, Mac OS Direct3D (DirectX) is only Windows Utilizes the window system and event handling of the
More information12.2 Programmable Graphics Hardware
Fall 2018 CSCI 420: Computer Graphics 12.2 Programmable Graphics Hardware Kyle Morgenroth http://cs420.hao-li.com 1 Introduction Recent major advance in real time graphics is the programmable pipeline:
More informationSystems:;-'./'--'.; r. Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington
Data base 7\,T"] Systems:;-'./'--'.; r Modelsj Languages, Design, and Application Programming Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington Shamkant
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 informationWhy modern versions of OpenGL should be used Some useful API commands and extensions
Michał Radziszewski Why modern versions of OpenGL should be used Some useful API commands and extensions Timer Query EXT Direct State Access (DSA) Geometry Programs Position in pipeline Rendering wireframe
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 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 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 informationCSC Graphics Programming. Budditha Hettige Department of Statistics and Computer Science
CSC 307 1.0 Graphics Programming Department of Statistics and Computer Science Graphics Programming 2 Common Uses for Computer Graphics Applications for real-time 3D graphics range from interactive games
More informationFUNDAMENTALS OF. Database S wctpmc. Shamkant B. Navathe College of Computing Georgia Institute of Technology. Addison-Wesley
FUNDAMENTALS OF Database S wctpmc SIXTH EDITION Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington Shamkant B. Navathe College of Computing Georgia Institute
More informationOpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL
OpenGL: Open Graphics Library Introduction to OpenGL Part II CS 351-50 Graphics API ( Application Programming Interface) Software library Layer between programmer and graphics hardware (and other software
More informationTexture mapping. Computer Graphics CSE 167 Lecture 9
Texture mapping Computer Graphics CSE 167 Lecture 9 CSE 167: Computer Graphics Texture Mapping Overview Interpolation Wrapping Texture coordinates Anti aliasing Mipmaps Other mappings Including bump mapping
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 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 informationXcode 6 Start to Finish
Xcode 6 Start to Finish ios and OS X Development Fritz Anderson VAddison-Wesley New York Boston Indianapolis San Francisco Toronto Montreal Capetown Sydney London Munich Paris Madrid Tokyo Singapore Mexico
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 informationCS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.
CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions The Midterm Exam was given in class on Tuesday, October 16, 2012. 1. [7 pts] Synthetic-Camera Model. Describe the Synthetic-Camera Model : how
More informationTutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI
Tutorial on GPU Programming #2 Joong-Youn Lee Supercomputing Center, KISTI Contents Graphics Pipeline Vertex Programming Fragment Programming Introduction to Cg Language Graphics Pipeline The process to
More informationOpenGL Programmable Shaders
h gpup 1 Topics Rendering Pipeline Shader Types OpenGL Programmable Shaders sh gpup 1 OpenGL Shader Language Basics h gpup 1 EE 4702-X Lecture Transparency. Formatted 9:03, 20 October 2014 from shaders2.
More information