Hardware Accelerated Computer Graphics Algorithms

Total Page:16

File Type:pdf, Size:1020Kb

Hardware Accelerated Computer Graphics Algorithms Hardware Accelerated Computer Graphics Algorithms Daniel Thomas Rhodes May 2008 A thesis submitted in partial fulfilment of the requirements of Nottingham Trent University for the degree of Doctor of Philosophy School of Science and Technology Nottingham Trent University Clifton Lane Nottingham NG11 8NS TableTable ofof ContentsContents Chapter 1: Introduction...............................................................1 Chapter 2: Overview of Graphics Hardware............................5 2.1 The Fixed Function Pipeline...................................................................................6 2.2 The Programmable Pipeline....................................................................................8 2.2.1 Shader Model 3............................................................................................. 11 2.2.2 High Level Shader Languages...................................................................... 11 2.2.2.1 Alternatives............................................................................................14 2.2.2.2 Advantages and Disadvantages............................................................. 15 2.3 Life at the Bleeding Edge..................................................................................... 17 2.3.1 Precision........................................................................................................20 Chapter 3: Depth of Field..........................................................24 3.1 What is Depth of Field?........................................................................................ 27 3.2 Existing Solutions................................................................................................. 31 3.2.1 Blurring by Multiple Viewpoints.................................................................. 31 3.2.1.1 Blurring by Multisampling....................................................................32 3.2.1.2 Ray Tracing........................................................................................... 33 3.2.2 Blurring Dependant on Depth....................................................................... 34 3.3 New Depth of Field Implementation.................................................................... 37 3.4 Results...................................................................................................................50 3.4.1 Software........................................................................................................ 50 3.4.2 Hardware....................................................................................................... 52 3.4.2.1 A-Buffers............................................................................................... 52 3.4.2.2 B-Buffers............................................................................................... 53 3.5 Conclusions...........................................................................................................55 Chapter 4: Texture Mapping and Aliasing..............................58 4.1 The Aliasing Problem........................................................................................... 63 4.1.1 Types of Aliasing...........................................................................................65 4.1.1.1 Edge Aliasing.........................................................................................66 4.1.1.1.1 Supersampling............................................................................... 66 4.1.1.1.2 Multisampling................................................................................67 4.1.1.2 Texture Aliasing.....................................................................................69 4.2 Existing Solutions................................................................................................. 73 4.2.1 MIP Mapping................................................................................................ 73 4.2.2 Bilinear Filtering........................................................................................... 77 4.2.3 Trilinear Filtering.......................................................................................... 79 4.2.4 “Brilinear” and “Trylinear” Filtering............................................................ 81 4.2.5 RIP Mapping................................................................................................. 85 4.2.6 Anisotropic Filtering..................................................................................... 86 4.2.7 Elliptical Weighted Average..........................................................................90 4.2.8 Texram...........................................................................................................93 4.2.9 Feline.............................................................................................................94 4.2.10 Clamping..................................................................................................... 95 4.2.11 Texture Potential MIP Mapping.................................................................. 98 4.2.12 Conclusions................................................................................................. 99 4.3 Fourier Textures.................................................................................................... 99 4.3.1 Fourier Textures Technique.........................................................................101 4.3.2 Results......................................................................................................... 109 4.3.3 Conclusions................................................................................................. 114 4.4 Fourier Texture Filtering..................................................................................... 114 4.4.1 Fourier Texture Filtering Technique............................................................115 4.4.2 Texture Selection......................................................................................... 119 4.4.3 Results......................................................................................................... 129 4.4.3.1 Software...............................................................................................135 4.4.3.2 Hardware............................................................................................. 135 4.4.3.2.1 Theoretical Performance..............................................................139 4.4.3.2.2 Memory utilisation.......................................................................139 4.4.3.2.3 Samples and bandwidth............................................................... 143 4.4.3.2.4 Observed Performance.................................................................150 4.4.3.2.5 Visual Results.............................................................................. 157 4.5 Conclusions.........................................................................................................183 Chapter 5: Bump Mapping.....................................................188 5.1 Existing Solutions............................................................................................... 189 5.1.1 Emboss Bump Mapping..............................................................................189 5.1.2 Normal Mapping......................................................................................... 192 5.1.3 Environment Mapped Bump Mapping........................................................196 5.1.4 Parallax Mapping........................................................................................ 197 5.1.5 Displacement Mapping............................................................................... 200 5.2 Anti-Aliased Bump Mapping..............................................................................202 5.3 Super Bump Mapping.........................................................................................207 5.3.1 Efficient anti-aliased bump mapping.......................................................... 207 5.3.2 Super Bump Mapping Technique................................................................210 5.4 Results.................................................................................................................213 5.4.1 Visual Results..............................................................................................213 5.4.2 Performance................................................................................................ 220 5.5 Conclusions.........................................................................................................222 Chapter 6: Conclusions and Future Work.............................223 References................................................................................. 230 Appendices................................................................................ 247 Appendix A:Software Frequency Tests.....................................................................248 Appendix B:Hardware Frequency Tests................................................................... 265 Appendix C:Typical Video Game Scenes.................................................................286 Appendix D:Histograms........................................................................................... 291 Appendix E:Textures in Fourier Space..................................................................... 301 Appendix F:Super Bump Mapping Images.............................................................
Recommended publications
  • Technical Reference Manual Hp Business Pc Technology
    hp business pc technology hp vectra xe310 hp vectra xe320 hp vectra vl400 hp vectra vl410 hp vectra vl420 hp e-pc c10/s10 hp e-pc 40 hp e-pc 42 technical reference manual hp business pcs www.hp.com/go/vectrasupport www.hp.com/go/e-pcsupport Notice The information contained in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material. This document contains proprietary information that is protected by copyright. All rights are reserved. No part of this document may be photocopied, reproduced, or translated to another language without the prior written consent of Hewlett-Packard Company. Adobe®, Acrobat® and Acrobat® Reader™ are trademarks or registered trademarks of Adobe Systems Incorporated. Microsoft®, MS-DOS®, Windows® and Windows NT® are U.S. registered trademarks of Microsoft Corporation. Celeron™ and AGPset™ are trademarks of Intel Corporation. Intel® and Pentium® are registered trademarks of Intel Corporation. Symbios® is a registered trademark of LSI Logic Corporation. NVIDIA™, GeForce2 MX™, GeForce3™, TNT™, Vanta™ and TwinView™ are trademarks of NVIDIA Corporation. Matrox® and DualHead® are registered trademarks of Matrox Electronic Systems Ltd. ATI™ is a trademark of ATI Technologies Inc. WOL™ (Wake on LAN) is a trademark of IBM Corporation. CrystalClear™ is a trademark and Crystal® is a registered trademark of Cirrus Logic Incorporated.
    [Show full text]
  • Millennium G400/G400 MAX User Guide
    ENGLISH Millennium G400 • Millennium G400 MAX User Guide 10526-301-0510 1999.05.21 Contents Using this guide 3 Hardware installation 4 Software installation 7 Software setup 8 Accessing PowerDesk property sheets................................................................................................8 Monitor setup ......................................................................................................................................8 DualHead Multi-Display setup............................................................................................................9 More information ..............................................................................................................................11 Troubleshooting 12 Extra troubleshooting 18 Graphics ............................................................................................................................................18 Video .................................................................................................................................................23 DVD ..................................................................................................................................................24 TV output 26 Connection setup...............................................................................................................................26 SCART adapter .................................................................................................................................28 Software
    [Show full text]
  • Troubleshooting Guide Table of Contents -1- General Information
    Troubleshooting Guide This troubleshooting guide will provide you with information about Star Wars®: Episode I Battle for Naboo™. You will find solutions to problems that were encountered while running this program in the Windows 95, 98, 2000 and Millennium Edition (ME) Operating Systems. Table of Contents 1. General Information 2. General Troubleshooting 3. Installation 4. Performance 5. Video Issues 6. Sound Issues 7. CD-ROM Drive Issues 8. Controller Device Issues 9. DirectX Setup 10. How to Contact LucasArts 11. Web Sites -1- General Information DISCLAIMER This troubleshooting guide reflects LucasArts’ best efforts to account for and attempt to solve 6 problems that you may encounter while playing the Battle for Naboo computer video game. LucasArts makes no representation or warranty about the accuracy of the information provided in this troubleshooting guide, what may result or not result from following the suggestions contained in this troubleshooting guide or your success in solving the problems that are causing you to consult this troubleshooting guide. Your decision to follow the suggestions contained in this troubleshooting guide is entirely at your own risk and subject to the specific terms and legal disclaimers stated below and set forth in the Software License and Limited Warranty to which you previously agreed to be bound. This troubleshooting guide also contains reference to third parties and/or third party web sites. The third party web sites are not under the control of LucasArts and LucasArts is not responsible for the contents of any third party web site referenced in this troubleshooting guide or in any other materials provided by LucasArts with the Battle for Naboo computer video game, including without limitation any link contained in a third party web site, or any changes or updates to a third party web site.
    [Show full text]
  • Linux As a Console
    PAUL SCHERRER INSTITUT EPICS COLLABORATION MEETING 7-10 MAY, 2001 PAUL SCHERRER INSTITUTE SWITZERLAND LINUX AS A CONSOLE COLIN HIGGS SLS COMPUTING AND CONTROLS PAUL SCHERRER INSTITUTE ˜/infrastructure/EPICS-talk.tex 9 May 2001 1 PAUL SCHERRER INSTITUT From the SLS Handbook (Chapter 8: Computing and Controls) Software Architecture Some of the primary criteria that must be considered are Performance: judged on real-time response as well as throughput considerations Flexibility: the ease with which it is possible to modify software, add new functionality and how well it can adapt to changing requirements Scalability: the ability for the system to grow in terms of – number of control points – number of nodes in the system Robustness: tolerance to errors from – users – software developers – hardware – software Openness: – the adherance to standards – the ability to interface easily (and without performance degradation) to other software packages (including commercial software) ˜/infrastructure/EPICS-talk.tex 9 May 2001 2 PAUL SCHERRER INSTITUT From the SLS Handbook (Chapter 8: Computing and Controls) Control Room The accelerators of the SLS complex will all be controlled from a single central control room. This control room will house the operator stations from which it will be possible to control all aspects of machine operation. Three consoles will be provided, in order to be able to carry out machine development in parallel with normal machine operation. Consoles will not be dedicated to one task or accelerator. All consoles will have the same facilities. There will be no specialized hardware or software installed on just one console. Consoles will each have three display monitors (multi-headed), sharing a mouse and keyboard to avoid ...
    [Show full text]
  • Matrox in the New Millennium: Parhelia Reviewed Matrox in the New Millennium: Parhelia Reviewed by Brian Neal – July 2002
    Ace’s Hardware Matrox in the New Millennium: Parhelia Reviewed Matrox in the New Millennium: Parhelia Reviewed By Brian Neal – July 2002 Introduction For some time following the introduction of the Matrox G400 and later the G450, we heard rumors about a "G800" project. About a year and a month ago, Matrox introduced the world to the G550. But the G550 lacked the performance and features of its competitors, and was relegated mostly to 2D work. The G550 was more an evolution of the G450 than anything else, but this time, things are different. Matrox's new Parhelia is an all-new design, incorporating modern features such as Direct X 8.1-compliant pixel and vertex shaders. The G550's 166 MHz 64-bit DDR SDRAM memory interface has been replaced with a far more robust 275 MHz (250 MHz OEM/bulk) 256-bit DDR SDRAM interface capable of 17.6 GB/s. This combined with some interesting and innovative features like hardware displacement-mapping, triple-head surround gaming, and the prospects for Matrox's next- generation product are looking quite good. The Matrox Parhelia But not everything is looking so bright for Parhelia. Manufactured on a 0.15µ process, the 80 million transistor GPU is quite large and also quite hot. Consequently, it currently clocks in at only 220 MHz. To contrast, compare the GeForce 4 Ti4400's 300 MHz clockrate. The low clockrate is compounded by a lack of hardware occlusion culling, which means the quad-pipeline renderer is significantly less efficient than many other contemporary designs when it comes to overdraw.
    [Show full text]
  • Liquid Chrome Upgrade Cookbook
    Liquid chrome Upgrade Cookbook Liquid chrome v5.0 Configuration Cookbook 8/19/03 Page 1 Introduction This document is designed to help a TARGA 3000 or Liquid silver customer upgrade to Liquid chrome. The individual using this document must be technically capable of understanding and interpreting this information. Neither this document nor Pinnacle Systems Support are meant to educate the computing novice or casual integrator about the details needed to construct a reliable, high performance editing workstation. Experience has proved that a better use of time and money is to rely on a Pinnacle Systems Authorized VAR (Value Added Reseller) to configure and support a fully integrated Liquid editing workstation. This is a working document, periodically updated as new information or knowledge is acquired. Regardless of the advice given here, Pinnacle Systems does not warrant or guarantee the performance of the systems or components recommended. 1.1 Related Documents Specifics of Liquid chrome installation can be found in the Liquid chrome reference guide that is included with the product. There is a troubleshooting guide and frequently asked questions page on the Liquid chrome support site. Please consult these areas to avoid common problems. For information on how to contact Pinnacle Systems, please see http://www.pinnaclesys.com/support/contact/ Liquid chrome v5.0 Configuration Cookbook 8/26/2003 Page 2 2 Certified Workstations and Motherboards 2.1 What Does Certified Mean? A computer workstation or peripheral that has been certified by Pinnacle Systems means that the certified equipment has been tested at Pinnacle Systems and meets or exceeds our requirements for a particular product, and that the same model(s) from this manufacturer will perform at a predictable level of compliance.
    [Show full text]
  • Configuration Cookbook060602
    TARGA 3000 Configuration Cookbook Configuration Cookbook Updated 06/06/02 6/7/2002 1 TARGA 3000 Configuration Cookbook Table of Contents 1 General Information .........................................................................................................................4 1.1 Introduction ................................................................................................................................4 1.2 Related Documents ....................................................................................................................4 2 Certified Workstations and Motherboards ..........................................................................................5 2.1 What Does Certified Mean?.........................................................................................................5 2.2 System Requirements.................................................................................................................5 2.3 Choosing the Right Ingredients....................................................................................................5 2.4 Currently certified workstations ....................................................................................................6 2.5 Currently certified motherboards ..................................................................................................6 2.6 Incompatible hardware list...........................................................................................................7 3 System Considerations .....................................................................................................................8
    [Show full text]
  • Matrox MGA-G400 Specification
    Matrox Graphics Inc. Matrox MGA-G400 Specification Document Number 10617-MS-0101 June 2, 1999 Trademark Acknowledgements MGA,™ MGA-G400,™ MGA-1164SG,™ MGA-2064W,™ MGA-2164W,™ MGA-VC064SFB,™ MGA-VC164SFB,™ MGA Marvel,™ MGA Millennium,™ MGA Mystique,™ MGA Rainbow Runner,™ MGA DynaView,™ PixelTOUCH,™ MGA Control Panel,™ and Instant ModeSWITCH,™ are trademarks of Matrox Graphics Inc. Matrox® is a registered trademark of Matrox Electronic Systems Ltd. VGA,® is a registered trademark of International Business Machines Corporation; Micro Channel™ is a trademark of International Business Machines Corporation. Intel® is a registered trademark, and 386,™ 486,™ Pentium,™ and 80387™ are trademarks of Intel Corporation. Windows™ is a trademark of Microsoft Corporation; Microsoft,® and MS-DOS® are registered trademarks of Microsoft Corporation. AutoCAD® is a registered trademark of Autodesk Inc. Unix™ is a trademark of AT&T Bell Laboratories. X-Windows™ is a trademark of the Massachusetts Institute of Technology. AMD™ is a trademark of Advanced Micro Devices. Atmel® is a registered trademark of Atmel Corporation. Catalyst™ is a trademark of Catalyst Semiconductor Inc. SGS™ is a trademark of SGS- Thompson. Toshiba™ is a trademark of Toshiba Corporation. Texas Instruments™ is a trademark of Texas Instruments. National™ is a trademark of National Semiconductor Corporation. Microchip™ is a trademark of Microchip Technology Inc. All other nationally and internationally recognized trademarks and tradenames are hereby acknowledged. This document contains confidential proprietary information that may not be disclosed without written permission from Matrox Graphics Inc. © Copyright Matrox Graphics Inc., 1997. All rights reserved. Disclaimer: Matrox Graphics Inc. reserves the right to make changes to specifications at any time and without notice.
    [Show full text]
  • John Carmack Archive - Interviews
    John Carmack Archive - Interviews http://www.team5150.com/~andrew/carmack August 2, 2008 Contents 1 John Carmack Interview5 2 John Carmack - The Boot Interview 12 2.1 Page 1............................... 13 2.2 Page 2............................... 14 2.3 Page 3............................... 16 2.4 Page 4............................... 18 2.5 Page 5............................... 21 2.6 Page 6............................... 22 2.7 Page 7............................... 24 2.8 Page 8............................... 25 3 John Carmack - The Boot Interview (Outtakes) 28 4 John Carmack (of id Software) interview 48 5 Interview with John Carmack 59 6 Carmack Q&A on Q3A changes 67 1 John Carmack Archive 2 Interviews 7 Carmack responds to FS Suggestions 70 8 Slashdot asks, John Carmack Answers 74 9 John Carmack Interview 86 9.1 The Man Behind the Phenomenon.............. 87 9.2 Carmack on Money....................... 89 9.3 Focus and Inspiration...................... 90 9.4 Epiphanies............................ 92 9.5 On Open Source......................... 94 9.6 More on Linux.......................... 95 9.7 Carmack the Student...................... 97 9.8 Quake and Simplicity...................... 98 9.9 The Next id Game........................ 100 9.10 On the Gaming Industry.................... 101 9.11 id is not a publisher....................... 103 9.12 The Trinity Thing........................ 105 9.13 Voxels and Curves........................ 106 9.14 Looking at the Competition.................. 108 9.15 Carmack’s Research......................
    [Show full text]
  • Millennium G400 MAX User Guide
    ENGLISH Millennium G400 • Millennium G400 MAX User Guide 10526-301-0520 2000.02.18 Hardware installation WA R N I N G : To avoid personal injury, turn off your computer, unplug it, and then wait for it to cool before you touch any of its internal parts. Also, static electricity can severely damage electronic parts. Before touching any electronic parts, drain static electricity from your body (for example, by touching the metal frame of your computer). When handling a card, carefully hold it by its edges and avoid touching its circuitry. 1 Switch to the standard VGA display driver 9x 2k If you’re running Windows 95/98/2000 on your computer, this step isn’t necessary. If you’re using another operating system (for example, Windows NT 4.0), see its documentation for how to switch to VGA mode. 2 Open your computer and remove your existing graphics card* Turn off your computer and all peripherals such as your monitor or printer. Open the computer and remove your existing graphics card. (If you have a display adapter built into your computer’s motherboard, it should automatically disable itself after your Matrox card is installed.) 3 Locate the AGP slot in your computer (Back of computer) Most computers have different types of AGP slot expansion slots. Your Matrox graphics card PCI slot is an AGP card. Locate the AGP slot in your ISA slot computer. Your system manual should identify the location of each type of expansion slot in your computer. * With multi-display mode, you may be able to use your existing graphics card.
    [Show full text]
  • Mplayer - the Movie Player for Linux
    SelfLinux-0.12.3 MPlayer - The Movie Player for Linux Autor: Moritz Bunkus ([email protected]) Formatierung: Matthias Hagedorn ([email protected]) Lizenz: GPL MPlayer - The Movie Player for Linux Seite 2 Inhaltsverzeichnis 1 Wie diese Dokumentation zu lesen ist 2 Einleitung 3 Geschichte 4 MPlayer Installation 4.1 Voraussetzungen an die Software 4.2 Codecs 4.3 Grafikkarten 4.3.1 YUV-Karten 4.3.2 Nicht-YUV-Karten 4.4 Soundkarten 5 Features von MPlayer 5.1 Was ist mit dem GUI? 5.2 Untertitel und das OSD 5.2.1 Andere Untertitelformate 5.2.2 Angleichung der Untertitel-Anzeigezeit und der Platzierung 5.3 MPlayers eigenes Untertitelformat (MPsub) 5.4 Installation des OSD und der Untertitel 5.5 Das OSD-Menü 5.5.1 Installation 5.6 RTC 6 Features 6.1 Unterstützte Formate 6.1.1 Videoformate 6.1.1.1 MPEG-Dateien 6.1.1.2 AVI-Dateien 6.1.1.3 ASF/WMV-Dateien 6.1.1.4 QuickTime/MOV-Dateien 6.1.1.5 VIVO-Dateien 6.1.1.6 FLI-Dateien 6.1.1.7 RealMedia-(RM)-Dateien 6.1.1.8 NuppelVideo-Dateien 6.1.1.9 yuv4mpeg-Dateien 6.1.1.10 FILM-Dateien 6.1.1.11 RoQ-Dateien 6.1.1.12 OGG/OGM-Dateien 6.1.1.13 SDP-Dateien 6.1.1.14 PVA-Dateien 6.1.1.15 GIF-Dateien 6.1.2 Audio Formate 6.1.2.1 MP3-Dateien 6.1.2.2 WAV-Dateien 6.1.2.3 OGG/OGM-Dateien (Vorbis) SelfLinux-0.12.3 MPlayer - The Movie Player for Linux Seite 3 6.1.2.4 WMA/ASF-Dateien 6.1.2.5 MP4-Dateien 6.1.2.6 CD-Audio 6.1.2.7 XMMS 6.2 Unterstützte Codecs 6.2.1 Video-Codecs 6.2.1.1 DivX4/DivX5 6.2.1.2 FFmpeg's DivX/libavcodec 6.2.1.3 XAnim-Codecs 6.2.1.4 VIVO-Video 6.2.1.5 MPEG 1/2-Video 6.2.1.6 MS Video
    [Show full text]
  • Matrox Orion
    Matrox Orion Installation and Hardware Reference Manual no. 10704-101-0200 May 9, 2000 Matrox® is a registered trademark of Matrox Electronic Systems Ltd. Microsoft®, Windows®, and Windows NT® are registered trademarks of Microsoft Corporation. Intel®, Pentium®, and Pentium II® are registered trademarks of Intel Corporation. All other nationally and internationally recognized trademarks and tradenames are hereby acknowledged. © Copyright Matrox Electronic Systems Ltd., 2000. All rights reserved. Disclaimer: Matrox Electronic Systems Ltd. reserves the right to make changes in specifications at any time and without notice. The information provided by this document is believed to be accurate and reliable. However, no responsibility is assumed by Matrox Electronic Systems Ltd. for its use; nor for any infringements of patents or other rights of third parties resulting from its use. No license is granted under any patents or patent rights of Matrox Electronic Systems Ltd. PRINTED IN CANADA Contents Chapter 1: Introduction . 7 Matrox Orion . .8 Acquisition features . .8 Matrox MGA-G400 . .9 Display features . .9 Video encoding . .10 Software . .10 What you need to get started. .11 Inspecting the Matrox Orion package . .11 Standard package. .11 Optional parts . .12 Handling components. .12 Installation overview . .13 Chapter 2: Hardware installation . 15 Installing Matrox Orion . .16 Connecting external devices . .19 Outputting to external video devices . .20 Attaching a video input. .21 Chapter 3: Installing software . 23 Installing the software. .24 Matrox Intellicam . .24 Chapter 4: Matrox Display Properties and Matrox PowerDesk. 25 Overview . 26 Configuring your display . 27 Specifying your monitor . 27 Additional information . 29 Matrox Uninstall Program . 29 Chapter 5: Matrox Orion hardware reference .
    [Show full text]