Graphics Programming in c++

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Graphics Programming in c++"

Transcription

1 Graphics Programming in c++

2 Springer London Berlin Heidelberg New York Barcelona Budapest Hong Kong Milan Paris Santa Clara Singapore Tokyo

3 Mark Walmsley Graphics Programming in c++ Writing Graphics Applications for Windows 98, Springer

4 Mark Walmsley, BSc, PhD ISBN-13: Springer-Verlag Berlin Heidelberg New York British Library Cataloguing in Publication Data Walmsley, Mark Graphics programming in c++ : writing graphics applications for Windows 98 l.c++ (Computer program language) 2.Computer graphics l.title 006.6'633 ISBN-13: Library of Congress Cataloging-in-Publication Data Walmsley, Mark, Graphics programming in C++ : writing graphics applications for Windows 981 Mark Walmsley. p. em. Includes index ISBN-13: e-isbn-13: DOI: / Computer graphics. 2. C++ (Computer program language) 3. Microsoft Windows (Computer me) I. Title. T385.W '633--dc Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of repro graphic reproduction in accordance with the terms of licences issued by the Copyright Licensing Agency. Enquiries concerning reproduction outside those terms should be sent to the publishers. Springer-Verlag London Limited 1998 Softcover reprint of the hardcover 1st edition 1998 The use of registered names, trademarks etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant laws and regulations and therefore free for general use. The publisher makes no representation, express or implied, with regard to the accuracy of the information contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be made. Typesetting: Camera Ready by author 34/ Printed on acid-free paper

5 Contents Preface... ix 1. Message-Based Programming Windows 98 Programming Window Components Message Queues Window Callback Functions The WinMain () Function Windows 98 Messages Some Important Messages Sununary Window Management Window Classes Creating a Window WinMain () Revisited Message Handlers The Hello Program Windows 98 Program Framework Sununary Object Orientation Object Oriented Programming The Manager Object Windows and Objects Message Boxes Popup Menus The VIEW Class Summary... 43

6 vi Graphics Programming in C++ 4. Pens and Bmshes Graphics Device Interface GDI Objects Windows 98 Coordinate Systems GDI Drawing Functions Tracking the Mouse Summary Bitmaps Pixels and Colours Windows 98 Resources Displaying a Bitmap Resource The DIB Class Storing Images in Files Summary , Palettes Logical and System Palettes Palette Messages Creating a Palette The PALETTE Class Updating the DIB Class Summary Sprite Animation The SPRITE Class Animation Flicker Transparency Threads Summary

7 Contents vii 8. Wire-Frame Graphics Polygon Worlds... III 8.2 The WORLD and SCENE Objects... US 8.3 Line Drawing Line Clipping Summary Polygon-Fill Techniques The GDI Approach Polygon Outlines Filling with a Solid Colour Drawing 3D Images Virtual World Chunks Summary Assembly Language Programming Computer Basics Updating the Message Loop The 80x86 Registers Data Transfer Arithmetic and Logical Operations Flow Control Faster Polygon-Fill Routines Program Stack Summary Mathematics of 3D Geometry ILl Vectors and Matrices The VECTOR Class Scalar Product Vector Product Triple Product Lines and Planes Summary

8 viii Graphics Programming in C Projection of tbe Viewing Volume Perspective Projections The Viewing Volume Taking a Snapshot Projecting and Clipping A Vanishing Cube Summary Hidden Pixel Removal Constructing a Scene Image The Painter's Algorithm Separating Planes Binary Space Partitioning Drawing in Reverse Z-Buffers Summary Colour Sbading and Textures Lights and Surfaces Shading Options Texture Mapping Implementation Optimizations Depth Perception Summary In Motion The Graphics Pipeline Animating the Virtual World Translations Rotations Transforming Coordinates Summary Postscript Index

