IRIS Performer - PowerPoint PPT Presentation

1 / 60
About This Presentation
Title:

IRIS Performer

Description:

Efficient host-based view frustum culling. Stressed modified level-of-detail switching ... CULL. DRAW. Supported File Formats. Parallel Pipeline Processes ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 61
Provided by: tann1
Category:

less

Transcript and Presenter's Notes

Title: IRIS Performer


1
IRIS Performer
  • CPT Mark Tanner
  • CS 4473
  • 14 March 2000

2
Class Objective
  • To provide a general overview of Performer, its
    design and functionality

3
Outline
  • History
  • Performer Terminology
  • Syntax
  • Scene Construction
  • Future of Performer
  • Demos

4
Background/Motivation
  • Immediate-Mode rendering libraries
  • OpenGL
  • Starbase
  • XGL
  • Object Oriented Toolkits
  • IRIS Inventor
  • PHIGS
  • HOOPS
  • Performer - first to successfully address
    multi-processing

5
What is IRIS Performer?
  • An SGI application programming interface (API) to
    make image generation applications simple,
    portable, and efficient. Performer enables the
    rapid development of real-time image generation
    applications which optimizes the performance of
    SGI hardware. It also allows easy software
    migration across the SGI product line and to new
    hardware.

6
Examples
7
(No Transcript)
8
(No Transcript)
9
(No Transcript)
10
(No Transcript)
11
(No Transcript)
12
(No Transcript)
13
OpenGL-isms
  • Geometry
  • Transparency
  • Textures
  • Lighting
  • Color
  • Transformation

14
Performer Stages
15
Performer Functionality
  • Originally designed as a toolkit for visual
    simulation, virtual reality and other real-time
    3D graphics applications
  • Design Goal
  • Achieved through
  • Graphics Optimization
  • Multiprocessing

16
Performer Features
  • Geometric data structures designed for efficient
    immediate-mode data transfer
  • Reductions of graphics mode changes
  • Pipelined multiprocessing for parallel scene
    graph traversal
  • Efficient host-based view frustum culling
  • Stressed modified level-of-detail switching
  • Run-time database and process statistics for
    tuning
  • Emphasis on immediate-mode performance without
    caching which lends itself to high level
    animation and morphing techniques

17
Double Buffering
18
Core Libraries
  • Toolkit consists of two core libraries
  • libpr - consists of optimized graphics primitives
    as well as intersection, shared memory and other
    basic functions
  • libpf - is built on top of libpr and adds
    database hierarchy, multiprocessing and real-time
    features
  • Two-library approach allows programmers
    flexibility to choose which layer they prefer to
    program to

19
Libraries
  • High-Performance Rendering Library (libpr)
  • Visual Simulation Application Library (libpf)
  • Geometry Builder Library (libpfdu)
  • Utility Library (libpfutil)
  • User Interface Library (libpfui)
  • Database Loader Library (libpfdb)

20
IRIS Performer Library Hierarchy
21
Visual Simulation Library (Libpf)
  • High performance, easy-to-use interface to
    hardware
  • Multiprocessing Framework
  • APP
  • CULL
  • DRAW

22
Supported File Formats
23
Parallel Pipeline Processes
24
Visual Database (pfScene)
  • Grouping Nodes
  • Geometry and Leaf Nodes
  • IRIS Performer provides traversal functions that
    act on a pfScene or portions thereof.

25
Scene Graph Traversal Flow
26
Loading a Scene Graph
27
Processes Acting on Scene Graph
28
Gratuitous Example
29
High Performance Rendering Library (libpr)
  • High-Performance Geometry Rendering
  • Efficient Graphics State Management
  • Graphics State Encapsulation
  • Display Lists
  • Math Support
  • Intersections
  • Asynchronous File I/O
  • Memory Allocation (pfMalloc(), pfDataPool)

30
Relationship to Database Formats
31
Graphics Libraries
  • OpenGL
  • IRIS GL

32
Objects
  • Libpr and Libpf objects
  • User Data

33
Geometry Objects
34
Scene to Screen Path
35
Creating of a Performer Application
  • 1. Initialize Performer.
  • 2. Create a pipe.
  • 3. Create a channel and window.
  • 4. Associate the channel with the pfPipeWindow
  • in which the channel is drawn.
  • 5. Load the scene graph and associate it with
    the channel.
  • 6. Position the channel(s) and update the scene.
  • 7. Call pfFrame to draw the scene.
  • 8. Create the simulation loop to return to step
    6.

36
Simulation Loop
  • 1. Update the appearance, shape, and location of
    the objects in the scene.
  • 2. Update the position and orientation of the
    camera in the scene.
  • 3. Redraw the scene.

37
PsuedoCode
Synchronization Loop while(!finished)
handleinput() updateScene() // Read
input device update eyepoint pfSync()
// Sleep until next frame boundary
anyCriticalUpdate() pfFrame() //
Trigger new frame
38
Rendering
  • Rendering occurs in three stages
  • APP
  • CULL
  • Draw

39
Multiprocessing Frames in the Pipe
40
Visual PC
41
Hendrix
42
3 Pipe Intergraph
43
Multiple Windows, Multiple Channels
44
Performer Stages
45
More Examples
46
(No Transcript)
47
(No Transcript)
48
(No Transcript)
49
(No Transcript)
50
(No Transcript)
51
(No Transcript)
52
(No Transcript)
53
Future of Performer
  • IRIS Performer 2.3 for Linux
  • Only single processor support
  • Multiprocessor support forthcoming

54
Let us retire to the lab.
55
Axes Orientation in Performer
56
pfLOD Ranges
57
Scene Graph Hierarchy
58
Parallel Tasking
59
VR Goals
  • Simplify the development of VR through intrinsic
    support for
  • Common Graphics
  • Database operations
  • Multiple Views
  • Level-of-Detail
  • Morphing
  • Intersection Testing
  • Picking
  • Run-Time Profiling

60
Partial Inheritance Graph of IRIS Performer Data
Types
Write a Comment
User Comments (0)
About PowerShow.com