HE COMPLETE OPENGL PROGI FOR WINDOW WIND
|
|
- Dwayne Bryant
- 5 years ago
- Views:
Transcription
1 HE COMPLETE OPENGL PROGI FOR WINDOW WIND WAITC GROUP PRESS. A Division of Sams Publishing Corte Madera CA
2 Table of Contents FOREWORD xxii INTRODUCTION xxiii PART I: INTRODUCTION TO OPENGL 1 CHAPTER 1: What Is OpenGL? 5 CHAPTER 2: 3D Graphics Fundamentals 13 CHAPTER 3: Learning OpenGL with the AUX Library 27 CHAPTER 4: OpenGL for Windows: OpenGL + Win32 = Wiggle 75 CHAPTER 5: Errors and Other Messages from OpenGL 109 PART II: USING OPENGL 121 CHAPTER 6: Drawing in 3D: Lines, Points, and Polygons 125 CHAPTER 7: Manipulating 3D Space: Coordinate Transformations 183 CHAPTER 8: Color and Shading 225 CHAPTER 9: Lighting and Lamps 261 CHAPTER 10: 3D Modeling and Object Composition 313 CHAPTER 11: Raster Graphics in OpenGL 345 CHAPTER 12: Texture Mapping 381 CHAPTER 13: Quadrics: Spheres, Cylinders, and Disks 431 PART IN: ADVANCED TOPICS AND SPECIAL EFFECTS 455 CHAPTER 14: The OpenGL State Machine 459 CHAPTER 15: Buffers: Not Just for Animation 471 CHAPTER 16: Visual Effects: Blending and Fog 503 CHAPTER 17: Curves and Surfaces: What the #%@!&* Are NURBS? 533 CHAPTER 18: Polygon Tessellation 575 CHAPTER 19: Interactive Graphics 589 CHAPTER 20: OpenGL on the 'Net: VRML 619 PART IV: OPENGL WITH 629 CHAPTER 21: MFC-Based OpenGL Programming 633 CHAPTER 22: OWL-Based OpenGL Programming 647 CHAPTER 23: Visual Basic and 4GL-Based OpenGL Programming 665 CHAPTER 24: The Future of OpenGL and Windows 681 APPENDIX A: Performance-Tuning OpenGL for Windows 687 APPENDIX B: Further Reading 691 APPENDIX C: Version APPENDIX D: Glossary 697 INDEX 701 vii
3 V Contents Foreword..xxii Introduction xxiii PART I: INTRODUCTION TO OPENGL l CHAPTER 1: WHAT IS OPENGL? 5 About OpenGL 8 A History of OpenGL 8 Further Developments in OpenGL 9 How OpenGL Works 9 OpenGL under Windows 9 Graphics Architecture: Software versus Hardware 9 Limitations of the Generic Implementation 11 Future Prospects for OpenGL in Windows 11 CHAPTER 2:3D GRAPHICS FUNDAMENTALS 13 3D Perception 15 2D + Perspective = 3D 17 Hidden Line Removal 17 Colors and Shading 18 Lights and Shadows 18 Coordinate Systems 19 2D Cartesian Coordinates 19 Coordinate Clipping 20 Viewports, Your Window to 3D 21 Drawing Primitives 23 3D Cartesian Coordinates 23 Projections, The Essence of 3D 24 Orthographie Projections 25 Perspective Projections 25 Summary 26 CHAPTER 3: LEARNING OPENGL WITH THE AUX LIBRARY 27 OpenGL: An API, Not a Language 30 The OpenGL Division of Labor 30 viii
4 Contents OpenGL Data Types 31 Function Naming Conventions 32 The AUX Library 34 Platform Independence 34 AUX = Platform I/O, the Easy Way 35 Dissecting a Short OpenGL Program 35 The Includes 37 The Body 37 Display Mode: Single-Buffered 37 Position the Window 38 Create the OpenGL Window 38 Clear a Window (Erase with a Color) 40 Actually Clear 41 Flush That Queue 41 Drawing Shapes with OpenGL 42 The Rendering Function 43 Drawing a Rectangle 43 Initialization 44 Scaling to the Window 45 Setting the Viewport and Clipping Volume 45 Defining the Viewport 49 Defining the Clipping Volume 49 Keeping a Square Square 51 Animation with AUX 52 Double Buffering 54 Finally, Some 3D! 56 Summary 56 Reference Section 57 CHAPTER 4: OPENGL FOR WINDOWS: OPENGL + WIN32 = WIGGLE 75 Drawing in Windows Windows 78 GDI Device Contexts 78 OpenGL Rendering Contexts 81 Using the Wiggle Functions 81 Creating and Selecting a Rendering Context 82 Painting with OpenGL 83 Preparing the Window for OpenGL 84 Window Styles 84 ix
5 OPENGL SUPERBIBLE Pixel Formats 84 Retum of the Bouncing Square 86 Scaling to the Window 90 Ticktock, the Idle Clock 90 Lights, Camera, Action! 91 Summary 92 Reference Section 92 CHAPTER 5: ERRORS AND OTHER MESSAGES FROM OPENGL 109 When Bad Things Happen to Good Code 112 Who Am I and What Can I Do? 114 Extensions to OpenGL 115 Get a Clue with glhint 115 Summary 116 Reference Section 116 PART II: USING OPENGL 121 CHAPTER 6: DRAWING IN 3D: LINES, POINTS, AND POLYGONS 125 Drawing Points in 3D 128 Setting Up a 3D Canvas 128 A 3D Point: The Vertex 130 Draw Something! 130 Drawing Points 131 Our First Example 132 Setting the Point Size 135 Drawing Lines in 3D 137 Line Strips and Loops 139 Approximating Curves with Straight Lines 141 Setting the Line Width 141 Line Stippling 143 Drawing Triangles in 3D 146 Triangles: Your First Polygon 146 Winding 146 Triangle Strips 148 Triangle Fans 149 Building Solid Objects 150 Setting Polygon Colors 153 Hidden Surface Removal 153 X
6 Contents Culling: Hiding Surfaces for Performance 154 Polygon Modes 158 Other Primitives 159 Four-Sided Polygons: Quads 159 Quad Strips 159 General Polygons 160 Filling Polygons, or Stippling Revisited 161 Polygon Construction Rules 166 Subdivision and Edges 166 Summary 169 Reference Section 171 CHAPTER 7: MANIPULATING 3D SPACE: COORDINATE TRANSFORMATIONS 183 Is This the Dreaded Math Chapter? 186 Understanding Transformations 186 Eye Coordinates 187 Viewing Transformations 188 Modeling Transformations 189 The Modelview Duality 191 Projection Transformations 192 Viewport Transformations 193 Matrix Munching 193 What Is a Matrix? 193 The Transformation Pipeline 193 The Modelview Matrix 195 Translation 196 Rotation 196 Scaling 198 The Identity Matrix 198 The Matrix Stacks 201 A Nuclear Example 202 Using Projections 205 Orthographie Projections 205 Perspective Projections 207 A Far-Out Example 211 Advanced Matrix Manipulation 214 Loading a Matrix 214 Performing Your Own Transfprmations 215 xi
7 OPENGL SUPERBIBLE Other Transformations 215 Summary 215 Reference Section 216 CHAPTER 8: COLOR AND SHADING 225 What Is a Color? 228 Light as a Wave 228 Light as a Particle 229 Your Personal Photon Detector 230 The Computer as a Photon Generator 231 PC Color Hardware 232 PC Display Modes 233 Screen Resolution 234 Color Depth Bit Color Bit Color Bit Color 235 Other Color Depths 235 Selecting a Color 236 The Color Cube 236 Setting the Drawing Color 237 Shading 238 Setting the Shading Model 241 Windows Palettes 242 Color Matching 242 Dithering 243 Advantages of a Palette in 8-Bit Mode 244 Palette Arbitration 244 Creating a Palette 246 Do You Need a Palette? 246 The Palette's Structure 247 The Palette 248 Building the Palette 249 Palette Creation and Disposal 250 Some Restrictions Apply 251 Color Index Mode 251 Why Use Color Index Mode? 252 Using Color Index Mode 252 xii
8 Contents Show the Triangle 254 Summary 254 Reference Section 255 CHAPTER 9: LIGHTING AND LAMPS 261 Light in the Real World 264 Ambient Light 265 Diffuse Light 265 Specular Light 265 Put It All Together 267 Materials in the Real World 267 Material Properties 268 Adding Light to Materials 268 Calculating Ambient Light Effects 268 Diffuse and Specular Effects 269 Adding Light to a Scene 270 Enable the Lighting 270 Set Up the Lighting Model 271 Set Material Properties 271 Using a Light Source 274 Which Way Is Up? 274 Surface Normals 275 Specifying a Normal 276 Unit Normals 278 Finding a Normal 279 Setting Up a Source 281 Setting the Material Properties 282 Specifying the Polygons 283 Lighting Effects 284 Specular Highlights 284 Specular Light 285 Specular Reflectance 285 Specular Exponent 286 Normal Averaging 288 Spotlights 292 Creating a Spotlight 293 Drawing a Spotlight 294 Shadows 296 xiii
9 OPENGL SUPERBIBLE What Is a Shadow? 296 Squish Code 298 A Shadow Example 300 Lighting and Color Index Mode 302 Summary 303 Reference Section 303 CHAPTER 10:3D MODELING AND 0BJECT COMPOSITION 313 Defining the Task 316 Choosing a Projection 316 Choosing the Lighting and Material Properties 317 Displaying the Results 318 Constructing a Model, One Piece at a Time 319 The Head 319 The Shaft 323 The Thread 326 Putting the Model Together 330 A Makeshift Benchmark 331 Improving Performance 334 Creating a Display List 335 Summary 338 Reference Section 338 CHAPTER 11: RASTER GRAPHICS IN OPENGL 345 Drawing Bitmaps 347 Bitmap Fonts 350 Building a Simple Font Library 351 Pixmaps: Bitmaps with Color 354 Drawing Pixmaps 354 Remapping Colors 355 Color Mapping Tables 356 Scaling a Pixmap 357 Panning a Pixmap 358 Reading Pixmaps 358 Copying Pixmaps 361 A Bitmap File Viewer 361 About Windows Bitmap Files 362 xiv
10 Contents Reading the.bmp File 363 Writing the.bmp File 365 Printing the Bitmap 367 Displaying the Bitmap 370 Summary 372 Reference Section 372 CHAPTER 12: TEXTURE MAPPING 381 The Basics of Texture Mapping 384 Defining Texture Images 385 Defining 1D Textures 385 Defining 2D Textures 387 Drawing Textured Polygons 388 Mipmapped Textures 390 A Terrain Viewing Program 392 Defining the Terrain 393 Drawing Terrain 393 Drawing the Scene 395 Automatically Generating Texture Coordinates 396 Flying Through the Terrain 398 Summary 398 Reference Section 424 CHAPTER 13: QUADRICS: SPHERES, CYLINDERS, AND DISKS 431 Creaüng a Quadric 434 Changing the Way Quadrics Are Drawn 434 Drawing Cylinders 435 Drawing Cones 436 Texturing and Cylinders 436 Drawing Disks 436 Disks and Textures 437 Drawing Partial Disks 437 Drawing Spheres 437 Spheres and Textures 438 Drawing a Pencil 438 Summary 440 Reference Section 449
11 OPENGL SUPERBIBLE I PART IM: ADVANCED TOPICS AND SPECIAL EFFECTS 455 CHAPTER 14: THE OPENGL STATE MACHINE 459 Basic OpenGL State Functions 461 ' Saving and Restoring States 462 Drawing States 464 Depth Buffer States 465 Stencil Buffer States 465 Lighting States 465 Texturing States 466 Pixel States 467 Reference Section 467 CHAPTER 15: BUFFERS: NOT JUST FOR ANIMATION 471 What Are Buffers? 474 Configuring Buffers 474 The Color Buffer 477 Double Buffering 477 Stereo Buffering 478 Swapping Buffers 478 The Depth Buffer 479 Depth Comparisons 480 Depth Values 480 Applications of the Depth Buffer 481 Another Application of the Depth Buffer 484 Cutting Away Parts of a Scene 484 The Stencil Buffer 488 Using the Stencil Buffer 488 Stencil Buffer Functions 489 Drawing into the Stencil Buffer 489 The Accumulation Buffer 493 Using the Accumulation Buffer for Motion Blur 494 Using the Accumulation Buffer for Anti-Aliasing 497 Reference Section 498 CHAPTER 16: VISUAL EFFECTS: BLENDING AND FOG 503 Blending 505 Using Blending for Transparency 506 xvi j
12 Contents Using Blending with Anti-Aliasing 510 Using Blending for a Paint Program 511 Fog 519 Drawing Depth-Cued Teapots 520 Other Types of Fog 523 Fog Distance 524 Revisiting the Terrain Viewing Program 524 Summary 530 Reference Section 530 CHAPTER 17: CURVES AND SURFACES: WHAT THE #%@!&* ARE NURBS? 533 Curves and Surfaces 536 Parametric Representation 536 Control Points 537 Continuity 538 Evaluators 538 A 2D Curve 539 Evaluating a Curve 543 A 3D Surface 543 Lighting and Normal Vectors 545 NURBS 546 From Bezier to B-Splines 547 Knots 548 Creating a NURBS Surface 549 NURBS Properties 549 Define the Surface 549 Trimming 550 Summary l 553 Reference Section 553 CHAPTER 18: POLYGON TESSELLATION 575 Complex Polygons 577 Drawing Concave Polygons 578 Drawing Complex Polygons 579 Callback Functions 583 Summary 584 Reference Section 585 xvij
13 OPENGL SUPERBIBLE CHAPTER 19: INTERACTIVE GRAPHICS 589 Selection 592 Naming Your Primitives 592 Working with Selection Mode 594 The Selection Buffer 594 Picking 596 Hierarchical Picking 598 Feedback 602 The Feedback Buffer 602 Feedback Data 602 PassThrough Markers 604 An Example 604 Label the Objects for Feedback 604 Step 1: Select the Object 605 Step 2: Get Feedback on the Object 607 Summary 608 Reference Section 609 CHAPTER 20: OPENGL 0N THE 'NET: VRML 619 When Worlds Collide 621 Two-Dimensional Navigation 622 Enter VRML 622 WebSpace 624 Installation 624 The Walk Viewer 624 The Examiner Viewer 626 Open Inventor and VRML 626 Summary 628 PART IV: OPENGL WITH 629 CHAPTER 21: MFC-BASED OPENGL PROGRAMMING 633 Isolate Your OpenGL Code 636 Starting with AppWizard 637 Build the Shell 637 Add the Libraries 637 Get CView Ready for OpenGL 639 Pixel Format and Rendering Context 639 xviii
14 Contents I Clean Up the Rendering Context 641 I Handling Window Resizing 641 I Rendering the Scene Don't Erase First 642 I CPalette Handling 643 Summary 646 CHAPTER 22: OWL-BASED OPENGL PROGRAMMING 647 ; Isolate Your OpenGL Code 650 ' Starting with AppExpert 651 Build the Shell 651 f Add the Headers 651 Add the Message Handlers 653 > Fleshing Out the Shell 654 Get TWindowView Ready for OpenGL 654 L Pixel Format and Rendering Context 655 f Clean Up the Rendering Context 656 s Handling Window Resizing 657 Rendering the Scene 657 No Flickering Allowed 658 I Keep It Moving 658 j TPalette Handling 660 Summary 663 CHAPTER 23: VISUAL BASIC AND 4GL-BASED OPENGL PROGRAMMING 665 t Low-Level Access Required 667 f The Magic of Objects 668 Plug and Play 668 I Wrap It Up 669 I Use and Operation of WaiteGL.OCX 669 OpenGL Flags 670 { Installing and Using WaiteGL from VB s- Installing the Control 671 A Visual Basic Example 671 E-' ; Painting the OpenGL Window 672 f Now for Some Action 673 l Installing the OCX in Delphi i m
15 OPENGL SUPERBIBLE Installing the Control 674 A Delphi Example 675 Painting the OpenGL Window 677 Now for Some Action 677 Some Notes About the Source 679 Summary 679 r CHAPTER 24: THE FUTURE OF OPENGL AND WINDOWS Conclusion 686 APPENDIX A: PERFORMANCE-TUNING OPENGL FOR WINDOWS 687 Display Lists 688 Matrix Operations 688 Lighting Operations 688 Object Construction 688 Miscellaneous Tips 689 I APPENDIX B: FURTHER READING 691* Books on Windows Programming 691 Books and References on OpenGL 692 Books and References on Graphics Programming (3D in Particular) 692 OpenGL-Related Web and FTP Sites 692 VRML Repositories 693 j I I APPENDIX C: VERSION APPENDIX D: GLOSSARY 697 INDEX 70il V XX
CHAPTER 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 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 informationOpenGL 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 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 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 informationGraphics and Interaction Rendering pipeline & object modelling
433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationAdvanced 3D Game Programming with DirectX* 10.0
Advanced 3D Game Programming with DirectX* 10.0 Peter Walsh Wordware Publishing, Inc. Acknowledgments Introduction xiii xv Chapter I Windows I A Word about Windows I Hungarian Notation 3 General Windows
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 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 informationModels and Architectures
Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation
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 informationCOMP30019 Graphics and Interaction Rendering pipeline & object modelling
COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationLecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling
Lecture outline COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Introduction to Modelling Polygonal geometry The rendering
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 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 informationComputer Graphics I Lecture 11
15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/
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 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 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 informationIntroduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Models and Architectures
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 informationPoints and lines, Line drawing algorithms. Circle generating algorithms, Midpoint circle Parallel version of these algorithms
Jahangirabad Institute Of Technology Assistant Prof. Ankur Srivastava COMPUTER GRAPHICS Semester IV, 2016 MASTER SCHEDULE Unit-I Unit-II Class 1,2,3,4 Mon, Jan19,Tue20,Sat23,Mon 25 Class 5 Wed, Jan 27
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 informationModels and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Learn the basic design of a graphics system Introduce
More informationBuffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Buffers, Textures, Compositing, and Blending David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel Compositing,
More informationWorld Coordinate System
World Coordinate System Application Model Application Program Graphics System Workstation Normally, the User or Object Coordinate System. World Coordinate Window: A subset of the world coordinate system,
More informationNormalized Device Coordinate System (NDC) World Coordinate System. Example Coordinate Systems. Device Coordinate System
World Coordinate System Normalized Device Coordinate System (NDC) Model Program Graphics System Workstation Model Program Graphics System Workstation Normally, the User or Object Coordinate System. World
More informationComputer Graphics Fundamentals. Jon Macey
Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in
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 informationCS 465 Program 4: Modeller
CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized
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 informationXGL Device Pipeline Porting Guide
XGL Device Pipeline Porting Guide Loadable Interfaces Version 4.1 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. A Sun Microsystems, Inc. Business Copyright 1996 Sun Microsystems, Inc., 2550 Garcia
More informationCourse Title: Computer Graphics Course no: CSC209
Course Title: Computer Graphics Course no: CSC209 Nature of the Course: Theory + Lab Semester: III Full Marks: 60+20+20 Pass Marks: 24 +8+8 Credit Hrs: 3 Course Description: The course coversconcepts of
More informationSculpting 3D Models. Glossary
A Array An array clones copies of an object in a pattern, such as in rows and columns, or in a circle. Each object in an array can be transformed individually. Array Flyout Array flyout is available in
More informationTopics and things to know about them:
Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will
More informationCONTENTS IN DETAIL. What s in This Book?... xx Who Is This Book For?... xx
CONTENTS IN DETAIL ACKNOWLEDGMENTS xvii INTRODUCTION xix What s in This Book?... xx Who Is This Book For?... xx 1 INKSCAPE AND THE WORLD 1.1 What Vector Graphics Is and Why It Matters... 1.2 What Can You
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 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 informationComputer Graphics. Shadows
Computer Graphics Lecture 10 Shadows Taku Komura Today Shadows Overview Projective shadows Shadow texture Shadow volume Shadow map Soft shadows Why Shadows? Shadows tell us about the relative locations
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 informationCS GAME PROGRAMMING Question bank
CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved
More informationIntroduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics
Introduction to Computer Graphics Knowledge basic concepts 2D and 3D computer graphics 1 Introduction 2 Basic math 3 2D transformations 4 3D transformations 5 Viewing 6 Primitives 7 Geometry 8 Shading
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 2003, Steve
More informationRendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane
Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world
More informationThe University of Calgary
The University of Calgary Department of Computer Science Final Examination, Questions ENEL/CPSC 555 Computer Graphics Time: 2 Hours Closed Book, calculators are permitted. The questions carry equal weight.
More informationModule Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series PG Examination 2013-14 COMPUTER GAMES DEVELOPMENT CMPSME27 Time allowed: 2 hours Answer any THREE questions. (40 marks each) Notes are
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 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 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 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 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 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 informationTexture Mapping and Special Effects
Texture Mapping and Special Effects February 23 rd 26 th 2007 MAE 410-574, Virtual Reality Applications and Research Instructor: Govindarajan Srimathveeravalli HW#5 Due March 2 nd Implement the complete
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
More information1 INTRoduCTIon to BLENDER 1. 3 PREPARATIon 19
INTRoduCTIoN xv 2 INTRoduCTIon to GIMP 13 Topics Covered... xv What Isn t Covered...xvi Requirements....xvi The Projects....xvi The Bat Creature... xvii The Spider Bot... xvii The Jungle Temple... xvii
More informationComputer Graphics 10 - Shadows
Computer Graphics 10 - Shadows Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Shadows Overview Projective shadows Shadow textures Shadow volume Shadow map Soft
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 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 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 informationAnimation & Rendering
7M836 Animation & Rendering Introduction, color, raster graphics, modeling, transformations Arjan Kok, Kees Huizing, Huub van de Wetering h.v.d.wetering@tue.nl 1 Purpose Understand 3D computer graphics
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 informationReview. Stephen J. Guy
Review Stephen J. Guy Overview Pixar short Review last class Review course Area of Graphics Image Processing Rendering Modeling Animation Misc Area of Graphics Image Processing Rendering Modeling Animation
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 informationA simple OpenGL animation Due: Wednesday, January 27 at 4pm
CMSC 23700 Winter 2010 Introduction to Computer Graphics Project 1 January 12 A simple OpenGL animation Due: Wednesday, January 27 at 4pm 1 Summary This project is the first part of a three-part project.
More informationTexture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping
More informationCS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping
More informationLecturer Athanasios Nikolaidis
Lecturer Athanasios Nikolaidis Computer Graphics: Graphics primitives 2D viewing and clipping 2D and 3D transformations Curves and surfaces Rendering and ray tracing Illumination models Shading models
More informationEnd-Term Examination
Paper Code: MCA-108 Paper ID : 44108 Second Semester [MCA] MAY-JUNE 2006 Q. 1 Describe the following in brief :- (3 x 5 = 15) (a) QUADRATIC SURFACES (b) RGB Color Models. (c) BSP Tree (d) Solid Modeling
More information3D Rendering Pipeline
3D Rendering Pipeline Reference: Real-Time Rendering 3 rd Edition Chapters 2 4 OpenGL SuperBible 6 th Edition Overview Rendering Pipeline Modern CG Inside a Desktop Architecture Shaders Tool Stage Asset
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 informationLecture 4 Advanced Computer Graphics (CS & SE )
Lecture 4 Advanced Computer Graphics (CS & SE 233.420) Topics Covered Animation Matrices Viewing Lighting Animating Interactive Programs Consider planet.c Want to animate rotating the Earth around the
More informationOXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS
OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS YEAR/SEM.: III/V STAFF NAME: T.ELANGOVAN SUBJECT NAME: Computer Graphics SUB. CODE:
More informationAcademic Plan GAME & SIMULATION FOUNDATIONS
Academic Plan GAME & SIMULATION FOUNDATIONS Unit Number: 1 GETTING STARTED PACING: 3 INSTRUCTIONAL MEETINGS Getting started Modeling 3DS Interface Right Click Menus Material Editor Track View Video Post
More informationTo Do. Computer Graphics (Fall 2008) Course Outline. Course Outline. Methodology for Lecture. Demo: Surreal (HW 3)
Computer Graphics (Fall 2008) COMS 4160, Lecture 9: OpenGL 1 http://www.cs.columbia.edu/~cs4160 To Do Start thinking (now) about HW 3. Milestones are due soon. Course Course 3D Graphics Pipeline 3D Graphics
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 informationCS 464 Review. Review of Computer Graphics for Final Exam
CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then
More informationCourse Information Package
Course Information Package PLANNING FORM FOR AN EDUCATIONAL MODULE (to be completed by the teacher) Programme of Studies: Name of the module: Target group: Level of the unit: Entrance requirements: Number
More informationSHADERX 7 : ADVANCED RENDERING TECHNIQUES
SHADERX 7 : ADVANCED RENDERING TECHNIQUES WOLFGANG ENGEL Charles River Media Apart of Course Techno(ogy, Cengage Learning ~.. COURSE TECHNOLOGY 1% CENGAGE Learning- Australia, Brazil, Japan, Korea,Mexico,Singapore,
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 informationGEOMETRIC TOOLS FOR COMPUTER GRAPHICS
GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W
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 informationGeometry Primitives. Computer Science Department University of Malta. Sandro Spina Computer Graphics and Simulation Group. CGSG Geometry Primitives
Geometry Primitives Sandro Spina Computer Graphics and Simulation Group Computer Science Department University of Malta 1 The Building Blocks of Geometry The objects in our virtual worlds are composed
More informationBeginning Direct3D Game Programming: 1. The History of Direct3D Graphics
Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics jintaeks@gmail.com Division of Digital Contents, DongSeo University. April 2016 Long time ago Before Windows, DOS was the most popular
More informationTopic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping
Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures
More informationComputer Graphics. Prof. Feng Liu. Fall /21/2016
Computer Graphics Prof. Feng Liu Fall 2016 http://www.cs.pdx.edu/~fliu/courses/cs447/ 11/21/2016 Last time Polygon Mesh and Modeling 2 Today Modeling Technologies Final Exam: 12:30-2:00, December 7, 2016
More informationComputer Graphics Lecture 2
1 / 16 Computer Graphics Lecture 2 Dr. Marc Eduard Frîncu West University of Timisoara Feb 28th 2012 2 / 16 Outline 1 Graphics System Graphics Devices Frame Buffer 2 Rendering pipeline 3 Logical Devices
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More information5 Linear Algebra Determinants Matrices...121
Preface xi 1 Introduction 1 1.1 Graphics Areas... 1 1.2 MajorApplications... 2 1.3 Graphics APIs... 3 1.4 3D Geometric Models... 4 1.5 Graphics Pipeline...... 4 1.6 NumericalIssues... 5 1.7 Efficiency...
More informationOverview: Ray Tracing & The Perspective Projection Pipeline
Overview: Ray Tracing & The Perspective Projection Pipeline Lecture #2 Thursday, August 28 2014 About this Lecture! This is an overview.! Think of it as a quick tour moving fast.! Some parts, e.g. math,
More informationGeometric Programming for Computer-Aided Design
Geometric Programming for Computer-Aided Design Alberto Paoluzzi Dip. Informatica e Automazione, Università Roma Tre, Rome Italy with contributions from Valerio Pascucci Center for Applied Scientific Computing,
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 informationComputer Graphics Introduction. Taku Komura
Computer Graphics Introduction Taku Komura What s this course all about? We will cover Graphics programming and algorithms Graphics data structures Applied geometry, modeling and rendering Not covering
More informationClipping and Scan Conversion
15-462 Computer Graphics I Lecture 14 Clipping and Scan Conversion Line Clipping Polygon Clipping Clipping in Three Dimensions Scan Conversion (Rasterization) [Angel 7.3-7.6, 7.8-7.9] March 19, 2002 Frank
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 informationCSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation
CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Project 2 due Friday, October 11
More informationCHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK
CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS2401 COMPUTER GRAPHICS QUESTION BANK PART A UNIT I-2D PRIMITIVES 1. Define Computer graphics. 2. Define refresh
More informationGraphics and Visualization (GV)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Graphics and Visualization (GV) Computer graphics is the term commonly used to describe the computer generation and manipulation
More informationBlue colour text questions Black colour text sample answers Red colour text further explanation or references for the sample answers
Blue colour text questions Black colour text sample answers Red colour text further explanation or references for the sample answers Question 1. a) (5 marks) Explain the OpenGL synthetic camera model,
More informationTopic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized
Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures
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 information