9 Preface This is a book about computer graphics. It is aimed primarily at anyone wishing to develop graphics applications for Windows 98 and attempts to provide a quick and clear introduction to the subject without encumbering the reader in a mass of extraneous details. The application of object oriented techniques to graphics programming is a principal theme throughout the text and most of the software is written in C++ so a familiarity with C/C++ will be helpful - for a fuller introduction to the C++ language than is possible here consult the book 'Programming in C++' (ISBN ). Beyond this only a general background in computing and/or mathematics is assumed and whenever new ideas are encountered they are fully explained with the aid of line-drawings and illustrative coding examples. For those brave enough chapter 10 also introduces the topic of 80 x86 assembly language programming - without dedicated graphics hardware this is still the best way to produce really snappy animation code. The material covered by the book may be divided into three main categories: - graphics facilities provided by Windows 98-2D drawing algorithms - simulation of a 3D virtual world These correspond roughly to chapters 1-6, chapters 7-10 and chapters respectively although there is some overlap - more specifically the book is laid out according to the following plan: Chapters 1 and 2 An introduction to message-based programming under the Windows 98 operating system - the basic procedure for creating and managing a window is also detailed here. Chapter 3 Object oriented programming is a revolutionary approach to handling complexity in computer software design - this chapter discusses the application of object oriented techniques to graphics programming. Chapters 4 to 6 These chapters cover the graphics facilities provided by the Windows 98 Graphics Device Interface - the key graphical items available under Windows 98 include pens, brushes, bitmaps and palettes.

10 x Graphics Programming in C++ Chapters 7 to 9 A selection of 2D drawing algorithms for generating bitmapped, wire-frame and polygon-fill images are described here - in particular, animated bitmap images are used to implement computer sprites. Chapters 10 and 11 A technical and mathematical interlude that introduces assembly language programming and 3D vector geometry - these are important topics for many graphics applications. Chapters 12 to 15 The last chapters of the book describe the process of projecting an image of a 3D object onto a 2D screen - hidden pixel removal, colour shading, texture mapping and 3D computer animation are all explained. The book is written in incremental fashion and it is recommended that earlier chapters are well digested before later ones are tasted - so to begin at the beginning... MW March 1998

Foundations of 3D Graphics Programming

Foundations 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 information

Stereo Scene Flow for 3D Motion Analysis

Stereo Scene Flow for 3D Motion Analysis Stereo Scene Flow for 3D Motion Analysis Andreas Wedel Daniel Cremers Stereo Scene Flow for 3D Motion Analysis Dr. Andreas Wedel Group Research Daimler AG HPC 050 G023 Sindelfingen 71059 Germany andreas.wedel@daimler.com

More information

Lecture Notes in Mathematics Editors: J.--M. Morel, Cachan F. Takens, Groningen B. Teissier, Paris

Lecture Notes in Mathematics Editors: J.--M. Morel, Cachan F. Takens, Groningen B. Teissier, Paris Lecture Notes in Mathematics 1842 Editors: J.--M. Morel, Cachan F. Takens, Groningen B. Teissier, Paris 3 Berlin Heidelberg New York Hong Kong London Milan Paris Tokyo Trygve Johnsen Andreas Leopold Knutsen

More information

Real-Time Graphics Rendering Engine

Real-Time Graphics Rendering Engine Hujun Bao Wei Hua Real-Time Graphics Rendering Engine With 66 figures, 11 of them in color ADVANCED TOPICS IN SCIENCE AND TECHNOLOGY IN CHINA ADVANCED TOPICS IN SCIENCE AND TECHNOLOGY IN CHINA Zhejiang

More information

Software Development for SAP R/3

Software Development for SAP R/3 Software Development for SAP R/3 Springer-Verlag Berlin Heidelberg GmbH Ulrich Mende Software Development for SAP R/3 Data Dictionary, ABAP/4, Interfaces With Diskette With 124 Figures and Many Example

More information

Practical Usage of TSO REXX

Practical Usage of TSO REXX Practical Usage of TSO REXX Springer London Berlin Heidelberg New York Barcelona Hong Kong Milan Paris Singapore Tokyo Anthony S. Rudd Practical Usage of TSOREXX 3rd revised edition t Springer Anthony

More information

The Art of Lisp Programming

The Art of Lisp Programming The Art of Lisp Programming Robin Jones Clive Maynard Ian Stewart The Art of Lisp Programming With 12 Illustrations Springer-Verlag London Berlin Heidelberg N ew York Paris Tokyo Hong Kong Robin Jones

More information

Programming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley

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 information

Computer Graphics. Apurva A. Desai

