• No results found

VR 101 REQUIREMENTS ANAYLISIS DOCUMENT. May 3, 2006 Version 3.2

N/A
N/A
Protected

Academic year: 2022

Share "VR 101 REQUIREMENTS ANAYLISIS DOCUMENT. May 3, 2006 Version 3.2"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

VR 101

REQUIREMENTS ANAYLISIS

DOCUMENT

May 3, 2006

(2)

2

Table of Contents

1. Introduction...3

1.1. Purpose of system...3

1.2. Scope of System...3

1.3. Objectives and Success Criteria...3

2. Current System...4

3. Proposed System...4-6 3.1. Overview...4

3.2. Functional Requirements 3.2.1. Languages...4

3.2.2. Tutorial Program...5

3.2.3. Multi-Platform...5

3.3. Non Functional Requirements 3.3.1. Research...6

3.3.2. Hardware Consideration...6

3.3.3. Error Handling...6

3.3.4. System Modifications...6

3.3.5. Programming Languages...6

3.3.6. Demonstration Programs...6

4. Uses Cases...7

(3)

1. Introduction

1.1. Purpose of system

The designed system will consist of a tutorial program and demonstration programs that will provide a better understanding of the Virtual Reality lab to new users. The set of demonstration programs will be constructed using three different graphics APIs: VRML, OpenGL, and OpenGL Performer. The tutorial steps should be general enough to be the same for each graphics API. The demonstration programs should be able to run on either a Windows® machine or the SGI® machine without having to make large changes to the code.

1.2. Scope of System

• The tutorial and demonstration programs only have to work on Windows®

and UNIX based machines.

• The demonstration programs and tutorial steps will only be done for OpenGL, OpenGL Performer, and VRML.

• There will be no code changes to the Cave Library.

1.3. Objectives and Success Criteria

Objectives

• To encourage students to use the Virtual Reality lab.

• To create educational and fun tutorials to teach students how to use the Virtual Reality lab.

Success Criteria

Complete tutorials that assume no prior of knowledge the Virtual Reality lab.

Having an implementation of the tutorial for each of the three graphics API’s

Break down the cave library to a manageable size since there is so much to it.

(4)

4

2. Current System

The current system requires the user to work in the Virtual Reality Lab exclusively. The user cannot use CAVE library functions outside of the Virtual Reality Lab without changing their code a great amount (or if there is, users are not taught how). There is no system in place to familiarize users with the CAVE library, VRML, OpenGL, or OpenGL Performer.

3. Proposed System

3.1. Overview

The new system will help familiarize users who have no knowledge of the VR lab with basic use of the SGI® machine, the cave library, VRML,

OpenGL, and OpenGL Performer. To accomplish this, we will create demonstration programs for each of the graphics API’s and have a tutorial program that will include step-by-step instructions associated with each demonstration program.

3.2. Functional Requirements

3.2.1. Languages

The demonstration programs must use three graphic APIs: VRML, OpenGL and OpenGL Performer.

VRML is a standard file format for representing 3-dimensional (3D) interactive vector graphics, designed particularly with the World Wide Web in mind.

OpenGL (Open Graphics Library) is a cross-language cross- platform graphics API for writing applications that produce 3D computer graphics (and 2D computer graphics as well). The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives.

OpenGL Performer, formerly known as IRIS Performer and commonly referred to simply as Performer, is a library of utility code built on top of OpenGL for the purpose of simplifying difficult real-time simulations. OpenGL Performer was developed by SGI, who continues to maintain and enhance it. OpenGL Performer is available for IRIX, Linux, and several versions of Microsoft Windows. Both ANSI C and C++ bindings are available.

(5)

3.2.2. Tutorial Program

The tutorials will be interacted with through a software application.

The tutorial program will allow the user to choose which graphics API they wish to learn. The program will have step by step instructions, with each instruction adding more to complete the program. The tutorial program will allow the user to enter the code to perform the task asked in the instructions. The tutorial program will also allow the user to view the combined code (user’s code + demonstration program’s code) at any point when they are developing their code.

