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 triangles per second
Architecture Overview Geometry Board Raster Memory Boards Display Gen Board Triangle Bus System Bus
Architecture Geometry Board –Input FIFO –Command Processor –Geometry Engines Command Processor 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
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 Hz display system Handle advanced functionality
Conclusion RealityEngineCurrent Pipeline Application Vertex Program Rasterization Fragment Program Display