Computer Graphics. Apurva A. Desai Computer Graphics Apurva A. Desai COMPUTER GRAPHICS Apurva A. Desai Professor and Head Department of Computer Science Veer Narmad South Gujarat University Surat New Delhi-110001 2008 COMPUTER GRAPHICS

More information

Fundamentals of Operating Systems. Fifth Edition

Fundamentals of Operating Systems. Fifth Edition Fundamentals of Operating Systems Fifth Edition Fundamentals of Operating Systems A.M. Lister University of Queensland R. D. Eager University of Kent at Canterbury Fifth Edition Springer Science+Business

More information

Theory of Automatic Robot Assembly and Programming

Theory of Automatic Robot Assembly and Programming Theory of Automatic Robot Assembly and Programming Theory of Automatic Robot Assembly and Programming Bartholomew o. Nnaji Professor and Director Automation and Robotics Laboratory Department of Industrial

More information

Julien Masanès. Web Archiving. With 28 Figures and 6 Tables ABC

Julien Masanès. Web Archiving. With 28 Figures and 6 Tables ABC Web Archiving Julien Masanès Web Archiving With 28 Figures and 6 Tables ABC Author Julien Masanès European Web Archive 25 rue des envierges 75020 Paris, France julien.masanes@bnf.fr ACM Computing Classification

More information

Mastering. Pascal and Delphi Programming

Mastering. Pascal and Delphi Programming Mastering Pascal and Delphi Programming MACMILLAN MASTER SERIES Accounting Advanced English Language Advanced Pure Mathematics Arabic Banking Basic Management Biology British Politics Business Administration

More information

0 Mastering Microsoft Office

0 Mastering Microsoft Office 0 Mastering Microsoft Office MACMILLAN MASTER SERIES Accounting Advanced English Language Advanced Pure Mathematics Arabic Banking Basic Management Biology British Politics Business Administration Business

More information

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 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 information

PowerVR Hardware. Architecture Overview for Developers

PowerVR Hardware. Architecture Overview for Developers Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

More information

ITIL 2011 At a Glance. John O. Long

ITIL 2011 At a Glance. John O. Long ITIL 2011 At a Glance John O. Long SpringerBriefs in Computer Science Series Editors Stan Zdonik Peng Ning Shashi Shekhar Jonathan Katz Xindong Wu Lakhmi C. Jain David Padua Xuemin Shen Borko Furht VS

More information

The Internet of Things

The Internet of Things The Internet of Things The Internet of Things Connecting Objects to the Web Edited by Hakima Chaouchi First published 2010 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc.

More information

Three-Dimensional Computer Vision

Three-Dimensional Computer Vision \bshiaki Shirai Three-Dimensional Computer Vision With 313 Figures ' Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Table of Contents 1 Introduction 1 1.1 Three-Dimensional Computer Vision

More information

Contributions to Economics

Contributions to Economics Contributions to Economics Kesra Nermend Vector Calculus in Regional Development Analysis Comparative Regional Analysis Using the Example of Poland Physica Verlag A Springer Company Dr. inž. Kesra Nermend

More information

8. Hidden Surface Elimination

8. Hidden Surface Elimination 8. Hidden Surface Elimination Identification and Removal of parts of picture that are not visible from a chosen viewing position. 1 8. Hidden Surface Elimination Basic idea: Overwriting Paint things in

More information

Models 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 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 information

MASTERING COBOL PROGRAMMING

MASTERING COBOL PROGRAMMING MASTERING COBOL PROGRAMMING MACMILLAN MASTER SERIES Banking Basic English Law Basic Management Biology British Politics Business Communication Business Microcomputing Chemistry COBOL Programming Commerce

More information

PERFORMANCE ANALYSIS OF REAL-TIME EMBEDDED SOFTWARE

PERFORMANCE ANALYSIS OF REAL-TIME EMBEDDED SOFTWARE PERFORMANCE ANALYSIS OF REAL-TIME EMBEDDED SOFTWARE PERFORMANCE ANALYSIS OF REAL-TIME EMBEDDED SOFTWARE Yau-Tsun Steven Li Monterey Design Systems, Inc. Sharad Malik Princeton University ~. " SPRINGER

More information

Visualization in Supercomputing

