Sunday, April 1, 2007

EON Visualizer Specification

Volia


EON Development AB Phone. +46 (0) 31 748 43 34
Datavägen 6B Fax: +46 (0) 31 748 43 35
S- 436 32 ASKIM www.eonreality.com
SWEDEN

© Copyright EON Reality, Inc.



Content

1 General................................................................................................. 4


1.1 Background............................................................................................................ 4


2 User Profile........................................................................................... 4
3 Open questions.................................................................................... 4
4 Requirements....................................................................................... 4


4.1 User Interface Requirements................................................................................. 5


4.1.1 Import.................................................................................................................. 5


4.1.2 Scene viewing..................................................................................................... 5


4.1.3 Explore................................................................................................................ 6


4.1.4 Material editing.................................................................................................... 7


4.1.5 Environment – Virtual showroom........................................................................ 8


4.1.6 Interactive configurations.................................................................................... 8


4.1.7 Optimization........................................................................................................ 9


4.1.8 Publishing......................................................................................................... 10


4.2 Content................................................................................................................ 10


4.3 Test...................................................................................................................... 11


4.4 Installation Program............................................................................................. 11


4.5 Control Panel....................................................................................................... 11


4.6 General................................................................................................................ 11


4.7 Control Panel....................................................................................................... 12


4.8 Dali kernel features.............................................................................................. 12


5 Summary of functions....................................................................... 12
6 Future Issues..................................................................................... 13
7 Non-functional requirements............................................................ 13


7.1 Software............................................................................................................... 13


7.2 OS........................................................................................................................ 13


7.3 Hardware............................................................................................................. 13


7.4 Security................................................................................................................ 14


8 Development environment................................................................ 14
9 Development group/infrastructure................................................... 14
10 Deliverables...................................................................................... 15
11 Work Procedure............................................................................... 15
12 Terminology..................................................................................... 15
13 References....................................................................................... 15


Document Information

Title EON Visualizer Specification

Subject (Project) Volia

Author Nils Andersson

Creation Date 10/01/2006 15:58:00

Filename EON Visualizer Specification - Volia.doc

EON Visualizer Specification - Confidential -Page 2(15)
Volia



Revision 1


EON Visualizer Specification - Confidential -Page 3(15)
Volia



General

This document describes EON Visualizer requirements for EON Visualizer version 1.0 that
may be outsourced to Volia. It may also refer to functions to be developed in later versions.

At the same tiem as parts of EON Visualizer is developed by Volia, The kernel, Dali, is
developed by EON Development.

Images in this document does not mean an exact definition of how the user interface shall
look, it shall more be used as a direction for what we are looking into.

Refer the reader to the chapters Terminology and References for more information.

The different steps in EON Visualizer are subject to change.

In some places in this document there are references to Viz_Draft1 Dec 30.doc. It is
important to understand that Viz_Draft1 Dec 30.doc is only for reference in order to get a
more concrete picture of the whole product EON Visualizer.

1.1 Background
The development of EON Studio started in 1995 and since 1998 there have been discussions
on and off for a new kernel. This work has now ended in Dali, a new kernel for real time 3D.
During the last year we have also discussed a lot the need for easier to use tools in our product
family. The approach have so far been to develop Dali as one track and EON Visualizer as a
separate track where EON Visualizer is built on top of EON Studio.

However, the world is as always changing and we must face the current situation. So the idea
of building EON Visualizer as a front end for Dali is now the main development idea.

By developing EON Visualizer based on the Dali kernel we will create the most powerful 3D
content editing tool the world has ever seen. It will give a major time saving and make it a lot
easier for anyone to create rich 3D content.

2 User Profile

A typical EON Visualizer user will have some kind of marketing, sales, graphics and/or 3D
knowledge. Many of these users do not have required knowledge of real-time 3D applications,
thus EON Visualizer will be a great help to avoid common problem regarding real-time 3D
applications.

If the user has programming skills, it will be possible to further add advanced features in order
to create applications like advanced 3D configurators etc.

3 Open questions

This section contains a number of open questions, which shall be removed for the final
version of this document.

1. TBD
4 Requirements

EON Visualizer Specification - Confidential -Page 4(15)
Volia



4.1 User Interface Requirements
The main part of the work for Volia will be focusing on some of the user interface parts in
EON Visualizer.

