A Multiprocessor Three-Dimensional Graphics System
Total Page:16
File Type:pdf, Size:1020Kb
A Multiprocessor Three-Dimensional Graphics System by v - HUI Chau Man A THESIS Submitted to The Chinese University of Hong Kong in partial fulfilment of the requirements for the degree of MASTER OF PHILOSOPHY Department of Computer Science June 1991 O O Cf J I / . • II > . i/jiJ'i-- r .)n d :• ’ ;(” • 1 "i ,Vi, ‘ ’• / :/ • ‘ ( :x • •. - -i V . -' a - K ••, ,.•’ V y \ “ Abstract J ABSTRACT The huge market size of the ISA computers has enabled the low-cost manufacturing of the ISA graphics display boards. However, most of these graphics boards are restricted to 2D graphics. As more and more applications demand the 3D graphics capabilities, there is really a need for the 3D ones. Instead of developing a new 3D board from the scratch, a depth processor was designed to assist an ISA computer equipped with a 2D graphics board to manipulate 3D graphics. The depth processor in fact handles the process of hidden line hidden surface removal which is critical for 3D graphics. Among all 2D graphics boards, the SuperVGA provides the best 3D performance when working with the depth processor. However, as the software routines driving the SuperVGA cannot fully utilize the SuperVGA's power, a hardware VGA Accelerator was developed, to boost the SuperVGA to its best performance. While combining the VGA accelerator with the depth processor, a 3D display device is actually produced. An ISA computer works with the depth processor and the VGA accelerator can in fact serve as a 3D graphics display server. A bus convenor was constructed to interface the ISA graphics display server with the VME bus. This lets the ISA graphics display server offer its 3D graphics capability to the single hoard computers running on the VME bus, which are also badly short of any affordable graphics capability. Nevertheless, suffering from the constraints like low bus bandwidth, slow processors and the lack of floating-point processing power, the ISA graphics display server can never provide sufficient graphics processing power to satisfy the requirements of the applications such as 3D animated graphics or dynamic object modelling. Instead, a system with wide data paths, high bus bandwidth, graphics-specific processing units, and floating-point processors must be employed if high-performance 3D graphics is desired. Based on these high-performance guidelines, a 3D graphics system with multiple i860 processors was designed. Predicated results show that performance of the multi-i860 system will be comparable to the top-of-the- line commercial graphics workstations. a Acknowlecli^ments ACKNOWLEDGEMENTS Like all the people who work on hardware design and implementation projects, I also need the advice of my supervisor and the assistance of the supporting staff badly. With skill and patience, my supervisor, Mr. K.H. Lee, taught me from the basic principles to the state-of-the-art techniques of hardware design which have been found practical and reliable during the implementation phase of the project. If there were not his systematic guidance and hints, I would have lost my way and many problems would have been left unsolved. Also, I would like to thank from the bottom of my heard the staff of the Digital Laboratory and the Microprocessor Laboratory for their strong support in the provision of data books, equipments, and components. I would like to thank Mr. Albert J. Bunshaft, Manager, graPHIGS Development of IBM Kingston, for sending me a copy of the PHIGS standard specification [ISO/DIS 9592] which cannot yet be found in Hong Kong. Lastly, I am grateful to the financial support of the Graduate School for providing me the Graduate Studentship. Table of Contents TABLE OF CONTENTS ABSTRACT i ACKNOWLEDGEMENTS . ii TABLE OF CONTENTS . iii CHAPTER 1 INTRODUCTION 1.1 Computer Graphics Today 2 1.1.1 3D Graphics Synthesis Techniques 2 1.1.2 Hardware-assisted Computer Graphics 4 1.2 About The Thesis 5 CHAPTER 2 GRAPHICS SYSTEM ARCHITECTURES 2.1 Basic Structure of a Graphics Subsystem 8 2.2 VLSI Graphics Chips ……. …9 2.2.1 The CRT Controllers 10 2.2.2 The VLSI Graphics Processors 11 2.2.3 Design Philosophies for VLSI Graphics Processors 12 2.3 Graphics Boards . 14 2.3.1 The ARTIST 10 Graphics Controller 14 2.3.2 The MATROX PG-1281 Graphics ControUer 16 2.4 High-end Graphics System Architectures 17 2.4.1 Graphics Accelerator with Multiple Functional Units 18 2.4.2 Parallel Processing Graphics Systems 18 2.4.3 The Parallel Processor Architecture 19 2.4.4 The Pipelined Architecture 21 2.5 Comparisons and Discussions 22 2.5.1 Parallel Processors versus Pipelined Processing 23 / ’ Tabic of Contenrs 2.5.2 Parallel Processors versus Multiple Functional Units 23 2.6 Summary of High-end Graphics Systems 24 CHAPTER 3 AN ISA 3D GRAPHICS DISPLAY SERVER 3.1 Common ISA Graphics Cards 26 3.1.1 Standard Video Display Cards 26 3.1.2 Graphics Processing Boards 27 3.2 A Depth Processor for the ISA computers 28 3.2.1 The Z-buffer Algorithm for HLHSR 28 3.2.2 Our Hardware Solution for HLHSR 29 3.2.3 Design of the Depth Processor 31 3.2.4 Structure of the Depth Processor 34 3.2.5 The Depth Processor Operations 35 3.2.6 Software Support 40 3.2.7 Performance of the Depth Processor 44 3.3 A VGA Accelerator for the ISA Computers 45 3.3.1 Display Buffer Structure of the SuperVGA 46 3.3.2 Design of the VGA Accelerator 47 3.3.3 Structure of the VGA Accelerator 49 3.3.4 Combining the VGA Accelerator and the Depth Processor .... 51 3.3.5 Actual Performance of the DP-VA Board 54 3.3.6 3D Graphics Applications Using the DP-VA Board 55 3.4 A 3D Graphics Display Server 57 3.5 Host Connection for the 3D Graphics Display Server 59 3.5.1 The Single Board Computers 60 3.5.2 The VME-to-ISA bus convenor 61 3.5.3 Structure of the VME-to-ISA Bus Converter 61 3.5.4 Communications through the bus convenor 64 3.6 Physical Construction of the DP-VA Board and the Bus Converter ... 65 3.7 Summary 66 CHAPTER 4 A MULTI-i860 3D GRAPHICS SYSTEM 4.1 The i860 Processor 69 Table of Contents 4.2 Design of a Multiprocessor 3D Graphics System 70 4.2.1 A Reconfigurable Processor-Pipeline System 72 4.2.2 The Depth-Processing Unit 73 4.2.3 A Multiprocessor Graphics System 75 4.3 Structure of the Multi-i860 3D 77 4.3.1 The 64-bit-wide Global Data Buses 77 4.3.2 The 1280x1024 True-colour Display Unit 79 4.3.3 The Depth Processing Unit .... 82 4.3.4 The i860 Processing Units 84 4.3.5 The System Control Unit 87 4.3.6 Performance Prediction 89 4.4 Summary . 90 CHAPTER 5 CONCLUSIONS 5.1 The 3D Graphics Synthesis Pipeline … 91 5.2 3D Graphics Hardware 91 5.3 Design Approach for the ISA 3D Graphics Display Server •.....• 92 5.4 Flexibility in the Multi-i860 3D Graphics System 93 5.5 Future Work 94 APPENDIX A DISPLAYING REALISTIC 3D SCENES A.l Modelling 3D Objects in Boundary Representation 96 A.2 Transformations of 3D scenes .98 A.2.1 Composite Modelling Transformation 98 A.2.2 Viewing Transformations 99 A.2.3 Projection 102 A.2.4 Window to Viewport Mapping 104 A.3 Implementation of the Viewing Pipeline 105 A.3.1 Defining the View Volume 105 A.3.2 Normalization of The View Volume 106 A.3.3 The Overall Transformation Pipeline 108 A.4 Rendering Realistic 3D Scenes 108 A.4.1 Scan-conversion of Lines and Polygons 108 Table of Contents A.4.2 Hidden Surface Removal 109 A.4.3 Shading 112 A.4.4 The Complete 3D Graphics Pipeline 114 APPENDIX B DEPTH PROCESSOR DESIGN DETAILS B.l PAL Definitions B.2 Circuit Diagrams llg B.3 Depth Processor User's Guide 121 APPENDIX C VGA ACCELERATOR DESIGN DETAILS C.l PAL Definitions 124 C.2 Circuit Diagram 125 C.3 The DP-VA User's Guide 127 APPENDIX D VME-TO-ISA BUS CONVERTOR DESIGN DETAILS D.l PAL Definitions 131 D.2 Circuit Diagrams 133 APPENDIX E 3D GRAPHICS LIBRARY ROUTINES FOR THE DP-VA BOARD E. 1 3D Drawing Routines 136 E.2 3D Transformation Routines 137 E.3 Shading Routines 138 APPENDIX F PIPELINE CONFIGURATIONS FOR N PROCESSORS REFERENCES 1 Chapter I Intnxluction CHAPTER 1 INTRODUCTION Anyone who has heard the old saying "A picture is worth a thousand words" should agree the importance of the ongoing research on computer graphics. Computer has long been used as a tool of data processing. However, it is a problem for the users to interpret efficiently and accurately the huge volume of data generated by a computer. Thousands of lines of printout will just be a waste if the user does not have enough time or patience to read them. Fortunately, there is a better alternative, the graphical presentation, for this man-machine communication problem. A simple picture is capable of replacing several pages of data and allows the readers to obtain an overall perception of the information at a glance. With computer graphics, management information can be displayed as charts or diagrams. Profit and lost status can be obtained immediately from merely the shape of the charts. Scientific models like molecular structures are made visible. Simulation of complicated theories and natural phenomena are visualized. Blueprints of a space shuttle or a circuit board can be modified and analyzed easily with the help of Computer Aided Design (CAD) software.