Visualization in Supercomputing Visualization in Supercomputing Raul H. Mendez Editor Visualization in Supercomputing With 166 Illustrations, 25 in Color Springer-Verlag New York Berlin Heidelberg London Paris Tokyo Hong Kong Raul H.

More information

Overview: Ray Tracing & The Perspective Projection Pipeline

Overview: 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 information

Springer-Verlag Wien GmbH

Springer-Verlag Wien GmbH mental ray Handbooks Edited by RolfHerken Vol. l Springer-Verlag Wien GmbH Th. Driemeyer Rendering with mental ray Second, revised edition Springer-Verlag Wien GmbH Thomas Driemeyer mental images Gesellschaft

More information

Computer Graphics Shadow Algorithms

Computer Graphics Shadow Algorithms Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows

More information

Rasterization Overview

Rasterization 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 information

MULTIMEDIA DATABASE MANAGEMENT SYSTEMS

MULTIMEDIA DATABASE MANAGEMENT SYSTEMS MULTIMEDIA DATABASE MANAGEMENT SYSTEMS THE KLUWER INTERNATIONAL SERIES IN ENGINEERING AND COMPUTER SCIENCE MULTIMEDIA SYSTEMS AND APPLICATIONS Recently Published Titles: Consulting Editor Borko Furht Florida

More information

Open-Source Robotics and Process Control Cookbook

Open-Source Robotics and Process Control Cookbook Open-Source Robotics and Process Control Cookbook This page intentionally left blank Open-Source Robotics and Process Control Cookbook Designing and Building Robust, Dependable Real-Time Systems by Lewin

More information

A Structured Programming Approach to Data

A Structured Programming Approach to Data A Structured Programming Approach to Data Macmillan Computer Science Series Consulting Editor: Professor F. H. Sumner, University of Manchester J. K. Buckle, The ICL 2900 Series Andrew J. T. Colin, Programming

More information

CSE 167: Introduction to Computer Graphics Lecture #5: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

CSE 167: Introduction to Computer Graphics Lecture #5: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 CSE 167: Introduction to Computer Graphics Lecture #5: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Friday: homework 1 due at 2pm Upload to TritonEd

More information

Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming Nasser Kehtarnavaz

Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming Nasser Kehtarnavaz Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming Nasser Kehtarnavaz Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming by Nasser Kehtarnavaz University

More information

Whitestein Series in software Agent Technologies. About whitestein Technologies

Whitestein Series in software Agent Technologies. About whitestein Technologies Whitestein Series in software Agent Technologies Series Editors: Marius Walliser Stefan Brantschen Monique Calisti Thomas Hempfling This series reports new developments in agent-based software technologies

More information

Spring 2009 Prof. Hyesoon Kim

Spring 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 information

Windows and Graphics Programming with Visual C ++

Windows and Graphics Programming with Visual C ++ Introduction to Windows and Graphics Programming with Visual C ++ with Companion Media Pack Second Edition This page intentionally left blank Introduction to Windows and Graphics Programming with Visual

More information

OpenGL: 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. 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 information

Roll No. :... Invigilator's Signature : GRAPHICS AND MULTIMEDIA. Time Allotted : 3 Hours Full Marks : 70

Roll No. :... Invigilator's Signature : GRAPHICS AND MULTIMEDIA. Time Allotted : 3 Hours Full Marks : 70 Name : Roll No. :.... Invigilator's Signature :.. CS/MCA/SEM-4/MCA-402/2011 2011 GRAPHICS AND MULTIMEDIA Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates

More information

A. Portela A. Charafi Finite Elements Using Maple

A. Portela A. Charafi Finite Elements Using Maple A. Portela A. Charafi Finite Elements Using Maple Springer -V erlag Berlin Heidelberg GmbH Engineering ONLINE library http://www.springer.deleng inel A. Portela A. Charafi Finite Elements Using Maple A

More information

Clipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Clipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Clipping 1 Objectives Clipping lines First of implementation algorithms Clipping polygons (next lecture) Focus on pipeline plus a few classic algorithms 2 Clipping 2D against clipping window 3D against

More information

Advanced Data Mining Techniques