4.1.1 Import
The import procedure is one of the most important features – without it no content can be
created anyway. There will be a number of different ways to import 3D data into EON
Visualizer. We will keep the type of import functionality available in EON CAD and EON
Raptor available today, basically just modify the output file format. In order to import any
type of geometry we will have one specific part of the SDK for this, the Scenebuilder.

These will be implemented in version 1.0:

. Okino. Based on the Scenebuilder a layer for integration with Okino import will be
developed

4.1.2 Scene viewing
The first part of using real-time 3D is to have some kind o f 3D navigation. This navigation
can be done in a number of different ways, different ways of mouse and keyboard navigation.
There will be two basic navigation modes, walk and objectnav. The navigation modes will be
similar to current EON Walk and ObjNav navigation modes, however, we will go through
these modes in more detail to define exact functionality in a later document.


. It shall be possible to select which navigation modes shall be available for the 3D
application. Only one navigation mode shall be active at a time. This is a very
important user interface part and the exact way of changing is subject to change when
we have all other UI parts ready and can get an overview.

. Walk navigation. The current EON walk node feature will be available. It shall be
possible to set a default walk speed that is adjusted to the size of the model. It shall
also be possible to select three different walking speeds, slow, medium and fast.

. Object Navigation. The current ObjectNav lite prototype will be implemented as a
standard navigation mode feature.

. It shall be possible to set a number of predefined camera positions that can be easily
accessed by the end user.

. It shall be possible to define for each predefined camera position whether a direct
camera movement shall be performed or a smooth transition shall be made.

. It shall be possible to record camera keyframe animations, which can later be played
by the end user.

EON Visualizer Specification - Confidential -Page 5(15)
Volia



. It shall be possible to set automatic generation of navigation speed but also possible to
specify. By default automatic setting shall be used and both walk and ObjectNav
navigation modes shall be available.

. Smooth transitions between a number of predefined camera positions.
. Recording and replaying of keyframe animations for the camera.


The following navigation modes may be implemented in a later version:
. Key navigation. Navigation using the keyboard will be available and customizable.
. Fly navigation.
. Game navigation. Similar navigation to how games mostly navigate using the

keyboard.
. Advanced keyframe optimizations. This will make the keyframe animation smooth
and add/remove control points necessary

4.1.3 Explore
By exploring the 3D application it is possible to add explode functions etc. Either the whole
scene (all objects) is used or one or more selected objects. The following functions shall be
available.


. Explode. This is to be implemented in a similar manner as in EON CAD. Can use
place node or keyframe node - TBD

EON Visualizer Specification - Confidential -Page 6(15)
Volia



. Transparency. By selecting one or more objects the transparency for the object(s) can
be set.

. Automatic explode/implode generation of object placement according to the whole
scene size.

In the future the following features may be developed:

. Rotate. Be able to rotate one object in the scene. The exact operation of this needs
further investigation.

. Animated transparency.

. 3D Slicing. It shall be possible to set a slicing option so not the whole object is
rendered, only a portion. This will not be available in the first version, however, we
must bear this in mind when the Dali kernel is developed.

4.1.4 Material editing
A separate material editor will be implemented that will help the user to set a specific material
on one or many selected objects. EON Visualizer will be able to set textures, but not in the
first version. The materials available will consist of colours, Shaders.


Same type of materials as used in current EON will be used with the extension of what the
selected scenegraph offers (currently Openscenegraph). This includes OpenGL Shading
Language and CG.


We assume textures are already applied on the geometry in some other software.


To be able to create the best possible Material Editor we will look and compare a wide range
of different material editors in 3D modeling software like 3ds max, Maya etc.
In order to handle group materials a menu system is required. The user shall be able to open a


pop-up menu when clicks an object and then one of a number of group materials shall be


applied to the object/group of objects.
See Viz_Draft1 Dec 30.doc in the chapter Material for more information on expected
functionality.


The following features will be implemented
. Real-time material editing. Select a material from a material editor, change the
parameters for the material and see the visual effects in real-time inside the material
editor.
. Material Groups. Create a group of two or more materials. Apply this group material
to an object. When a group material is applied the end user will be able to right click

on an object to select any of the materials in the group for the specified object.
. Apply material. Apply a selected material or group material to an object in the scene.
. Select an object in the scene and the selected material is editable in the material editor.
. Texture Maps. Add texture map reflections in the material editor.
. Texture file selection. It shall be possible to change the texture file.

The following features may be implemented in a future version:
. Texture mapping. Similar to old eon style. TBD more.

EON Visualizer Specification - Confidential -Page 7(15)
Volia



. Video materials. This will include both embedded video and online/realtime video