The tutorial will not keep code the user has written from step to step. This ensures that the user will always be able to compile the code for a step without having to go to a previous step to correct a problem caused by possibly faulty code. We cannot know that there is only one way to do something, so we are ensuring that the demonstration program follows a certain way of doing something so that it runs at each step.

The tutorial program must be able to compile and run the combined code so that the user can determine whether they have written their code correctly.

3.2.3. Multi-Platform

The SGI machine which runs the VR hardware is a UNIX based machine and the user must be able to develop the program on a

Windows machine. Thus the tutorial program must be multi-platform to be able to run on both platforms.

(6)

6

3.3. Non Functional Requirements

3.3.1. Research

Research is a major part of this project. Since all of the team members are inexperienced with the graphics APIs, each language must be researched. The team also has no experience with the CAVE library.

We will conduct our research by looking at demonstrations our client has given the team, and by searching the internet.

3.3.2. Hardware Consideration

The hardware that will be needed will be a 386 architecture (UNIX) and a PC architecture (Windows). This is because users can develop on PC architecture and a 386 architecture.

3.3.3. Error Handling

If the code that the user writes causes a compiler error, there will be a display telling the user that there were errors. The user will then have to try entering compliable code again. If the user enters incorrect code multiple times, the user will have the option of viewing a correct solution.

3.3.4. System Modifications

The system will allow others to create a tutorial and then use the tutorial program for it. This means that the program must not have any of the 3 tutorials hard coded.

3.3.5. Programming Languages

The language chosen to develop the interface is GTK+. The two reasons for picking this language is that it has been developed to run on multi-platforms and that the language is C based making the learning curve less for the development of the interface. GLADE was chosen as the IDE to setup the graphical parts of the interface. GLADE will then generate C code for the interface. The code then can be modified to include the modules we have developed.

3.3.6. Demonstration Programs

The developers will create the same programs that the user will create for the tutorial. As the user will only be developing sections of the program at a single time, this code will be used to supplement the user’s code at the various stages of the tutorial.

(7)

4. Uses Cases

Use Case 1: Familiarization with VR programming languages and VR lab utilities.

Participating actor: VR programmer Entry condition:

Programmer wishes to develop a VR program for use in the VR lab.

Programmer has limited knowledge of VRML, Open GL, or Open GL Performer.

Event flow:

1. Programmer wants to learn how make programs for the VR lab.

2. Programmer accesses tutorials for VRML, Open GL, or Open GL Performer, which include cave library commands.

3. Programmer can develop an original program.

Exit condition:

Programmer understands how to create a VR program for the VR lab

Use Case2: Cave reference

Participating actor: VR programmer Entry condition:

Programmer doesn’t know how to utilize cave library functions Event flow:

1. Programmer wants to utilize an unknown cave library function.

2. Programmer refers to the tutorial for the cave library function.

3. Programmer understands how to use the desired cave library function Exit condition:

The programmer understands how to use the desired cave library function.

References

Related documents

Untuk melakukan deteksi tepi pada citra digital menggunakan metode Kirsch, dan gambar yang digunakan untuk sebagai contoh adalah citra dengan ukuran 199 x 253

[r]

At one school that Chester (one of the Navajo men who created the unbreakable code) and his sister Dora went to, they were fed very poorly.. “We were fed milk and one thick

In this section we introduce primitive recursive set theory with infinity (PRSω), which will be the default base theory for the rest of this thesis (occasionally exten- ded by

In two additional 18 analyses reported here, we examined whether there was an effect of the direction of the vowel 19 change on subjects’ mean A-prime (A’) scores (Grier,

Although we cannot conclude that inverse activity reported in those studies was due to subject motion, the per- centage of subjects with inverse oxygenation is similar to the

This dissertation analyzes the motivations of governments, both foreign and domestic, in respond- ing to natural disasters. I address government responses to natural disasters in

Such agreements are often defined by service level agreements (SLAs), which indicate the quality of service that the provider will guarantee, or peering contracts, which define