Advanced Data Mining Techniques Advanced Data Mining Techniques David L. Olson Dursun Delen Advanced Data Mining Techniques Dr. David L. Olson Department of Management Science University of Nebraska Lincoln, NE 68588-0491 USA dolson3@unl.edu

More information

Image Processing, Analysis and Machine Vision

Image Processing, Analysis and Machine Vision Image Processing, Analysis and Machine Vision Milan Sonka PhD University of Iowa Iowa City, USA Vaclav Hlavac PhD Czech Technical University Prague, Czech Republic and Roger Boyle DPhil, MBCS, CEng University

More information

Unlocking the Power of OPNET Modeler

Unlocking the Power of OPNET Modeler Unlocking the Power of OPNET Modeler For fast, easy modeling, this practical guide provides all the essential information you need to know. A wide range of topics is covered, including custom protocols,

More information

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts Visible Surface Detection Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts Two approaches: 1. Object space methods 2. Image

More information

Convex Analysis and Minimization Algorithms I

Convex Analysis and Minimization Algorithms I Jean-Baptiste Hiriart-Urruty Claude Lemarechal Convex Analysis and Minimization Algorithms I Fundamentals With 113 Figures Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona

More information

Representing Graphical Data

Representing Graphical Data Representing Graphical Data Chapman & Chapman, chapters 3,4,5 Richardson 1 Graphics in IT82 What does computer graphics cover? IT82 Input, output, and representation of graphical data Creation of graphics

More information

Guide to OSI and TCP/IP Models

Guide to OSI and TCP/IP Models SPRINGER BRIEFS IN COMPUTER SCIENCE Mohammed M. Alani Guide to OSI and TCP/IP Models SpringerBriefs in Computer Science Series editors Stan Zdonik Peng Ning Shashi Shekhar Jonathan Katz Xindong Wu Lakhmi

More information

Introduction. What s New in This Edition

Introduction. 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 information

Multimedia Technology CHAPTER 4. Video and Animation

Multimedia Technology CHAPTER 4. Video and Animation CHAPTER 4 Video and Animation - Both video and animation give us a sense of motion. They exploit some properties of human eye s ability of viewing pictures. - Motion video is the element of multimedia

More information

Three-Dimensional Viewing Hearn & Baker Chapter 7

Three-Dimensional Viewing Hearn & Baker Chapter 7 Three-Dimensional Viewing Hearn & Baker Chapter 7 Overview 3D viewing involves some tasks that are not present in 2D viewing: Projection, Visibility checks, Lighting effects, etc. Overview First, set up

More information

OpenGL Graphics Through Applications

OpenGL Graphics Through Applications OpenGL Graphics Through Applications Robert Whitrow OpenGL Graphics Through Applications Robert Whitrow BSc, PhD London Metropolitan University, UK ISBN: 978-1-84800-022-3 e-isbn: 978-1-84800-023-0 British

More information

3D Viewing. CS 4620 Lecture 8

3D Viewing. CS 4620 Lecture 8 3D Viewing CS 46 Lecture 8 13 Steve Marschner 1 Viewing, backward and forward So far have used the backward approach to viewing start from pixel ask what part of scene projects to pixel explicitly construct

More information

Chapter 6: An Introduction to System Software and Virtual Machines

Chapter 6: An Introduction to System Software and Virtual Machines Objectives Chapter 6: An Introduction to System Software and Virtual Machines Invitation to Computer Science, C++ Version, Third Edition In this chapter, you will learn about: System software Assemblers

More information

Projection and viewing. Computer Graphics CSE 167 Lecture 4

Projection and viewing. Computer Graphics CSE 167 Lecture 4 Projection and viewing Computer Graphics CSE 167 Lecture 4 CSE 167: Computer Graphics Review: transformation from the object (or model) coordinate frame to the camera (or eye) coordinate frame Projection

More information

CorelDRAW X7. Kogent Learning Solutions Inc. Authored by: Published by:

CorelDRAW X7. Kogent Learning Solutions Inc. Authored by: Published by: CorelDRAW X7 Authored by: Kogent Learning Solutions Inc. Published by: Copyright by 2014 Dreamtech Press, 19-A, Ansari Road, Daryaganj, New Delhi-110002 This book may not be duplicated in any way without

More information

Concrete Abstractions