4.1.5 Environment – Virtual showroom
A number of predefined showrooms will be available and easy to add to the current scene.
They can consist of different types:
. Full 3D showroom (geometry)
. 360 images. This can be implemented as panorama or cubemap.
. Backdrop image/color – background.
The part for Volia in this case will be to develop
. 10 cubemap images with relevant images for use with various EON objects. The exact
content on these images will be discussed once the project has started.

These will be implemented in version 1.0:
. Panorama image(s). This will most likely use cubemaps.
. Background image. An image is used as a static background of the scene.
. Background colour. A colour is used as a static background of the scene.
. Ground image/colour. An image or color can be set as a ground material. It will use a

mesh and can be used as the ground of an object for shadow casting.
. Drop shadow on ground image/colour.
. Dynamic lights. Lights for shadow and other light effects.


These may be implemented in a later version:
. Full 3d Showroom. A predefined scene is used as background of the current scene.

This will probably be implemented as a prototype.
. Drop shadow. Drop shadow on the ground image/colour.
. Volumetric shadow. Maybe this will be in another section later on.


4.1.6 Interactive configurations
By adding interactivity to the scene it will come more alive. This is one of the most important
steps in EON Visualizer since it will provide an extremely easy to use way to add complex
interactivity scenarios. This step will also include animations, sounds etc.

The user interface design will be specified by EON Development, while Volia will do the
implementation.

All types of interactions are not defined yet.

These will be implemented in version 1.0:

. Geometry swap. Add a number of geometries to a geometry swap group. For the end
user this means that by right clicking on the object a pop-up menu will be available
from which the user can select one in a list of geometries.

. Sound. Sound can be added and replayed either by a special trigger or from the start
of the scene. Wav files will be supported and played in 2D.

EON Visualizer Specification - Confidential -Page 8(15)
Volia



. Animation triggering. This will also include an advanced keyframe component,
designed and implemented by Volia.

. Material change. See section 4.1.4.

. Hide and show geometry. This is mainly a kernel feature, however, by using some
sort of trigger it shall be possible to execute this functionality by the end user.

. Clicksensor.
. Keyboardsensor.


These may be implemented in a later version:
. Geometry sizing.
. Collission detection and follow ground/stairs.
. Sound. Support for Windows Media Player files, which includes standard sound

formats like MP3 and WMA.
. 3D Sound. All sound sources shall be able to be played in any type of multispeaker
configuration in order to handle 3D sound.

4.1.7 Optimization
Different types of optimizations will help to increase the rendering speed or reducing the file

size or both. The statistics part of the user interface is an important helper part in this step.
The underlying functionality will be developed by EON Development, however all wizards
etc will be developed by Volia. The user interface for the wizards will be defined by EON
Development.

These will be implemented in version 1.0:
. Preview. Optimizations are either previewed or not. This will be a global setting for
the scene.
. Polygon reduction. It shall be possible to set polygon reduction for single meshes as
well as for groups of objects.
. Texture sizing. This is set indirectly from an optimization tool for high end, medium
and low end computer output.
. Texture format. It shall be possible to explicitly set texture formats for individual
textures or groups of textures. The supported texture formats will be JPG, DDS and
PNG.
These may be implemented in a later version:
. Preview. Individual settings for textures and meshes can be made for preview
optimizations.
. Save optimizations. Give the user possibility to save current optimizations settings

applied to all geometry/textures in the scene.
. Collapse meshes.
. Texture formats. The future supported texture formats may include JPEG2000.

EON Visualizer Specification - Confidential -Page 9(15)
Volia



. Geometry compression. Similar to current eon functions to reduce precision for
vertices.

4.1.8 Publishing
Publishing EON content will be a much wider functionality than ever before. It will include
high-resolution images, movies, interactive 3D scenes as well as predefined scenes for
multidisplay systems and web publishing. However, in the first version we will only support
web publishing (IE) and interactive 3D viewing.

EON Development will provide an ActiveX control that can be embedded in any ActiveX
compliant software like Internet Explorer. Volia will be responsible for developing plug in
installation/download for IE. This may be either downloaded as a separate installation
package or as a normal web plug in. This is to be decided together with EON Development.
Volia will also be responsible for all web plug in pages etc that may be developed.

These will be implemented in version 1.0:
. Interactive 3D viewing.
. Web based viewing. Using Internet Explorer.
. Compilation. The file needs to be compiled for use with the ActiveX control or other

