Title: Onyx2 Architecture Overview
1Onyx2 Architecture Overview
Curtis Lisle, Ph.D. Visual Systems
Scientist Silicon Graphics Computer Systems
2SGI Onyx2 Image Generator Overview
CPUs
High-speed crossbar interconnection Host and
host interface functions Database traversal,
cull, and draw processes
Digital Video Processor (distortion and extra
pixel fill)
3(No Transcript)
4The Legacy Host/graphics Architecture
- Front-end host computer with a separate but
connected Image Generator (IG) - Problem of access to a remote database
Host
Simulation Functions
Protocol for eye and object position, Database
queries, updates,
network
5The SGI Image Generator Architecture
- Integrated Computing and Graphics
- Local, shared memory database access
- CrayLink (800 MB/sec bidirectional) to/from
rendering engine - Multi-pass special effects rendering
Host
Graphics
DB Dynamics
Environment Database
6Embedded Host Architecture
- Multiple processors with high-speed
interconnection fabric between them improves
performance, reduces latency, and delivers more
bandwidth into the graphics pipeline
Application
Graphics
Graphics Pipeline
1.1.1Onyx2 Deskside Image Generator
Geometry Engine
Raster Manager
Display Generator
1.1.1Onyx2 Deskside Image Generator
I/O Subsystem
Environment Database
Other simulation information or source data
Multiple Video Outputs
7SGI Run-Time Software Architecture
- Run-Time Software Architecture
- Application program - Handles host functions
and/or user interaction makes Performer API
calls - Performer - manages scene graph representation
processor allocation optimized for hardware - Industry Standards - Authored by SGI
Simulator Application
Performer Run-Time API
OpenGL
Host
8Anti Aliasing
- SGI InfiniteReality systems have a
multisampling feature allowing sub-pixel
calculations for each pixel actually on the
screen at near full performance.
9Anti-Aliasing and Priority
- Granularity of priority resolution (depth
buffering) has a strong effect on the quality of
the anti-aliasing - Subsample, or fragment level depth buffering
necessary for correct pixel color calculations
Primitives
No contribution by red, blue, or green polygon if
Z buffer works at pixel level (such as jittered
eye points)
Resolved pixel
SamplePoint
10Subsample Anti-Aliasing
- Quality AA solution uses fragment Z as well as
color to compute resolved pixel color - Multi-sample, or screen door transparency, can
weight the fragment colors based on alpha
yielding order-independent transparency
Primitives
Sample pattern masks are optimized for AA on
angled primitives - can be shifted
Resolved pixel
SamplePoints
11Color Displays
- The Frame Buffer (graphics memory)
- 24 bits 8-bits R,G,B 224 16.7 Million
Colors - SGI InfiniteReality VPro can have 10 or 12
bits per component - SGI InfiniteReality Up to 320MB for color and
up to 256MB for texture - SGI Octane/VPro has up to 128MB
- Highest-end PC cards have 64MB for color and
texture
Display
Graphics subsystem
12Display Processing Features
- Necessary for high quality, abutted or blended
visuals - Framelock
- All screens of video output from the image
generator have synchronized vertical retrace
signals. Top to bottom picture-painting is
aligned. - Genlock
- Sync multiple pixel clocks
- Swapready
- All channels ready for swapping backbuffer
- Programmable video output
13Video Configuration
- IRcombine interactive program
- /usr/gfx/setmon
- /usr/gfx/ircombine
- Allows choice of predefined video formats
- VFC (video format compiler) for non-standard
formats - References
- Video Format Compiler Programmers Guide
- SGI TechReport (007-3402-003)
14Invoking a Video Format
Invocation Commands
/usr/gfx/setmon ltformatgt e.g. /usr/gfx/setmon
1280x1024_72 xsetmon IRcombine
Location of format files (system specific)
/usr/gfx/ucode/
KONA/dg4/cmb/ltformatgt.cmb (Onyx/IRx)
ODSY/vof/ltformatgt.vfo (Octane/Fuel
Vpro)
MGRAS/vof/ltformatgt.sdb (Octane SI/SE)
MGRAS/vof/2RSS/ltformatgt.sdb (Octane
SSI/MXI/SSE/MXE)
15Building a Format
User supplied
Video source text file ( .vfs )
SGI Software
Video Info File ( .info )
Video Format Compiler ( VFC )
Video Format File ( .vfo )
Board Definition File ( .def )
Chip Definition File ( .def )
/usr/gfx/ucode/...
Copy to
Hardware specific rules files. SGI supplied.
16Video Format Source (.vfs)
General ActiveLinesPerFrame
ACTIVE_LINES ActivePixelsPerLine
ACTIVE_PIXELS FramesPerSecond FPS
FormatName FieldsPerFrame 1
TotalLinesPerFrame 1.05 ActiveLinesPerFrame
Active Line HorizontalFrontPorch pixels(
iHFPp ) HorizontalSync pixels( iHSp )
HorizontalBackPorch pixels( iHBPp )
Field lt statements defining the field gt
17Compiling and Rules Definition Files
vfc -a asciijk1280x768_48.info -c
chipvoc1.def,boarddg4.def \ -o
jk1280x768_48.vfo jk1280x768_48.vfs
Graphics Chip def. Board def. IR voc1.def dg4.d
ef O2 O2_Chip.def O2_Board.def MGRAS mgras_vc3.d
ef mgras.def VPRO Vpro_Chip.def Vpro_DCD.def
Rules definition files found in /usr/gfx/ucode/vf
c/rules/ Sample format sources found
in /usr/gfx/ucode/vfc/vfs/
18Example Passive Stereo(with standard stereo
apps)
Polarizing filters 90-degrees out of phase
Eyewear
Onyx
Framebuffer
Channel 0
Left
Projectors
Channel 1
Right
19Example Passive Stereo(with standard stereo
apps)
- Make 2 Copies of std format source
1280x1024_60.vfs 1280x1024_60L.vfs and
1280x1024R.vfs - Add eye parameter to the
Field sections.
- Create a combination using IRcombine with
1280x1024_60L.vfo and 1280x1024_60R.vfo 100
overlap.
Field eye Left Vertical Sync
. . .
Field eye Right Vertical Sync
. . .
1280x1024_60R.vfs
1280x1024_60L.vfs
20SGI O2 Measuring signals
- Using SGI Tools (O2)
- colorbars
- videoout
- videopanel
- confidence
- audiopanel
21Measuring video signals
22Video Links
- Encyclopedia Britannicahttp//www.britannica.com/
- How Stuff Workshttp//www.howstuffworks.com/
- Color Theory Pagehttp//www.barco.com/display_sys
tems/support/colorthe/colorthe.htm - Video Demystifiedhttp//www.video-demystified.com
/ - Video Technology Pagehttp//www.epanorama.net/vid
eo.html - A guide to MPEG fundamentalshttp//www.tek.com/Me
asurement/App_Notes/mpegfund/ - The Lurkers Guide to Video (Chris
Pirazzi)http//www.lurkertech.com/lg/ - Techpubshttp//techpubs.sgi.com/
23Conclusion
- The SGI Onyx architecture has unparalleled
support for multimedia - Shared memory supports tightly-coupled graphics
pipe coordination for large screen displays - Software is standard unix development environment
- Large amount of commercial and freeware available
- The Onyx is an ideal foundation for creative
talent to use during creation and replay of
custom 3D worlds