Concrete Abstractions Concrete Abstractions Concrete Abstractions An Introduction to Computer Science Using Scheme Max Hailperin Gustavus Adolphus College Barbara Kaiser Gustavus Adolphus College Karl Knight Gustavus Adolphus

More information

9. Visible-Surface Detection Methods

9. Visible-Surface Detection Methods 9. Visible-Surface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:

More information

COMPUTER GRAPHICS COURSE. Rendering Pipelines

COMPUTER GRAPHICS COURSE. Rendering Pipelines COMPUTER GRAPHICS COURSE Rendering Pipelines Georgios Papaioannou - 2014 A Rendering Pipeline Rendering or Graphics Pipeline is the sequence of steps that we use to create the final image Many graphics/rendering

More information

Fundamentals of Operating Systems

Fundamentals of Operating Systems Fundamentals of Operating Systems Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester S. T. Allworth, Introduction to Real-time Software Design Ian O. Angell,

More information

RETARGETABLE CODE GENERATION FOR DIGITAL SIGNAL PROCESSORS

RETARGETABLE CODE GENERATION FOR DIGITAL SIGNAL PROCESSORS RETARGETABLE CODE GENERATION FOR DIGITAL SIGNAL PROCESSORS RETARGETABLE CODE GENERATION FOR DIGITAL SIGNAL PROCESSORS Rainer LEUPERS University of Dortmund Department of Computer Science Dortmund, Germany

More information

Hidden Surface Removal

Hidden Surface Removal Outline Introduction Hidden Surface Removal Hidden Surface Removal Simone Gasparini gasparini@elet.polimi.it Back face culling Depth sort Z-buffer Introduction Graphics pipeline Introduction Modeling Geom

More information

PROBLEM SOLVING USING JAVA WITH DATA STRUCTURES. A Multimedia Approach. Mark Guzdial and Barbara Ericson PEARSON. College of Computing

PROBLEM SOLVING USING JAVA WITH DATA STRUCTURES. A Multimedia Approach. Mark Guzdial and Barbara Ericson PEARSON. College of Computing PROBLEM SOLVING WITH DATA STRUCTURES USING JAVA A Multimedia Approach Mark Guzdial and Barbara Ericson College of Computing Georgia Institute of Technology PEARSON Boston Columbus Indianapolis New York

More information

3D graphics, raster and colors CS312 Fall 2010

3D graphics, raster and colors CS312 Fall 2010 Computer Graphics 3D graphics, raster and colors CS312 Fall 2010 Shift in CG Application Markets 1989-2000 2000 1989 3D Graphics Object description 3D graphics model Visualization 2D projection that simulates

More information

Computer Graphics and Visualization. What is computer graphics?

Computer Graphics and Visualization. What is computer graphics? CSCI 120 Computer Graphics and Visualization Shiaofen Fang Department of Computer and Information Science Indiana University Purdue University Indianapolis What is computer graphics? Computer graphics

More information

CSE 167: Introduction to Computer Graphics Lecture #5: Visibility, OpenGL

CSE 167: Introduction to Computer Graphics Lecture #5: Visibility, OpenGL CSE 167: Introduction to Computer Graphics Lecture #5: Visibility, OpenGL Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Tomorrow: assignment 1 due Grading

More information

SYMBOLIC COMPUTATION. Managing Editors: J. Encama~o P. Hayes Artificial Intelligence Editors: L. Bole A Bundy J. Siekmann

SYMBOLIC COMPUTATION. Managing Editors: J. Encama~o P. Hayes Artificial Intelligence Editors: L. Bole A Bundy J. Siekmann SYMBOLIC COMPUTATION Managing Editors: J. Encama~o P. Hayes Artificial Intelligence Editors: L. Bole A Bundy J. Siekmann The Design of Interpreters, Compilers, and Editors for Augmented Transition Networks

More information

CLASSIC DATA STRUCTURES IN JAVA

CLASSIC DATA STRUCTURES IN JAVA CLASSIC DATA STRUCTURES IN JAVA Timothy Budd Oregon State University Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Paris Cape Town Hong Kong Montreal CONTENTS

More information

Programming 8-bit PIC Microcontrollers in С

