280 likes | 299 Views
This article provides an introduction to the RealityEngine graphics system developed by Kurt Akeley at Silicon Graphics, highlighting its features, architecture, and design alternatives. It also discusses the performance and functionality of the system, showcasing its ability to handle advanced graphics tasks.
E N D
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems
Overview • Introduction • System Architecture • Features • Conclusions / Results
Introduction • SGI created. • High end graphics work station • Hardware Solution
Introduction • First Generation System • Made in the early 80s • Useful hardware was just becoming available • Floating Point hardware • No Frame-buffer Memory • No ASICs • Lack of Functionality other than transformation.
Introduction • First Generation System • Target • Transformation • Flat-Shaded Primitives • Results • Very simple scenes
Introduction • Second Generation Systems • Made in the late 80s • Useful hardware was available and affordable • Frame buffers • ASICs • Greater Functionality
Introduction • Second Generation System • Target • Interpolate Color and Depth • Good Performance • Solid or Wire frame images • Results • More complex scenes
Introduction • RealityEngine (Third Generation) • Made in the 90s • Hardware is cheap • More functionality
Introduction • RealityEngine • Target • ½ Million triangles • Filtered Textures • Antialiasing • 30Hz rendering for full screen • 800000 triangles per second
Architecture • Overview System Bus Geometry Board Triangle Bus Raster Memory Boards Display Gen Board
Architecture • Geometry Board • Input FIFO • Command Processor • Geometry Engines Command Processor GE GE GE GE
Architecture • Command Processor • Two kinds of Commands • Frequent • Infrequent • Breaks down commands • Broadcasts commands to Geometry Engines
Architecture • Geometry Engine • Transforms, Lights, Clips polygons • Decomposes all polygons to triangles. • Setups a plane equation in X,Y screen directions
Architecture • Triangle Bus • Used to broadcast output from Geometry Engines • Huge in size to prevent bottlenecking.
Architecture • Raster Memory Boards • 5 Fragment Generators • 80 Image Engines • Huge Framebuffer FG FG FG FG FG
Architecture • Fragment Generator • Fragments • Coverage Mask • Texture Controls • Color • Fog
Architecture • Fragment Generator • Fragment Generation • Uses Modified Pineda algorithm • Coverage Mask Generation • Generates 8x8 Masks
Architecture • Fragment Generator • Texture Control • Based around the most center pixel in mask. • LOD Fraction and the center pixels location determine texel location.
Architecture • Fragment Generator • Blends texture color with fragment color • Blends Fog
Architecture • Image Engine • Each engine is responsible for X pixels. • Reconstructs subpixel sample depth using XY slopes. • Update the framebuffer.
Architecture • Display Gen Board • Each Image Generator pass on color • Board dithers 12 bits to 10 bits. • Gamma Corrects
Features • Antialiasing • Alpha • Determine alpha scale factor for blending. • Poor results with polygons • Multisample • Two Mask Generation Modes • Point Sampled • Area Sampled
Features • Texture Mapping • 2D Textures • Mipmapped • 3D Textures • LOD texture mapping • Filtering • Magnification
Features • Stereo in a Window • Fast Clipping • Expand the frustum • Scissor
Conclusions / Results • Design Alternatives • Single-Pass Antialiasing • Improve resolution through hardware • Multisample Antialiasing • Brute Force vs. Finese • Immediate Resolution of Multisample Color • Use fragment color most of the time.
Conclusions / Results • Design Alternatives • Triangle Bus • 12-bit Color vs 8-bit • Visual banding elimination • Degraded resolution
Conclusions / Results • Results • Created a System that could • 20-60 Hz display system • Handle advanced functionality
RealityEngine Current Pipeline Conclusion Application Vertex Program Rasterization Fragment Program Display