runtime parts.
. ActiveX. An ActiveX control that can be used for embedding inside ActiveX
compliant software.
. Web templates/plugin installation. Web templates for automatic installation of the
ActiveX control. This is subject to change depending on the current development of
Internet Explorer.
. Viewer. A standalone viewer for playing Visualizer content.

These may be implemented in a later version:
. High and low-resolution images.
. Movies.
. 360 images.
. PowerPoint. Directly publish to a PowerPoint file.
. Stereo optimizations.
. Web based vieweing. Using Mozilla based browsers on Windows, Linux and Mac.
. Cluster publication/Multidisplay. Automatic generation of necessary nodes/settings

for a specific cluster setup.
. Stereo optimization. In order to have good stereo effects for each scene it shall be

possible to save settings for different types of Stereo systems.
. Separate executable file. This file will include all necessary runtime components.
. Browser plug in. We will support popular web browsers like mozilla based. We will

support mozilla on Windows, Linux and Mac – when those runtime parts will be
available.

4.2 Content
EON Visualizer Specification - Confidential -Page 10(15)
Volia



Volia will provide the following content:

10 cubemap images with relevant images for use with various EON objects. The exact content
on these images will be discussed once the project has started.

More TBD

4.3 Test
During the development phase Volia will be responsible for setting up test cases and on a
weekly basis test user interface parts. All bugs will be reported to our Bugzilla database.

4.4 Installation Program
Volia will provide a state of the art installation program for installation of the following
components:

. EON Visualizer. EON Visualizer includes all necessary authoring parts as well as the
runtime parts.

. EON Viewer. This will include a full installation of all necessary runtime parts.

. IE Plug in. This will include a minimum of components. Thes eicomponents will
themselves then be able to download and install other necessary components
(developed by EON Development)

The exact software for installation program will be defined later by EON Development.

4.5 Control Panel
Volia will be responsible for developing a control panel extension that will control necessary
parts of EON/Dali. The interface in this control panel shall be generic so it is extremely easy
to add more parts to the control panel.

The general functions of the control panel shall be similar to current available control panel in
EON including different schemes.

4.6 General
There will be some general requirements that are not related to a specific part of EON
Visualizer or Dali. These functions must be mapped to the user interface, but most of them do
not have a user interface requirement in this document (yet).

. Zoom Extent. There are two options for Zoom Extent, either for the whole scene, or
for a part of the scene. If one or more objects are selected the Zoom Extent works for
these objects, else it works for the whole scene. Volia will add user interface part for
this.

. View rendering statistics. It shall be possible to easily view statistics for the whole
scene and for selected objects. It shall be easy to understand how the statistics are
shown, no mysterious abbreviations. Volia will add user interface part for this.

. Dynamic help. By showing a dynamic help window all current selected
modes/buttons etc will give simple but powerful help/guidelines for usage. This is
somewhat similar to the status information in current windows, however much more
information can be provided including images etc. Volia will provide information on
how to map the online help into the dynamic help.

EON Visualizer Specification - Confidential -Page 11(15)
Volia



. Multilanguage. All text in the user interface shall be able to be converted to multiple
languages. In the first release we will probably only have English, but will internally
at least make a Swedish version. This also means all code developed by Volia will
adapt to the Multilanguage support we will have in Dali/EON Visualizer.
Specification on how to handle Multilanguage is TBD.

4.7 Control Panel
As with the current EON version there shall be a control panel available. The user interface
shall match the one for the EON Visualizer and will consist of machine specific settings for
EON Visualizer/Dali. This user interface shall be easy to use and shall have a quite generic
design so it is easy to extend. The control panel will have similar settings as what is used in
the current EON version with necessary modifications for Dali.

4.8 Dali kernel features
For reference are here a number of the kernel features that will be implemnted in Dali by
EON Development.

These will be implemented in version 1.0:

. SDK. This will be iterative implemented during the first development phase and
continuously used by other companies. This will ensure the SDK is well working.

. Stereo Rendering.

. Event system.

. Object Model. The objects that build an EON Application will be objects and will
follow the EON Object Model. This is former known as the Nodebag.

. Base Component package. This is to be defined in a separate document.

. Licensing. Depending on available resources we will either continue to use the current
FlexLM version we have, or use something new.

. Log.

. Multiprocessor support.

These may be implemented in a later version:

. Physics. Full dynamic engine support.

5 Summary of functions

This chapter gives a brief summary of features to be included in the first version by EON
Development and Volia.