Programming 8-bit PIC Microcontrollers in С Programming 8-bit PIC Microcontrollers in С with Interactive Hardware Simulation Martin P. Bates älllllltlilisft &Щ*лЛ AMSTERDAM BOSTON HEIDELBERG LONDON ^^Ш NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO

More information

CS 4620 Midterm, March 21, 2017

CS 4620 Midterm, March 21, 2017 CS 460 Midterm, March 1, 017 This 90-minute exam has 4 questions worth a total of 100 points. Use the back of the pages if you need more space. Academic Integrity is expected of all students of Cornell

More information

FUZZY LOGIC WITH ENGINEERING APPLICATIONS

FUZZY LOGIC WITH ENGINEERING APPLICATIONS FUZZY LOGIC WITH ENGINEERING APPLICATIONS Third Edition Timothy J. Ross University of New Mexico, USA A John Wiley and Sons, Ltd., Publication FUZZY LOGIC WITH ENGINEERING APPLICATIONS Third Edition FUZZY

More information

AutoCAD DWG Drawing Limitations in SAP 3D Visual Enterprise 9.0 FP02

AutoCAD DWG Drawing Limitations in SAP 3D Visual Enterprise 9.0 FP02 AutoCAD DWG Drawing Limitations in SAP 3D Visual Enterprise 9.0 FP02 AutoCAD Import Limitations The following is a list of AutoCAD features that will not give an expected viewable when using SAP 3D Visual

More information

Thank you for backing the project. Hope you enjoy these PDFs over the next few months <3

Thank you for backing the project. Hope you enjoy these PDFs over the next few months <3 The PDF archives Thank you for backing the project. Hope you enjoy these PDFs over the next few months

More information

Computer Graphics and Visualization. Graphics Systems and Models

Computer Graphics and Visualization. Graphics Systems and Models UNIT -1 Graphics Systems and Models 1.1 Applications of computer graphics: Display Of Information Design Simulation & Animation User Interfaces 1.2 Graphics systems A Graphics system has 5 main elements:

More information

Real Time Reflections Han-Wei Shen

Real Time Reflections Han-Wei Shen Real Time Reflections Han-Wei Shen Reflections One of the most noticeable effect of inter-object lighting Direct calculation of the physics (ray tracing) is too expensive Our focus is to capture the most

More information

Multimedia Messaging Service

Multimedia Messaging Service Multimedia Messaging Service An Engineering Approach to MMS Gwenaël Le Bodic Alcatel, France Multimedia Messaging Service Multimedia Messaging Service An Engineering Approach to MMS Gwenaël Le Bodic

More information

Graphics in IT82. Representing Graphical Data. Graphics in IT82. Lectures Overview. Representing Graphical Data. Logical / Physical Representation

Graphics in IT82. Representing Graphical Data. Graphics in IT82. Lectures Overview. Representing Graphical Data. Logical / Physical Representation Graphics in IT82 What does computer graphics cover? Representing Graphical Data Chapman & Chapman, chapters 3,4,5 Richardson IT82 Input, output, and representation of graphical data Creation of graphics

More information

Computer Science 175. Introduction to Computer Graphics lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba

Computer Science 175. Introduction to Computer Graphics  lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba Computer Science 175 Introduction to Computer Graphics www.fas.harvard.edu/ lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba Instructor: Steven shlomo Gortler www.cs.harvard.edu/ sjg sjg@cs.harvard.edu

More information

DMU Engineering Analysis Review

DMU Engineering Analysis Review Page 1 DMU Engineering Analysis Review Preface Using This Guide Where to Find More Information Conventions What's New? Getting Started Inserting a CATAnalysis Document Using DMU Space Analysis From CATAnalysis

More information

COMPUTER VISION FOR VISUAL EFFECTS

COMPUTER VISION FOR VISUAL EFFECTS COMPUTER VISION FOR VISUAL EFFECTS Modern blockbuster movies seamlessly introduce impossible characters and action into real-world settings using digital visual effects. These effects are made possible

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Lecture 25: Board Notes: Threads and GPUs

Lecture 25: Board Notes: Threads and GPUs Lecture 25: Board Notes: Threads and GPUs Announcements: - Reminder: HW 7 due today - Reminder: Submit project idea via (plain text) email by 11/24 Recap: - Slide 4: Lecture 23: Introduction to Parallel

More information

White Paper. Solid Wireframe. February 2007 WP _v01

White Paper. Solid Wireframe. February 2007 WP _v01 White Paper Solid Wireframe February 2007 WP-03014-001_v01 White Paper Document Change History Version Date Responsible Reason for Change _v01 SG, TS Initial release Go to sdkfeedback@nvidia.com to provide

More information

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig)

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig) Computer Science 175 Introduction to Computer Graphics www.fas.harvard.edu/ lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba Instructor: Steven shlomo Gortler www.cs.harvard.edu/ sjg sjg@cs.harvard.edu

More information

CHAPTER 1: SOLIDWORKS 2008 USER INTERFACE

CHAPTER 1: SOLIDWORKS 2008 USER INTERFACE CHAPTER 1: SOLIDWORKS 2008 USER INTERFACE Chapter Objective SolidWorks is a design software application used to model and create 2D and 3D sketches, 3D parts and assemblies, and 2D drawings. Chapter 1

More information

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13 Lecture 1 Computer Graphics and Systems What is Computer Graphics? Image Formation Sun Object Figure from Ed Angel,D.Shreiner: Interactive Computer Graphics, 6 th Ed., 2012 Addison Wesley Computer Graphics

More information

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October

More information

- Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr

- Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr CS171 Computer Graphics Time: 3pm-3:55pm MW(F) - Location: Annenberg 105 - Text: Mostly Self-Contained on course Web pages Instructor: - Al Barr barradmin@cs.caltech.edu, TAs: - Kevin (Kevli) Li - kevli@caltech.edu

More information

Introduction to 3D Graphics

Introduction 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 information

3 Polygonal Modeling. Getting Started with Maya 103

3 Polygonal Modeling. Getting Started with Maya 103 3 Polygonal Modeling In Maya, modeling refers to the process of creating virtual 3D surfaces for the characters and objects in the Maya scene. Surfaces play an important role in the overall Maya workflow

More information

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 FTF-AUT-F0348 Hugo Osornio Luis Olea A P R. 2 0 1 4 TM External Use Agenda Back to the Basics! What is a GPU?

More information

Volume Shadows Tutorial Nuclear / the Lab

Volume Shadows Tutorial Nuclear / the Lab Volume Shadows Tutorial Nuclear / the Lab Introduction As you probably know the most popular rendering technique, when speed is more important than quality (i.e. realtime rendering), is polygon rasterization.

More information

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project

More information

Embedded Java Security

Embedded Java Security Embedded Java Security Mourad Debbabi, Mohamed Saleh, Chamseddine Talhi and Sami Zhioua Embedded Java Security Security for Mobile Devices Mourad Debbabi, Full Professor and CU Research Chair Tier I Mohamed

More information

Chapter 23- UV Texture Mapping

Chapter 23- UV Texture Mapping Chapter 23- UV Texture Mapping Since games need to be able to process operations as fast as possible, traditional rendering techniques (specular, ray tracing reflections and refractions) cannot typically

More information

COM337 COMPUTER GRAPHICS Other Topics

COM337 COMPUTER GRAPHICS Other Topics COM337 COMPUTER GRAPHICS Other Topics Animation, Surface Details, Global Illumination Kurtuluş Küllü based on the book by Hearn, Baker, and Carithers There are some other important issues and topics that

More information

Animation & Rendering

Animation & 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 information

Practical Linear Algebra

Practical Linear Algebra Practical Linear Algebra AGeometryToolbox Third Edition Gerald Farin Dianne Hansford CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 2014 by Taylor &

More information

Advances in Computer Vision and Pattern Recognition

Advances in Computer Vision and Pattern Recognition Advances in Computer Vision and Pattern Recognition Founding editor Sameer Singh, Rail Vision, Castle Donington, UK Series editor Sing Bing Kang, Microsoft Research, Redmond, WA, USA Advisory Board Horst

More information

Binghamton University. EngiNet. State University of New York

Binghamton University. EngiNet. State University of New York Binghamton University EngiNet State University of New York 1 Thomas J. Watson School of Engineering and Applied Science EngiNet WARNING All rights reserved. No Part of this video lecture series may be

More information