EON Development Volia
General SDK for being able to construct
all EON Visualizer parts.
Import Scenebuilder Okino
Scene viewing
Explore
Material Editing

EON Visualizer Specification - Confidential -Page 12(15)
Volia



Environment/Virtual
showroom
Interactive
Configurations
Optimisations
Publishing
Kernel
Other

6 Future Issues


A number of future requirements are already mentioned in this document. However, a number
of the major requirements will be
. Linux support for the runtime. We will already compile all code under Linux
environment, however, we will not release a Linux version with EON Visualizer 1.0.
. Macintosh support for the runtime.
. Linux and Macintosh support for the authoring tool
. A new advanced authoring tool more similar to current EON Studio. This is regarding
the type of development that can be done. It shall NOT look like current EON Studio.
. 64 bit CPU support.

7 Non-functional requirements

7.1 Software
In order to use EON Visualizer content must be prepared in other software. This can include:
. 3D Models: 3D Studio Max, Maya, Cinema4D etc.
. CAD data: ArchiCAD, Autocad, Microstation etc
. Video editing tool.
. Sound editing tool.
. .NET compiler will be used to generate own nodes.
. Openscenegraph will be used to create own native nodes.

7.2 OS
EON Visualizer will require
. Windows XP with Service Pack 2 or
. Windows Vista

It will run on both 32 and 64 bit systems, however, as stated elsewhere not optimized for 64
bit in the first version.

7.3 Hardware
EON Visualizer Specification - Confidential -Page 13(15)
Volia



Intel/AMD based PC computers.

Usual hardware requirement depends on the actual application developed in EON Visualizer.

7.4 Security
Licensing will be handled for different parts of the system. Rest of this part TBD. EON
Development will provide licensing system that must be sued for all components.

8 Development environment

All development will be based on the following tools:

. Microsoft Developer Studio 2005. This is the main authoring tool

. Subversion. All source code management will be handled through subversion. All
source code must be checked in on a daily basis so it can be included in the daily
builds. Even if code is not compiling it must be checked in, then non-compiling code
might be commented. Volia will be provided necessary SHH information in order to
reach our subversion database.

. .NET. EON Visualizer will be built on .NET framework.

. WPF, WinFX, XAML and C#. Windows Presentation Foundation (WPF), WinFX,
Extensible Application Markup Language (XAML) and C# (C Sharp) will be the base
for all Graphical User Interface parts developed as managed code under .NET.

. MONO. Mono will be used for other platforms than windows, currently Linux and
Mac OSX.

. OpenOffice. OpenOffice will be used for all documents. EON Development will
provide necessary template files for documentation.

. Dali core code. The Dali core code will be developed by EON Development.

. Dali SDK. A SDK will be provided by EON Development in order to develop all user
interface parts by Volia.

. Bugzilla. Bugzilla will be used for bug tracking. EON Development will provide
necessary accounts etc for this. EON Development will assign bugs to individual
people within the different development teams.

9 Development group/infrastructure

It is understood that Volia will provide 1 developer for placement wt the Göteborg office of
EON Reality. This person will work fulltime during the project period based on the Göteborg
office. EON Development will provide a desk and internet connection but no computer. We
assume it is more handy for this person to have own laptop.

The rest of people working for Volia will be located elsewhere, assuming Kiev.

Every second Wednesday at 14.00 there will be an internal meeting in Göteborg where we
will follow up current status and what is supposed to be developed during the following two
weeks. Prior to the meeting, during Tuesday, current status shall be reported to Anette
Löwenadler who is responsible for project coordination.

EON Visualizer Specification - Confidential -Page 14(15)
Volia



10 Deliverables


During the whole development process all source code shall be delivered through our source
code management system, subversion.

Volia is responsible for testing their own source code and when the project is finished it shall
not contain any known bugs.

11 Work Procedure

The work procedure is defined in Viz_Draft1 Dec 30.doc.

12 Terminology

Dali Internal working name for the new rendering kernel
Openscenegraph An open source available scenegraph to be used in Dali/Visualizer.
TBD To Be Defined
EON Object Model All objects that define an EON Application. Similar to the old

Nodebag – but something complete different.

EON Reality The mother company within the EON company group. Located in
Irvine, CA.

EON Development The Swedish development office for EON Reality. This company
is mainly responsible for all core software development for all
EON products.

13 References

Viz_Draft1 Dec 30.doc by Jan Kjällström and Dan Lejerskar.


EON Visualizer Specification - Confidential -Page 15(15)
Volia

No comments: