Soft+Hardware

DLF Software Projects :

 

Present3D Help

The Easy and Powerful Open Source Tool for creating fully interactive 3D presentations for stereoscopic visualisation. P3D help and how to use it.

 

 

P3D Development

Members page for the ongoing development of Present3D

 

OsgVolume

OsgVolume is currently being developed as part of the JMVP project with Aberdeen Medical School.

 

SHARE

SHARE is a realtime collaborative version of Present3D to enable remote teaching and learning within a full 3D stereo environment. Seeking Funds.

 

Move !T

Move!T is a midi plugin and interface for Present3D to allow both music and midi hardware to be used to control events within the realtime 3D environment. Seeking Funds.

 

 

3D Hardware

 

3D Stereoscopic Visualisation Projection Hardware

Some information on building a 3D stereo projection system.

 

 

Present3D Help

The Easy and Powerful Open Source Tool for creating fully interactive 3D presentations for stereoscopic visualisation.

With affordable real time, stereoscopic visualisation now being a reality, why is it not more widely adopted? The answer is simple, hardware is only one part of the equation, traditionally these systems have been run by experienced computer programmers and without these skills it has been either impossible or very expensive to create your own content. Not any more!

 

 

Present3D is a real breakthrough in power, flexibility and ease of use for a stereo visualisation authoring tool. Completely cross platform, the same presentation can go from laptop, to desktop, to multipipe stereo visualisation environment independent of the OS and hardware used and, most importantly, any one can use it! No programming skills required! And it gets better, Present3D allows the creation of seamless presentations that combine, text, bulleted text, backgrounds, images, stereo images, movies, stereo movies, point cloud models, polygonal models (over thirty formats currently supported including massive terrain and vizsim .flt models) and animation paths, all in a real time, fully interactive environment....drop in a model, turn it, zoom in and explore a detail, fly through and around it..... but why stop at just one model, Present3D uses the familiar slideshow format of applications like Powerpoint, so not only can a single slide combine all of these elements, including multiple models, but you can have as many slides as you require. Go from a text and movie introduction, to a fly through of a virtual town, to a full colour laser scan....what ever is required to explain your research, product, topic or design. By using animation paths and the autorun facility you can also build fully interactive stereo kiosks, for medical information, science centres, museums and heritage applications, now the limit is your imagination.

 

You will find links to the helps pages on this site and where to obtain P3D below.

 

The DLF uses P3D for the development of its 3D Presentations and Shows.

 

Download Present3D 

 

Present3D can now be obtained by downloading the OpenSceneGraph from site link below. 

 

OSG  Site  : Download SVN

 

Then go here to obtain instructions for Building OSG and Present3D on OsX

 

We aim to provide binaries shortly that will make the install easier. You will find links here when that happens.

 

 

Links To Present3D Help Pages :

 

How to : build a Present3D Show

 

How to : use Present3D

 

How to : use Present3D Additional Features

 

How to : Screen Capture in Present3D

 

Present3D Keyboard Controls

 

Setup Images for Stereo Alignment

 

WideWindow Configuration Files

 

How to : create a Present3D Menu to start Present3D shows and other apps (page coming soon)

 

How to : SSH login without a Password ( for control of a remote version of P3D)

 

How to : include Paths in Present3D

 

How to : Jump location within Present3D 

 

How to : create side x side stereo movies for use in Present3D

 

How to : edit or create stereo movies in Final Cut Pro

 

How to : edit or create stereo movies in Motion (page coming soon)

 

How to : apply a movie to a Model

 

How to : include a VNC window in a Present3D scene

 

How to : include a Live Streaming Video Feed

 

How to : view Volumetric Data in OsgVolume 

 

How to : include Volumetric Data in Present3D

 

 

 

 

(Development Team members only) : Present3D Development Page 

 

 

Support Present3D

You can support the development of Present3D by making a donation or, if you are a developer, by getting your hands dirty and becoming directly involved..

 

You will find information on making a donation here: Donations

 

To register an interest in becoming involved please contact us: contact

How to : use Present3D Additional Features

PAGE CURRENTLY BEING EDITED :

 

List of Additional Features :

 

Requires OSG 2.9.x and up to date OSG-Data :

 

Additional Tags :

  • hud  tag to have static background or foreground layer : here

  • billboard  tag to have image elements always face the camera : here

  • exit  tag to auto exit show at end of show : here

  • loop tag to auto loop show : here

  • jump tag to jump from one slide to another within a show : here

  • vnc tag to include the display from another computer as a window within a slide scene : here

  • movie tag to include webcam or live camera feed as a window within a slide scene : here

  • env tag to set environmental variables in the xml file : here

  • path tag to set path environmental variables in the xml file : here

 

Additional Features without Tags :

  • audio/video spanning to allow audio or video tracks to span ( continue playing over) multiple slides : here

 

Additional Features that have How To pages :

  • VNC in a window within P3D : page 

  • Movie : Live Video Stream into a window within P3D :  page 

  • Jump within P3D show : page

  • Volume files : in P3D : page

  • Volume files : Viewing and saving  with OsgVolume : page

 

Other features that require additional installations

  • <browser> Browser in a window within P3D : working on Linux :  to be confirmed for OSX

  • <pdf> PDF in a window within P3D : working on Linux :  to be confirmed for OSX

 

Additional Tags and controls :

 

 

HUD :

hud="on" will create a static image or movie file, unaffected by the camera manipulators.

<image hud="on">image.jpg</image>

<image hud="on">video.mov</image>

Can be used within <image>, <stereo_image>, <vnc>, <pdf>, <browser> and  <background>

Possible uses :

  1. To create a static background image or video, while still able to move and rotate other objects in the scene.

  2. To create static foreground elements such as logos.

Known Issues :

  1. It will be possible to push the manipulated object through or clash with these static layers. This is a design issue you should take into consideration.

 

 

Billboard :

billboard="on" will create an image or movie element, that will always face the camera.

<image billboard="on">image.jpg</image>

<image billboard="on">video.mov</image>

Can be used within <image>, <stereo_image>, <vnc>, <pdf>, <browser> and <background>

Possible uses :

  1. To create labels that will move with the object, but always face the camera.

Known Issues :

  1. It will be possible to push a manipulated object through or clash with these billboards. This is a design issue you should take into consideration.

 

 

 

Exit Presentation :

<exit> exit or escape function as a slide and a button/layer tag.

<exit></exit>

<exit>exit_image.jpg</exit>

Usage add exit tag to a layer, on advancing to a layer containing exit P3D will exit immediately.

Possible uses :

  1. On entering final slide of a show with <exit></exit> in a layer, the show will exit to the desktop.  

  2. Where a second show is loaded by using the click to run feature, use of the exit tag on entering final slide in  the second show it escapes back to the previous show

  3. Where a Present3D menu is used to load various shows, use of the exit tag at the end of these shows will bring you back to the menu show.

  4. As with click to run feature, the exit tag can be used with an image or text to create a button to escape back to the previous show.  

#cccccc; back

 

Loop :

<loop> to loop show :  

<loop></loop>

Usage, add the follow to top of the xml file, just  below the presentation tag:


<presentation>
     <loop></loop>

Possible uses :

  1. To create a show that will loop continuously.

 

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Jump within a presentation :

<click_to_jump> Used to jump x number slides back or forwards within the current show

<click_to_jump jump="relative" slide="-2" layer="0"></click_to_jump>

Usage: 

like click to run but within the same show, so applied to image/model/text and clicking on will jump x number of slides forward or backward. Or jump to a named slide, this would have the advantage that adding, removing or moving slides would not interfere with these links. 

 

Known issues :

 

Click on object/image/text to load a new presentation :
 
 
 
<click_to_run >/full/path/to/runmyapp present3D pathToFile/pres.p3d</click_to_run>
<image position="0.25 0.75 0.0" scale="0.25">myImages/clickImage.png</image>
 
 
To make this work you will need an edited version of the "runmyapp" file to give the full path to the folder where the runmyapp file is located. 
 
Example runmyapp
 
#!/bin/tcsh
cd /Volumes/groucho/pymol_lectures/lambda_repressor
setenv DISPLAY :0.0 
#export DISPLAY=:0.0
$1 $2
	#!/bin/tcsh
cd /Volumes/volumeName/path/to/runmyapp
setenv DISPLAY :0.0
$1 $2
 
You may need to make the runmyapp file an executable by running chmod
 
 
 
Click on object/image/text to load a new presentation and jump in original presentation :
 
 

 

<click_to_run jump="relative" slide="2" layer="1">full/path/to/runmyapp present3D pathToFile/pres.p3d</click_to_run>
<image coordinate_frame="slide" position="0.25 0.75 0.0" scale="0.25">myImages/clickImage.png</image>

 

 

 

 

 

 

#c

VNC :

 

<vnc> Use the vnc tag within a layer :

 

<vnc>network_address_of_your_Mac</vnc> for example <vnc>192.168.0.5</vnc>

 

This will make the vnc window fill the screen in your P3D show. You can change its size, location, fade etc;  just as you would for an image or movie.

 

<vnc   position="0.3 0.9 0.1" scale="0.25" fade="0 0 1 1 4 1" >192.168.0.5</vnc> 

 

Further information on use of vnc can be found here : How to : VNC

 

 

Live Stream :

 

Live Stream into a window within P3D : page

 

<movie>x:y.live</movie> 

 

For use with video capture card or webcam.

 

 

Environmental variable usage and setting, and paths :

 

Usage:

<presentation>

 

<env>OSG_COMPUTE_NEAR_FAR_MODE=COMPUTE_NEAR_FAR_USING_PRIMITIVES</env>

<env>OSG_NEAR_FAR_RATIO=0.00001</env>

 

Path :

 

<path>${DATA_DIR}</path>

<path>${DATA_DIR}/OpenSceneGraph-Data</path>

<path>${DATA_DIR}/Images</path>

<path>${DATA_DIR}/Models</path>

<path>${DATA_DIR}/Earth</path>

 

 

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

Click to run and jump :

 

additional option of moving forward x slides in parent show.  Usage - add following options to the click_to_run : jump="realtive" or "absolute" and then slide="num" and layer="num", example:

 

<layer>

<click_to_run jump="relative" slide="0" layer="-1">osgviewer glider.osg</click_to_run>

<image coordinate_frame="slide" position="0.25 0.75 0.0" scale="0.25">Images/lz.rgb</image>

<click_to_run jump="absolute" slide="0" layer="0">osgviewer cow.osg</click_to_run>

<image coordinate_frame="slide" position="0.75 0.75 0.0" scale="0.25">RSVclip.mov</image>

</layer>

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

 

 

Named slides and jump to named slides :


To name slides and layers you use the new slide_name and layer_name property, and then the add the ability to jump to a slide/layer in response to a key press there is now a <key_to_jump> tag, along with support for use the slide_name and layer_name to reference where you wish to jump to, the old slide="0" and layer="1" numbers still work too, and in theory you should be able to mix and match.

 

There is also a <key_to_run> functionality.

 

You can add multiple <key_to_jump> per layer, and these should be placed right after the <layer> tag, as below.

 

I haven't yet added support for placing the key_to_jump functionality to a whole slide or whole presentation yet, but this should be possible with a bit further work.

 

Note with the key="a" property in the <key_to_jump> you can use a single character alphanumberic value, but if you use 0x prefix it'll assume a hex number, or just numbers and it'll treat it as decimal number. I've tried send these events as a key press from the browser and it works fine.
 

-- example .p3d file.

<presentation>
    <env>P3D_DEVICE=0.0.0.0:8080/Volumes/volumeName/Users/userName/Data/OpenSceneGraph-Data/htdocs.resthttp</env>

    <slide slide_name="chapter one">

        <layer layer_name="section one">
            <key_to_jump key="a" slide_name="chapter one" layer_name="section two"></key_to_jump>
            <key_to_jump key="b" slide_name="chapter one" layer_name="section two"></key_to_jump>
            <imagesequence interaction_mode="USE_MOUSE_X_POSITION" paging_mode="PAGE_AND_DISCARD_USED_IMAGES" >Images</imagesequence>
        </layer>

        <clean_layer layer_name="section two">
            <key_to_jump key="0x20" slide_name="chapter one" layer_name="section one"></key_to_jump>
            <key_to_jump key="0x200" slide_name="chapter one" layer_name="section one"></key_to_jump>
            <stereo_pair scale_x="1.0" scale_y="1.0" paging_mode="PAGE_AND_DISCARD_USED_IMAGES" interaction_mode="USE_MOUSE_Y_POSITION">
                <imagesequence_left region="0.0 0.0 0.5 1.0">Images</imagesequence_left>
                <imagesequence_right region="0.5 0.0 1.0 1.0">Images</imagesequence_right>
            </stereo_pair>
        </clean_layer>
        </slide>


</presentation>

 

 

 

Imagesequence :

 

 <imagesequence interaction_mode="USE_MOUSE_X_POSITION" paging_mode="PAGE_AND_DISCARD_USED_IMAGES" >Images</imagesequence>
        </layer>

 

 <imagesequence interaction_mode="USE_MOUSE_Y_POSITION" paging_mode="PAGE_AND_DISCARD_USED_IMAGES" >Images</imagesequence>
        </layer>

 

 

Http control :

 

To use Http control you need to add the following enviromental variable to the header of the presentation that will be controlled. Below <presentation> tag, but above slide or holding slide tags.

 

The path below will need to be modified to point to your OpenSceneGraph-Data folder.

 

<env>P3D_DEVICE=0.0.0.0:8080/Volumes/volumeName/Users/userName/Data/OpenSceneGraph-Data/htdocs.resthttp</env>

 

 

Then to control from a remote browser, open a browser window and enter the IP address of the host machine with the :8080 port number added to it, for example :

 

http://192.168.0.10:8080

 

You should now get a simple control panel that will alllow control of your presentation from a browser window.

 

 

OSC Control :

 

 

 

 

Audio spanning :

 

audiospan - media spanning multiple slides

 

audio spanning section ; to allow audio tracks to span multiple slides. 

 

This is now supported by just adding movie (with audio) to each slide/layer that needs the audio/movie, and P3D will now spot that there is continuity between slides/layers and will leave the media playing without restarting it.  This functionaity works without any new tags, it also does away with the need for clean_layers.

 

Mailing List :

 

For additional support please join the Present3D list here :

 

http://lists.present3d.osgforge.org/listinfo.cgi/p3d-users-present3d.osgforge.org 

<presentation> 

   <loop></loop>
   

 

 

Using Present3D

Using Present3D

Start a Presentation as normal using the on screen menu or the P3D loader application. You can also start from the command line :

  

Starting a Presentation using the command line

Open terminal and "cd" change directory to the location where the Present3D presentation file is located. Then run using the command:

present3D file.xml

The presentation file.xml will be loaded.

 

Moving through your slides

The following key commands will allow you move throw the presentation slides in different ways.

The left and right arrow keys allow movement back and forward through the slide in a presentation.

The up and down arrow keys allow movement through the layers in each slide.

The "g" key will start the presentation running in auto-play mode.

The "h" key will stop a presentation running in auto-play mode.

The "n" key will auto step through the slides and their layers.

The diagonal keys beside the "help" and "del" will jump between the first and last slide respectively.

The "p" key will pause all rotations and movies.

The "o" key will resume all rotations and movies.

The "r" key will reset the slide, so all movies/animations will start from the beginning.

The "c" key will hide the cursor.

The escape key will exit Present3D

 

Interacting with objects

A three button mouse is useful when interacting with presentation content. However a single button mouse can be used, and the modifier keys "alt" and "command" can be used to replicate the middle and right buttons respectively.

The three buttons do as follows:

Right button with up and down movements will cause the object to zoom in and out respectively.

Left button will object to be rotated.

Middle Button will move the position of the object in 3D space.

The "space" key will reset the object to its default position.

The "l" key toggles dynamic lighting on and off.

The "k" key will allow you to move the light source if your model has normals.

The “w” key will change the model to wireframe view

When using Volumetric data, the "a" key separates the data by luminance and the "t" key will increase the transparency of the volumes layers.

When using Point Cloud data. the "+" and "-" keys will increase and the decrease the point size of the data.

 

Manipulators

Present3D has four main manipulators, Trackball, Flight, Drive and Terrain.

Using the Trackball Manipulator

This is toggled on or off by using the "1" key.

This works as described above.

 

Using the Flight Manipulator

This is toggled on or off by using the "2" key.

The left mouse button will cause acceleration and the right mouse button will cause deceleration or a backwards movement. Clicking both the left and right mouse button will cause an emergency stop.

The up and down mouse movements will cause a decent or lift motion respectively.

The left and right mouse movement will cause a banking left and right respectively.

To move straight centre the mouse on the screen.

 

Using the Drive Manipulator

This is toggled on or off using the "3" key.

The left and right mouse buttons will cause acceleration and deceleration respectively.

The left and right mouse movements will cause a left and right turn respectively.

The "6" and "9" will cause an upwards or a downwards look.

 

Using the Terrain Manipulator

The right mouse button and push up/pull down to zoom in/out.

The left mouse button and move the mouse to translate the models position.

The middle button to rotate or travel over the surface of the model, when close in terrain following will be enabled.

 

Other key Commands

The "z" key will start recording a motion path. Pressing "Z" (shift-z) will stop the recording.

The "f" key will toggle between full screen and windowed mode.

 

 

P3D Keyboard Controls

 

Letter Keys :

 

  • a : The "a" key, with volumes, in combination with mouse movements, will modify the data by      changing the alpha clipping value.
  • c : The "c" key will hide the cursor.
  • d : The "d" key used with the mouse will change the sample density of volumetric data
  • e : The "e" key toggles texturing on and off.
  • f : The "f" key will toggle between full screen and windowed mode.
  • g : The "g" key will start the presentation running in auto-play mode. 
  • h : The "h" key will stop a presentation running in auto-play mode.
  • k : The "k" key, in combination with mouse movement, will allow you to move the light source if your model has normals.
  • l : The "l" key toggles dynamic lighting on and off.
  • m : The "m" key will capture a screenshot, while "M" will capture a series of frames until "M" is pressed again. See "How to screen capture" section for more info.
  • n : The "n" key will auto step through the slides and their layers.
  • p : The "p" key will pause all rotations and movies.
  • o : The "o" key will resume all rotations and movies.
  • r : The "r" key will reset the slide, so all movies/animations will start from the beginning.
  • s: The "s" key will bring up OSG stats.
  • t : The "t" key, with volumes, in combination with mouse movements, will modify the data by changing the transparency. 
  • u : The "u" key will update a running presentation with any changes that have been made to the xml file or content.
  • v: The "v" key steps through the volume rendering modes of default, lit, iso and mip.
  • w : The “w” key will change the model to wireframe view, then points, then back to normal.
  • z : The "z" key will start recording a motion path. Pressing "Z" (shift-z) will stop the recording.

 

Other keys :

 

  • The left and right arrow keys allow movement back and forward through the slide in a presentation.
  • The up and down arrow keys allow movement through the layers in each slide.
  • The diagonal arrow keys  will jump between the first and last slide respectively.

 

  • The "spacebar" key will reset the object to its default position.
  • + or - When using Point Cloud data. the "+" and "-" keys will increase and the decrease the point size of the data.
  • The escape key will exit Present3D

 

Numbers :

 

     Present3D has four main manipulators, Trackball, Flight, Drive and Terrain.

 

  • 1 : Trackball manipulator.
  • 2 : Flight manipulator.
  • 3 : Drive manipulator.
  • 4 : Terrain manipulator.

 

  • 6 : used in combination with Drive manipulator "3" and mouse to Look Down.
  • 9 : used in combination with Drive manipulator "3" and mouse to Look Up.

 


 

Mouse :

 

  • Right button with up and down movements will cause the object to zoom in and out respectively.

  • Left button will rotate the object.

  • Middle Button will move/translate the position of the object in X and Y axis.


 

Further info on using keys and manipulators can be found here : How to : use Present3D

 

.

How to : build a P3D show.

Building Shows

This page is a brief summary of how to build a Present3D presentation incorporating many different files and formats.

 

The Header and Presentation Set Up

A Present3D presentation file is written in XML, which like HTML, uses opening and closing tags between which you place the variable information. You must always ensure that your tags are completed and that there is a space between option in the opening tag or your xml will not parse correctly.

<?xml version="1.0" encoding="UTF-8"?>

<!--

Document   : fileName.xml

Created on : date

Author     : demonstration

Description : demonstration

-->

<presentation>

<duration>1.0</duration>

<name>example1</name>

<bgcolor>BLACK</bgcolor>

<textcolor>WHITE</textcolor>

</presentation>

 

Lets break this down and out the usage of each of the components:

<presentation> is opening tag for the presentation.

<duration>1.0</duration> sets the duration of the presentation for when the show is used in auto-run mode.

<name>example1</name> sets the name of the presentation.

<bgcolor>BLACK</bgcolor> sets the background colour for the presentation, this can be changed by using WHITE or by using a RGBA value for the color you wish to use. ie

<bgcolour> 0.1 0.1 0.7 1.0 </bgcolour> for light blue.

<textcolor>WHITE</textcolor> sets the text colour for the presentation, this can be changed by using BLACK or by using a RGBA value for the color you wish to use. ie

<textcolor> 0.1 0.1 0.7 1.0 </textcolor> for light blue.

</presentation> is the closing tag for the presentation, this should be placed at the end of the presentation xml file.

 

The Holding Slide

These are used as a loading slide for the presentation.

<holding_slide>

<duration></duration>

<background></background>

<title></title>

<layer>

<image position="0.5 0.5 0.25" scale="0.55">images/image.png</image>

</layer>

</holding_slide>

We will again Break this down into its component parts:

<duration></duration> A holding slide has no specific duration as it will stay on screen as long as the presentation is loading, therefore the duration should be left blank.

<background></background> Leaving this blank, the slide will assume the background color set for the presentation.

<title></title> This will add a title text to the slide. This uses osgText library from the OpenSceneGraph. This can be left and a image or movie used instead see later.

<layer> This is the opening tag for the layer onto which your content is entered. See layer section, For a full description of the layer function.

<image position="0.5 0.5 0.25" scale="0.55">images/image.png</image> This links the required file for the slide, an image is best, position sets the position on screen and scale will scale the image to the required size, for a full description of positioning and scaling see later section.

</layer> This is the closing tag for the layer.

</holding_slide> This is the closing tag for the Holding slide.

 

Known issues:

Present3D supports both presentation files with the .p3d and .xml extensions. However the holding slide is only supported when the .xml extension is used.

 

The Slide

This is where all the cool stuff happens, this behaves much like a Slide in PowerPoint or any other presentation tool, you can group a number of different files and file types together to get your desired effect.

 

<slide>

<background></background>

<title></title>

<duration>30</duration>

<key>3</key>

<layer>

<image  position="0.3 0.9 0.2" fade="0 0 1 1 4 1 6 0" scale="0.5">titles/movie.mov</image>

<model coordinate_frame="slide" scale="0.5" >model/model.osg</model>

</layer>

</slide>

 

Break the slide down:

<slide> is the opening tag for the slide.

<background></background> as in the holding slide, the background has been left blank as this slide is using the background colour set for the presentation. This can however be changed by using BLACK, WHITE, or an RGBA value

<title></title> the title function behaves the same as in holding slide.

<duration>30</duration> this sets the duration in seconds the slide will stay on screen for during an auto-run show.

<key></key> This function allows a simulated key press to be implemented into a slide. Any of the Present3D key commands can be used. When using the moveable lighting key command, x and y coordinates can also be used: <key x=0.5 y=0.4>k</key>.

</slide> is the closing tag for the slide.

Known issues:

When using the <key>c</key> to hide this cursor, will not take effect when used with another <key></key> tag.

 

Layers and Object types

Layers allow a slide to built up by introducing objects into the slide at a key press. Within each layer there can be as many different objects as required including, models, images, stereo images, movies and stereo movies.

 

<slide>

<background></background>

<title></title>

<duration>30</duration>

<layer>

<duration>15</duration>

<bullet>text</bullet>

<model coordinate_frame="slide">model/model.osg</model>

<image path="slider.path" fade="12 0 14 1 18 1 20 0" scale="0.35">image.jpg</image>

<image path="slider.path" fade="12 0 14 1 18 1 20 0" scale="0.35">image.mov</image>

<!-- stereo  image -->

<stereo_pair scale_x="1" scale_y="1"  fade="18 0 20 1">

<image_left>stereographs/image_l.jpg</image_left>

<image_right>stereographs/image_r.jpg</image_right>

</stereo_pair>

<!-- side by side stereo image or movie -->

<stereo_pair fade="0 0.999" position="0.5 0.5 0" rotate="0.01 1 0 0"  scale="1">

<image_left region="0.0 0.0 0.5 1.0" >stereographs/movie.mov</image_left>

<image_right region="0.5 0.0 1.0 1.0" >stereographs/movie.mov</image_right>

</stereo_pair>

</layer>

<layer>

<model coordinate_frame="slide" scale="0.5" >model/model.osg</model>

<image path="slider.path" fade="12 0 14 1 18 1 20 0" scale="0.35">image.jpg</image>

<image path="slider.path" fade="12 0 14 1 18 1 20 0" scale="0.35">image.mov</image>

</layer>

<clean_layer>

<model coordinate_frame="slide" scale="0.5" >model/model.osg</model>

<image path="slider.path" fade="12 0 14 1 18 1 20 0" scale="0.35">image.jpg</image>

<image path="slider.path" fade="12 0 14 1 18 1 20 0" scale="0.35">image.mov</image>

</clean_layer>

</slide>

 

Breaking the layer down we get:

<layer> and </layer> are the respectively the opening and closing tags for the layer. Each slide can have as many layers as the user requires.

<duration>15</duration> This functions allows multiple layers to used when using an auto-run presentation. This set the time in second until this layer will appear on screen.

Each layer can have several different objects types incorporated into them.

<bullet>text</bullet> this function is used to add standard bullet points into a layer. This text can be positioned using the usual function or will be auto positioned it no position coordinates are given.

<image>images/image.jpg</image> this function is used to display an image or movie in a layer, all that is required is a correct path to the file. On an image or movie, paths, scaling, rotation, positioning and fades can all be applied, further details are in the Effects section.

Stereo Images and movies can also be incorporated by using the <stereo_pair> and </stereo_pair> opening and closing tags as shown above. Any scaling, positioning or other effects are declared in the opening tag for the stereo pair, so that the effects are applied to both sources equally. Between these opening closing tags, the <image_left></image_left> and <image_right></image_right> functions are used to set the paths to the left and right eye image or movie. Slide by stereo images and movies can also by using the region="" function in the opening tag of the left and right eye image as shown above.Note: When using stereo movies always use side by side format.

<model coordinate_frame="slide">model/model.osg</model> allows a model to be incorporated into a layer. The coordinate_frame, in the model opening tag, allows a model coordinates to change depending on the start position. There is two options for this, "slide" or "model", with the the slide coordinate system the model will be relative to the slide, "model" the coordinate system will be relative to the model. The model system is useful when using large scale walkthrough models as start positions and paths are relative to the actual model.

A full list of supported file formats can be found here.

<clean_layer> and </clean_layer> are the respective open and close tags for the clean layer function. Clean layers allow a new layer in the slide in which only the the objects linked in the clean layer are displayed in the new layer, unlike the layer function where all the objects on the previous layers are still displayed. The objects linked within a clean layer behave the same as they do with in a normal layer, however rotations and paths on objects started in a previous layer will not be reset on a new clean layer, they will continue normally.

 

Known bugs and issues:

There are several threading issue with movies introduced in clean layer. All movies must be applied to every clean layer or this movie will not be closed when the slide is changed. These movies can however have a fade of fade="0 0" applied to them in the layer which the movie is not to be seen. Also, the looping function can not be used on a clean layer, as the movie will not exit properly and will continue to play until the presentation is exited.

mages or movies with alpha channels, must have a fade of between fade="0 0.1" and fade="0 0.999" applied to then to allow the alpha channels to be recognized.

 

Effects

On the any of the objects that are incorporated into a show can have effects such as start position, scale, fade, rotation.

 

<model coordinate_frame="slide" scale="250" position="0.5 0.5 0" fade="0 0 3 1" rotate="60 1 0 0">model.osg</model>

<model position="0 -26078137 0" coordinate_frame="model" rotation="1 0 0 0.2">model.ive</model>

<image position="0.5 0.5 0" fade="0 0 1 1" scale="1" looping="ON"  >movie.mov</image>

 

Effects and their usage:

scale="0.5" The scale effect, scales an media relative to their native size. This is a multiple of its native size, i.e 0.5 is 50% of is native size where as 250 is 250 times larger than its native size. The functions scale_x="0.5" and scale_y="0.3" can also be used to scale differently in the x and y axis.

position="x y z" This sets the position at the which the objects is loaded into the slide. The position is from the centre of the media, this is the same for all types. The x y z, values are relative to the bottom left hand corner of the screen, i.e at position="0 0 0" the centre of the media will line up the the bottom left hand corner and at position="0.5 0.5 0" will be at the centre of the slide. These value vary between -1 and 1. The z value is for setting how far out of or into the screen media will be positioned in stereo or when layering images or models.

rotate="º/s x y z" This allows an object to be rotated on the screen. The variables are, "º/s x y z". The first term, is number of degrees of rotation, the next three terms are defining in which axis this rotation is applied (0 being not applied, 1 being applied). The rotation is applied around the axis, i.e. a rotate="60 0 0 1" will cause the object to rotated 60 degrees from left to right on the screen. Multiple rotates can also be used so positioning in multiple axis is easier, i.e rotate1="60 1 0 0" rotate2="75 0 1 0" rotate3="25 0 0 1" , will rotate the media 60º in x, 75º in y and 25º in z.

rotation="º/s x y z" Rotation allows an object to be spin on screen. The variables are, "º/s x y z". The first term being number of degrees rotated per second, the next three are in which axes the rotational motion is applied (0 being not applied, 1 being applied). Rotation is around the centre of the respective axis, i.e a rotationrotation="60 0 0 1" in the z axis will cause a rotational motion from left to right on the screen. Multiple rotations can also be applied to an object usingrotation1,rotation2, and rotation3

looping="ON" This effect allows a movie or animation path to be looped within a slide. This can be either "ON" or "OFF".

fade="t % t %" This allows media to be faded onto and off of the slide. The variables are, "t % t %", where t is time in seconds from the time the layer is loaded, % is a value between 0 and 1, being 0% visible to 100% visible respectively. i.e fade="0 0 3 1" at the moment the layer loads, time 0 the media is not visible and at 3 seconds the media will be completely visible. This is a gradual transition between 0 and 3 seconds. There is no limit as how many of these time and visibility pairs can be added to each media item.

 

Text & Fonts

Text can be used in a slide both as body text using the <paragraph> tag and as bulleted text using the <bullet> tag. Truetype fonts can be used and charatcter size  and position can be set, but if not given defaults will be used.

<paragraph font="myfont.ttf" character_size="0.3" position="0.1 0.5 0.08"> My Text </paragraph>

<bullet font="myfont.ttf" character_size="0.3" position="0.1 0.5 0.08"> My Text </bullet>

Fonts are, by default, in a fonts folder within the OpenSceneGraph-Data folder but a path can be included within the tag to point at other locations.

If moving a presentation from one machine to another, remember to move a copy of any fonts used.

 

 

Paths

In any slide the media item can have paths applied to them so that movement effects can be applied to item, as well as automated fly through for large models and any other movement that is required to happen in a slide.

 

<model path="name.path" path_time_offset="2">model/model.ive</model>

<image animation_material="name.material" animation_material_time_offset="2">movie.mov</image>

<model path="name.rotation_path">model.osg</model>

<image camera_path="name.path">image.jpg</image>

 

These four types of path are dependent on an external file with either a .path, .material or .rotation_path extension. These paths can be applied to any of the support media types.

1. path="name.path" This path requires a file with the extension .path. An example of a file like this is

0 0 0 -4 0 0 0 1

7 0 0 0 0 0 0 1

8 0 0 2 0 0 0 1 

 

The first column represent time from the point the animation path starts. The second, third and fourth columns represent x y z position coordinates respectively. The fifth, sixth, seventh and eighth columns represent the x y z w quaternion coordinate respectively. A time offset can also be applied to path_time_offset="2" the variable is the number of seconds from time the slide is loaded.

 

2. animation_material="name.material" This path requires a file with the extension .material. This allows the colour and alpha of an object to be altered over time. An example of this file type is:

 

0 1 1 1 0

2 1 1 1 1

6.5 1 1 1 1

7 1 1 1 0 

 

The first column represent time from the point the animation path starts. The second, third and fourth columns represent r g b a values respectively. A time offset can also be applied to an animation material using animation_material_time_offset="2" the variable is the number of seconds from time the slide is loaded.

 

3. path="name.rotation_path" This path requires a file with the extension .rotation_material. These paths a path to be applied to an object that is spinning. An example of this type of file is:

 

0 0 0 0 -0.3 0 0.01 0 0 0.05

5 0 0 0 0.2 0 0.1 10 0 0.09

20 0 0 0 -0.1 0 0.4 190 0 0.6

24 0 0 0 -0.2 0 0.4 230 0 0.8

29 0 0 0 -0.3 0 -0.8 280 0 3

 

The first column represent time from the point the animation path starts. The second, third and fourth columns represent x y z position coordinates. The fifth, sixth and seventh represent x y z pivot point coordinates. The eighth and ninth columns represent rotation coordinates, azimuth (from north) and elevation (from horizon) respectively. The tenth column represents look distance.

 

4. camera_path="name.path" This path requires a file with the extension .path. This type of path movies the camera rather than the object, this is well suited to automating a fly through of a large model. This can easily be done by opening the model on its own, Present3D (not as part of an xml) and by pressing the z key, this will start recording the users movements, so stop the recording press Z (shift-z). There will be a file saved_animation.path created. Remember when using this path for fly through to set the model coordinate frame to model.

 

Menus and Interactive Presentation

Present3D also allows for interactive menus and other items to be created which allow other presentation and application to be started locally or remotely through SSH.

<?xml version="1.0" encoding="UTF-8"?>

<!--

Document   : menu.xml

Created on : 

Author     : 

Description: Menu for local file

-->

<presentation>

<name>Opticore Menu</name>

<bgcolor>BLACK</bgcolor>

<textcolor>WHITE</textcolor>

<slide>

<background></background>

<title>demo menu</title>

<layer>

<!-- remotely -->

<click_to_run>ssh user [at] host [dot] local /path/runmyapp present3D file.xml &amp;</click_to_run>

<bullet>Button</bullet>

<!-- locally -->

<click_to_run>/path/runmyapp present3D file.xml &amp;</click_to_run>

<image>images/image.png</image>

</layer>

</slide>

</presentation>      

 

The menu file works on due to the <click_to_run></click_to_run> function. This will run an external script allowing other application to be launched. The object that follows the click to run function is used as a clickable button which enables the click to run. This can be any of the Present3D supported media files. To launch another Present3D xml presentation a file called runmyapp is need to allow the xml file to be launched. This file should be place in the directory along with the xml presentation file. This file looks like:

 

cd /full/path/to/file/directory

setenv DISPLAY :0.0 

#export DISPLAY=:0.0

$1 $2

 

The purpose of this file is set the point at which the present3D file.xml command is applied, also sets up the display setup as this may vary when using remotely. This file should not have any extension.

When using a menu remotely, it is recommended that ssh automatic login is used, detail can be found here .

New Features : Present3D continues to be developed and a list of new features can be found on this page : How to : use Present3D Additional Features

 


Mailing List :

For additional support please join the Present3D list here :

http://lists.present3d.osgforge.org/listinfo.cgi/p3d-users-present3d.osg...

How to : P3D Paths

  

Present3D paths file explanations

 

1) Path

 

path="name.path"

 

0 0 0 -4 0 0 0 1

7 0 0 0 0 0 0 1

8 0 0 2 0 0 0 1

 

first column - time

 

2,3,4 position: x y z

 

5,6,7,8 quaternion: x y z w

 

can be used with a time offset : path_time_offset="2"

 

 

2) Animation Material

 

animation_material="name.material"

 

0 1 1 1 0

2 1 1 1 1

6.5 1 1 1 1

7 1 1 1 0

 

first column - time

2,3,4,5 are colour and alpha : r g b a

 

 

can be used with a time offset : animation_material_time_offset="2"

 

3) Rotation path

 

path="name.rotation_path"

 

This is the one used for the Mars sequence.

 

 

0 0 0 0 -0.3 0 0.01 0 0 0.05

5 0 0 0 0.2 0 0.1 10 0 0.09

20 0 0 0 -0.1 0 0.4 190 0 0.6

24 0 0 0 -0.2 0 0.4 230 0 0.8

29 0 0 0 -0.3 0 -0.8 280 0 3

 

 

1 : time

2,3,4 position: x y z

 

5,6,7 pivot point: x y z

 

8,9 rotation: azimuth (from north) elevation (from horizontal, up is

+90 degrees)

 

10 look distance:

 

 

4) Camera Path

 

camera_path="name.path"

 

Capture a camera path by pressing "z" key to start and "Z" to stop - it will write the file "saved_animation.path" in the current directory.

 

 

 

How to : create side x side stereo movies

Present3D Help

Creating side by side stereo movies in QuickTime

 

Present3D is great for displaying stereo. Stereo movies however should always be used in side by side format. This page will go through how to produce side by side stereo movies in QuickTimePro.

 

  1. Open both the left and right eye movie files in QuickTimePro.
  2.  Choosing the right eye movie, use the Select All then Copy functions from the edit menu.
  3.  Now click on the left eye movie, use the "Select All' and then use the Add to Selection and Scale function from the edit menu. Both movie will now be directly on top of each other.
  4.  Now open the Show Movie Properties from the window menu: The left eye movie will be Video Track 1, and the right eye will be Video Track 2. Select Video Track 2 and click the Visual Setting tab. Now using the Offset, change the the first value to width of the video file. In the Player window both video tracks should be side by side.
  5. Now Save and a side by side stereo movie has been sucessfully created.

 

 

How to : edit or create stereo movies in FCP

Although Final Cut Pro doesn't have any built in tools for working with stereo 3D, the following two tools can make the process of creating your stereo 3D feature much, much easier. However, if you want to do it all manually, the final section shows you how to setup a side by side viewer in FCP.

PluralEyes for Syncing Your Clips :

Before you can do very much you need to sync your left and right eye footage, along with any audio track if that has been captured separately. If you are using consumer, or even prosumer cameras, then this can be a real chore.  Singular Software have a solution for this, their PuralEyes software will automatically sync both video and audio in FCP, ready for you to crop and then take onto the next stage..

Watch the tutorials here.

The Stereo 3D Toolbox :

Once you have your synced video clips then Tim Dashwood's Stereo3D toolbox makes it so much easier to view and fix convergance issues, colour balance and then output to the format that you want.

You will find the tutorials here.

Creating a Side by Side viewer in FCP :

If you use the tools above then you shouldn't need to use this setup, but it's useful to know, just in case.

You can create a stereo movie sequence for side by side stereo by doing the following :

Open Final Cut Pro..

Go to menu bar FCP and scroll down to Audio Video settings..

Then in the Summary tab select the correct preset for your material...

Now open the Sequence Presets tab, find ticked preset, check it is correct (as previous step) and then click on the Duplicate button at the bottom of the window.

Now to change the Frame Size..

First click on the Aspect ratio button and select Custom, now double the width of your frame. This will allow you to have both your right and left movies side by side in the FCP viewer.

Click ok.

Now create a new Project - menu bar/File/New Project

Now add your clips to this project in your FCP Browser window..

Then double click on your first left clip, it will open in the Viewer, in the Viewer, click on the Motion tab, and change the Centre to -X (where X is half the width of your materials frame ie a quarter of your new double width viewer)

Now double click your first right clip, and as above, except change the Centre to X (where X is half the width of your materials frame ie a quarter of your new double width viewer)...

Now you can drop these clips on to individual video channels on the FCP timeline and they should come up side by side in the viewer... you can now sync your clips by moving in the channel.... it can be easier if you go to the bottom right of the timeline window, click and hold down the forward arrow, and select both Show Filmstrips and Audio Waveforms...

You can create a stereo movie sequence for side by side stereo by doing the following :
Open Final Cut Pro..
 
go to menu bar FCP and scroll down to Audio Video settings..
then in the Summary tab select the correct preset for your material...
now open the Sequence Presets tab, find ticked preset, check it is correct (as previous step) and then click on the Duplicate button at the bottom of the window.
 
Now to change the Frame Size..
first click on the Aspect ratio button and select Custom, now double the width of your frame. This will allow you to have both your right and left movies side by side in the FCP viewer.
click ok.
 
Now create a new Project - menu bar/File/New Project
Now add your clips to this project in your FCP Browser window..
then double click on your first left clip, it will open in the Viewer, in the Viewer, click on the Motion tab, and change the Centre to -X (where X is half the width of your materials frame ie a quarter of your new double width viewer)
 
Now double click your first right clip, and as above, except change the Centre to X (where X is half the width of your materials frame ie a quarter of your new double width viewer)...
 
Now you can drop these clips on to individual video channels on the FCP timeline and they should come up side by side in the viewer... you can now sync your clips by moving in the channel.... it can be easier if you go to the bottom right of the timeline window, click and hold down the forward arrow, and select both Show Filmstrips and Audio Waveforms...

Installing Present3D on OSX

Page still in process of being written.. still..

Installing from Binary :

At this time (Dec 2010), there isn't an up to date binary available, but as soon as there is, it will be available for download from here.

Building from Source :

Present3D is now part of the OpenSceneGraph source so a download of the code from the SVN repository will get the most up to date code, but before you do that you need to make sure you already have the following :

1)  Developer Tools :

If installed you will have a folder called Developer which has Xcode 3.x.x application, if not then you can either install from your system disk or download from the Apple site.

2) Cmake :

The OSG currently uses Cmake to generate either make  files or an Xcode project depending on your preference.

Cmake can be downloaded from here : http://www.cmake.org/cmake/resources/software.html

You want the Mac OSX Unversal .dmg

Current version is 2.8.3

Download and install as normal.

 

Now you are ready to download the OSG.

3) OpenSceneGraph:

To download the osg open a shell (Terminal window)  navigate to your User home directory by typing

cd ~

then return key

and then cut and paste in the following and press return:

svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph

Once that has finished downloading you should now have a folder in your User/your user name directory called OpenSceneGraph, which has all of the downloaded files.

Now you need to download the OSG data files into the same home directory ( not the OpenSceneGraph, but the same one where that is installed) by cutting and pasting in the following to your shell and pressing return.

svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph-Data/trunk OpenSceneGraph-Data

 

At this point, you could start the build process, but you will be missing a few extra libraries that we will want to use to enable volume rendering and vnc window support, so lets go ahead and get those, if you don't need volume rendering or VNC window support you can skip this part and go to item 7 below.

4) Insight ToolKit :

You can download ITK from here : http://www.itk.org/ITK/resources/software.html

Download the 3.14 release. There seems to be a problem with the most recent version 3.20 building and 3.14 is the last known version to work, I will try the other more recent versions and update this if more recent ones build.

Once it has downloaded you will want to move the folder to the same User home directory as for the OSG and then open the Cmake application that was installed in your applications folder at 2 above.

Now you need to set up Cmake to find the source you want it to use and where you want it to put the make files it creates. So, for both use the browse button to find and select the InsightToolkit folder you just moved or , once you have the location in the top box  you can copy and paste into the box below.

Now you are ready to let Cmake do its work, so hit the Configure button, wait till it's finished, if the main window shows red then you may need to make some configuration adjustments, but you can just hit configure again and when that is finished hit the Generate button and again wait till it's finished. You now have generated a make file that will allow you to install the Insight Toolkit.... so now you need to do that...

Go back to your shell and navigate into the InsightToollkit folder/directory by typing (changing the folder name to match yours)

cd ~/Insight_folder_name

Now we need to make and install by typing the following commands  followed by return key :

make

Once that has finished

sudo make install

you will be asked for an admin password enter that and again press return.

Once that has finished you will have installed the Insight Toolkit. If there is a build error then you may need to go back to Cmake and make a configuration change the error should give a hint to what that might be... and then go back through the process again.

 

5) DCMTK

Download and install : DCMTK.dmg

This has been created with  MacPorts port dmg filename command and will be placed in the usual location for all MacPorts files : /opt/local/

6) LibVNC

Don't do this unless VNC window is needed,  as edits to other files are required to avoid build problems. See Temp Fix below.

Download and install : LibVNCServer.dmg

Temp Fix :

Use BBedit (or your normal editor ) to edit the following files:

In OpenScenGraph/src/osgplugins/vnc edit the file ReaderWriterVNC.cpp on line 22 with a new path to rfb directory /opt/local/include/rfb/rfbclient.h  and then save,

 

then in the directory  /opt/local/include/rfb/

 

open rfbclient.h and edit paths to the following files :

 

rfbproto.h to /opt/local/include/rfb/rfbproto.h 

keysym.h to /opt/local/include/rfb/keysym.h 

 

and then save,

 

now open  rfbproto.h and edit the path to the following files :

 

rfbconfig.h to /opt/local/include/rfb/rfbconfig.h

rfbint.h to : /opt/local/include/rfb/rfbint.h 

and then save,

This has been created with  MacPorts port dmg filename command and will be placed in the usual location for all MacPorts files : /opt/local/

 

7) OSG

Open the Cmake application that you installed earlier into you Applications folder.

Now you need to set up Cmake to find the source you want it to use and where you want it to put the make files it creates. So, for both use the browse button to find and select the OpenSceneGraph folder in your User home directory, or once you have the location in the top box  you can copy and paste into the box below.

Now you are ready to let Cmake do its work, so hit the Configure button, the main window will show red and there are some changes that you need to make ;

Build_OSG_Applications  :  box should be ticked

Build_PRESENT3D_WITH_SDL : box should be un-ticked

CMAKE_OSX_ARCHTIECTURES  : should say i386 only! Remove other options.

CMAKE_OSX_SYSROOT : should be : /Developer/SDKs/MacOSX10.6.sdk ( if you are building on 10.6 and 10.5.sdk if building on 10.5).

 

FREETYPE_INCLUDE_DIR_freetype2 : should have a path : /usr/local etc.. if not, see item 9 

FREETYPE_INCLUDE_DIR_ft2build : should have a path : /usr/local etc.. if not, see item 9 

FREETYPE_LIBRARY : should have a path : /usr/local etc.. if not, see item 9 

ITK_DIR : should be : /usr/local/lib/InsightToolkit

OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX :  must be changed to  : imageio

OSG_GL3_AVAILABLE : should be  : un-ticked

OSG_WINDOWING_SYSTEM : should be changed to : Cocoa

now hit Configure button again...

..wait till it's finished and then hit the Generate button and again wait till it's finished. You now have generated a make file that will allow you to install the OSG,  so now you need to do that...

Go back to your shell and navigate into the OSG  folder/directory by typing (changing the folder name to match yours)

cd ~/OpenSceneGraph

and then type 

make

and press return.... and then wait...

...and once that is finished, assuming you had no errors, you have finished building the OSG and Present3D. 

Handy Hint :  You can speed up the make process by giving permission to use more than one core by adding -j x where x is the number of cores. So in my case, with 8 cores, that would be : make -j8

Another Handy Hint : Should you get an error and it is obvious that it is from a non essential library, then you can continue the build by adding  -i which will ignore the error, so that would now make the command :

make -j8 -i

But beware, as this will not only ignore the first error that stopped the build, but also any subsequent errors, should there be any.... however, at least you will know the full extent of your problem.

Before you can jump in and start using Present3D, you will need to set up your shell environment and we cover that in the next section...

 

8) .tcshrc file

By default Terminal opens a Bash shell, but out of long use and sheer habit I use Tcsh, so this section is going to assume that you are happy to make the change to the tcsh shell and that if you are a seasoned bash user, that you will know how to adapt what follows to suit the bash environment.

So, if not already open, open the Terminal application, now open it's preferences (Terminal/Preferences) and in the Startup section, where is says : Shells open with: select the second option : command (complete path): and edit the box below so that it says :

/bin/tcsh

and that's it, open a new shell and it should now say tcsh on the window header... you can close the preferences. 

Now, there are various paths and environmental variables that we want to have set automatically when we open the shell, and for this we create a .tcshrc file. The dot in front of the name means that this is a hidden file and once saved you will only be able to see it with an editor that will allow you to see such files... you could use Dashcode that comes with the Xcode tools, but my preference is BBedit from Bare Bones Software and a free 30 day trial can be downloaded from here : http://www.barebones.com/products/bbedit/  but TextWrangler, also from Bare Bones is cheaper I believe and so may be worth considering.

Now we need to create or add to your .tcshrc file. 

Download this example : dot_tcshrc  file and either add to your existing or save as .tcshrc  to create a new one.  The system will ask are you sure you want to use the prefix .  say yes!
 
Now you need to find and replace all instances of username and change to the username of the home folder that you saved the OSG etc into above.
 
This file is where you set the defaults for how Present3D will be setup to display on your screens. Here you control size of screen, whether stereo is on or off and what stereo driver is required. You can also select which widescreen config will be used and which cursor.
 
OsgConfig
 
OsgConfig files allow control of the size and proportions of the window that will be displayed on your desktop. This is most often used when wanting to create a single graphics context that will stretch across two displays rather than each of the display being rendered individually and potentially loosing stereo sync when handling large datasets.
 
If not required just comment out the following line in the .tcshrc file or include a setenv in the header of your .xml show file. To comment out use a # in front of the line.
 
#setenv OSG_CONFIG_FILE /Users/username/osgconfigs/wideWindow1024.cfg 
 
Download example osgconfig folder and put in same folder/directory as OSG etc above : osgconfig

 

9) MacPorts

When you look through the OSG Cmake window you will see references to a number of other libs that may or may not be useful. Ones to avoid at this time are FFmpeg and Xine as these tend to cause build problems and aren't required if the CoreVideo  plugin is installed, which it is by default.

One that you should already have is  Freetype2 but if the lines :

FREETYPE_INCLUDE_DIR_freetype2

FREETYPE_INCLUDE_DIR_ft2build

FREETYPE_LIBRARY

have -NOTFOUND against them, then you could use MacPorts to download and install this lib. (or download the ,dmg file from here : FreeType2 )

MacPorts can be downloaded from here : http://www.macports.org/install.php

Once installed you can use the command line in terminal to do the download and install process, however, I find it handy to have a GUI for this, and so I use the free Porticus application that can be downloaded from here : http://porticus.alittledrop.com/download.html

Once downloaded and installed you should open the Porticus app and do a SelfUpdate which is found on the main menu under Ports. You will probably be asked for you password during this process. 

You should now be able see that the All Ports folder in the sidebar of the Porticus window is listing over 7,400 ports available. Select that folder and then in the search bar enter the name or part of the name of the library that you want to install, in this case you should type freetype and then select the freetype 2.4.3 or later option that is listed, then hit the install button on the window menu bar... you will then be given some options, tick the universal box and then install.

If you do add libraries you will then need to go back to the Cmake and configure once again, make sure that the library that you have added now has a path against it along the lines of /opt/local/xxxx instead of the -NOTFOUND that was there previously. If it hasn't updated you can tell Cmake to start from scratch again by throwing away its cache (Menu bar /File/Delete Cache) but you will then need to make all the changes that we did in section 7 once again. 

10) Colour Lookup Tables (CLUT)

Without a colour lookup table CT and MRI data will be displayed in greyscale. At this point, CLUT are little more than a text file that you can edit by hand to control colour and alpha values for particular densities of the original data. However, with the next round of funding it is intended to create an interactive GUI driven application that will allow you to visually define the colour, contrast, exposure and crop the data before saving for use in Present3D.

A folder with some sample CLUT can be downloaded here and a copy saved either in the same location as your .xml "show" file or in a single standard location like the osgconfigs folder, remember to include the full path to the CLUT file in the xml file.

Download : Sample CLUT File

11) Sample Shows (shows still to be added/uploaded)

For information on how to run Present3D shows and what keys can be used go : here.

Download : Sample_Show  folder : This  includes two shows: setup.xml includes some grids for projector alignment with passive stereo systems, polariser adjustment screen and a skull dataset that should help confirm that the "eyes" are the correct way round. The second show, sample.xml includes some pointcloud datasets captured by a laser scanner, some stereo movies and an example of a movie applied to a sphere. Once the folder has been downloaded and unziped, open a terminal window and "cd" into the folder, then type :

present3D setup.xml

or

present3D sample.xml

You can move through the show by using either the "n" key or left and right arrow keys. You can rotate, pan and zoom,  either by using a 3 button mouse or by holding down the mouse button, or mouse button plus "alt" or mouse button plus "ctrl" keys.

Download : Sample Volume Show : This show includes a CT scan which is being rendered using the different methods possible, this can be changed interactively by pressing the "v" key. Transparency can be controlled by holding down the "t" key and moving the cursor up and down the screen. Data can be removed by density by holding down the "a" key and moving the cursor up and down the screen.

Once the folder has been downloaded, open a terminal window and "cd" into the folder, then type :

present3D volume.xml

You can use this same command to open any Present3D show just replacing volume.xml with the actual name of the .xml file that you want to open.

A good source for test volume datasets can be found here : CTDATA

at this point only use those that have the Modality listed as CT. We are working on solving the problem with the other modalities and will update this when it is fixed.

For information on how to build a Present3D show go : here

AttachmentSize
osgconfigs.zip9.29 KB
colour_255.zip8.01 KB

Present3D Help : Using Frame Renderer

How To : Use the Present3D Frame Renderer

This page give a brief description of how to use the Frame Renderer tool to capture image sequences for use with the new imagesequence interactive format.

 

-----Currently being written----

Setup Images

 

Setup grids for 4x3 format screen

 

 

 

<slide>

   <duration></duration>

      <background></background>

      <title></title>

      <layer>

 

      <stereo_pair scale_x="1.0" scale_y="1.0" >

             <image_left>images/gridgreen.jpg</image_left>

             <image_right>images/gridred.jpg</image_right>

         </stereo_pair>

<paragraph position="0.15 0.85 0.05" character_size="0.06">Stereo set up</paragraph>

      </layer>

   </slide>

 

 


Put the following grids in a folder called images or rename the path above. 

 

 

 

 



 

 

Grids for 5x4 format screen

 

<slide>

   <duration></duration>

      <background></background>

      <title></title>

      <layer>

 

      <stereo_pair scale_x="1.0" scale_y="1.0" >

             <image_left>images/gridgreen54.jpg</image_left>

             <image_right>images/gridred54.jpg</image_right>

         </stereo_pair>

<paragraph position="0.15 0.85 0.05" character_size="0.06">Stereo set up</paragraph>

      </layer>

   </slide>

 

 


Put the following grids in a folder called images or rename the path above. 

 

 

 



 

Polariser setup image 

 

 

<slide>

   <duration></duration>

     <background></background>

     <title></title>

      <layer>

      <image>images/polariser.jpg</image>

     </layer>

   </slide>


Put the following image in a folder called images or rename the path above. 

 

To setup polarisers. Blank one of the projectors and close one eye (with polarised glasses on) now adjust the filter on the other projector till you get the white circle as dark as possible. Now do the same for the other projector with the other eye closed.

 

 

 

 

WideWindow Config Files

 

 

4 x 3 Format 

1024 x 768 : wideWindow1024

1280 x 960 : wideWindow1280

 

5 x 4 Format

1280 x 1024 :

 

Addition to Configuration files to control pixel depth and anti-aliasing :

DEPTH_SIZE 24

The window configuration file has been updated to include control for setting pixel depth using the DEPTH_SIZE setting. By default this should now be 24, but can also be changed to 16 or 32 bit as required.

 

SAMPLE_BUFFERS,

SAMPLES 2

Anti-aliasing can now be set by changing the SAMPLES value from the default of 2 to a higher value, however increasing this value may have an impact on performance.

 

.

AttachmentSize
wideWindow1280.cfg_.zip1.82 KB
wideWindow1024.cfg_.zip981 bytes

How to : Include a VNC Window

  

Present3D Help :


 

 

You can now include a VNC window within your P3D presentation. This has a huge number of uses and we are using this feature to get the results from our voting system, which runs on our MacBook Pro, into a P3D, 3D school show, running on our MacPro.

 

 

 

Adding VNC into your P3D show :

 

This can be very simple, just use the following tag within a layer.

 

<vnc>network_address_of_your_Mac</vnc>  for example <vnc>192.168.0.5</vnc> 

 

on the Mac you can also use the Mac name : <vnc>myMac.local</vnc> 

 

This has the advantage of working even if the network address of the Mac has changed, as long as both machines are on the same network.

 

You may find that a password is required to connect, if so, you can add the password tag :

 

<vnc password="mypassword">myMac.locall</vnc> 

 

The above will make the vnc window fill the screen in your P3D show. You can change its size, location, fade etc;  just as you would for an image or movie.

 

<vnc password="mypassword"  position="0.3 0.9 0.1" scale="0.5" fade="0 0 2 8 1 10 0" 

>myMac.local</vnc>

 

With some VNC servers you might find that there is a colour change issue this can be resolved by adding the options="value" control. Possible values are : "RGB", "RGBA", "BGR" and "BGRA".

 
<vnc password="mypassword" options="BGRA" >myMac.local</vnc> 
 
You can also swop from RGB to BGR by using options="swop" 
 
<vnc password="mypassword" options="swop" >myMac.local</vnc> 
 
 

Using Vine VNC :

When working with our voting system we use VIne VNC server.  This is a free application that allows you to remorely view and control your Mac by using a VNC client on another Mac or PC. 

 

Vine VNC will work with any VNC client and once you have it installed you can test that it is working by going into Safari on the remote Mac entering the following url which uses the network address of the Mac (host) running Vine VNC Server.

 

vnc://network_address_of_your_Mac  for example vnc://192.168.0.5

 

or vnc://myMac.local

 

or you could use any VNC client.

 

If Vine VNC doesn't work, then open its preferences and check that the portnumber has been set to 5900 and ensure that neither OSX Screen Sharing or Remote Management are enabled in System Preferences/Sharing.  Once it is working you can open your display preferences and adjust the display settings. 

 

 

Using Screen Sharing or Remote Management :

You can also use either OSX Screen Sharing or Remote Management, as an alternative to Vine VNC and I think the image quality is slightly better. To do this you will need to enable them in System Preferences/Sharing. However, one downside is that you will have a login window in the first slide that has a vnc window of each presentation.p3d/xml file that you load. This is why we currently use Vine.

 

 


 

 

Known Issues :

 

  1. Loss of VNC connection will cause your P3D show to exit.
  2. Colour within the VNC window can be altered dependant on the VNC server, this can be fixed by using the appropriate options="value" as shown above.
  3. Moving objects in the scene can become slow.
  4. Fade tag not working in current build (1/2/13)

 

Current Workarounds :

 

  1. Use the <click_to_run> tag to open slides where you want to use VNC as a new show on top of your "base" show. 
  2. Use the options="value" fix above.
  3. Design the show/slide so you don't need to move it.

How to : Jump within P3D

Present3D Help

 


 

How to jump within a P3D show by using the "jump" tag.

 

This is best used in combination with the <exit> tag at the end of any show opened on top of a base show.

 

 

 Jump 

 

Enables jumping within the same show. It is applied to image/model/text and clicking on will jump x number of slides forward or backward. Or jump to a named slide, this would have the advantage that adding, removing or moving slides would not interfere with these links.
 
Usage:
 
           <layer> 

          <click_to_jump jump="relative" slide="-2" layer="0"></click_to_jump>

 

          <image coordinate_frame="slide" position="0.25 0.75 0.0" scale="0.25">Images/lz.rgb</image>

          </layer>

or

 

 

Jump within base show and open a new show on top.

This allows you to jump from a slide in your base show and fire off a new show, but when you exit that show, you come back to a different location within the base show. This allows complex non-linear shows to be created.

 

This is best used in combination with the <exit> tag at the end of any show opened on top of a base show.

 

Usage - add following options to the click_to_run : jump="realtive" or "absolute" and then slide="num" and layer="num", example:
 
          <layer>

          <click_to_run jump="relative" slide="0" layer="-1">osgviewer glider.osg</click_to_run>

          <image coordinate_frame="slide" position="0.25 0.75 0.0" scale="0.25">Images/lz.rgb</image>

          </layer>

 

          <layer>

          <click_to_run jump="absolute" slide="0" layer="0">osgviewer cow.osg</click_to_run>

          <image coordinate_frame="slide" position="0.75 0.75 0.0" scale="0.25">RSVclip.mov</image>

          </layer>

 
 

How to : Apply a Movie to a Model

 

Applying a Movie to a Model:

 

Using .obj Files 

 

Create your model with a known texture/s that you want to replace, lets call it "picture.jpg" or "picture.png" if using alpha channels. Save or export as a .obj file. 

 

Convert the .obj file to a .osg by using the osgconv function:

 

 % osgconv file.obj file.osg

 

replacing  "file" with the name of your model.

 

Now open  "file.osg"  in a text editor (BBEDIT) and search for - file "picture.jpg" or file "picture.png" and replace with the name and relative path from the P3D xml file to the  .mov file that you want replace the texture with.

 

file "models/movie.mov" 

 

There is one other change that you need to make to allow your model to display correctly.

 

search for : diffuseColor and you will find it is set as follows :

 

diffuseColor 0 0 0 1

 

change this to

 

diffuseColor 0.8 0.8 0.8 1 

 

You can now test your model by running your P3D show. It will not work with OsgViewer.

  

Note that movies may need to be flipped horizontally and vertically to appear correctly - this can be done easily in Quicktime Pro.

How to : Include a Live Stream

 

Present3D Help


 

How to include a live stream from a capture card or WebCam 

 

In terminal/shell type : 

 

osgmovie --devices

 

    If you have any live feed devices associated with a QuickTime

    driver then this will spit out some command line options and

    associations.

    It will also spit out any pseudo Windows VDIG wrapped Direct

    Show devices in the same way

 

eg: ...

     4:1.live    Blackmagic HDTV 720    Intensity HDTV 720p 59.94

    ...

     1:4.live    Hauppauge WinTV 418 Video Capture

                (4&E384A6E&0&48F0)    S-Video 3 UYVY @ 720x480

    ...

 run osgmovie and pass it a "pseudo" file name that will be

   translated by the plug-in to point at an input device eg

 

osgmovie x:y.live

 

within Present3D the layer tag would be :

 

<movie>x:y.live</movie>

 

 

 

How to : Install DCMTK for Volume Rendering

Present3D Help

 

 

Installing DCMTK on OS X to enable loading of DICOM files

 

 

Option 1 :

Install from MacPorts. This is easy and it usually works. Currently the Fink version seems to be broken.

Remember you will need to add the relevant paths to your .tcshrc file. Closing the sidebar (small arrow above) will make it easier to read this bit)

 

setenv PATH /usual_stuff_here/opt/local/bin:/opt/local/lib:/opt/local/include:/opt/local/share:/opt/local/sbin:${PATH}

 

and you will need to add a environmental variable to set the path to the dicom.dic file :

 

setenv DCMDICTPATH /opt/local/lib/dicom.dic 

 

Info on this here :

osg-users [at] lists [dot] openscenegraph [dot] org/msg22776.html">http://www.mail-archive.com/osg-users [at] lists [dot] openscenegraph [dot] org/msg22776.html

http://www.mevis-research.de/~meyer/dcmtk/docs_352/dcmdata/datadict.txt

 

Current Issues :

 

When building the OSG, cmake reports the following missing files :

 

     DCMTK_imagedb_INCLUDE_DIR-NOTFOUND 

     DCMTK_imagedb_LIBRARY-NOTFOUND 

 

These files are no longer required by the current version of DCMTK 3.5.4

 

 

 

 

Option 2 :

 

Download the source and compile yourself :

 

If you choose to do this, then these pages might help :

 

http://forum.dcmtk.org/viewtopic.php?t=1372

How to : Create DCMTK OSX Universal Binary

 

Good luck :-)

 

How to : Use OsgVolume with Volumetric Data

 

Viewing a volume using OsgVolume

 

There are currently two methods of building volumes for use in Present3D or directly in OsgVolume.

These methods are determined by the source data.  If you have dicom files (.dcm) then follow the Dicom method, if you have .jpg, .tiff etc then use the Non-Dicom method. Both can be saved as .osg or .ive files and then loaded in Present3D.

So why would you use OsgVolume rather than Present3D?

  1. It can be very helpful to preview a volume before including it in your Present3D xml file
  2. If a volume isn't loading in Present3D using OsgVolume will test that it is a valid volume file.
  3. To preprocess your volumes. For example, to create volumes from non-dicom files and save as a .ive file, so that it will load faster.

For information on including volumes in Present3D go here.

 

Dicom Files :

To view a volume from a folder (directory) of dicom files you will use the osgvolume command.

First, in your terminal window, you will need to navigate to the directory that has the folder that you want to use...

cd main_volume_directory/directory_that contains_the_folder_of _dicom_files

Then use osgvolume to load the folder you want use :

osgvolume directory_that_has_the_dcm_files

For example, I have a directory called test_volume that has 250 sequentially numbered test_volume_xxxx.dcm files. I would therefore use

osgvolume test_volume

This will allow you to test that the dataset is working as expected before going any further. If you don't get the expected results, then open the folder and check how many files/slices there are, as your graphics card might be limiting the number of slices that can be handled to 256, 512, 1024 or larger... make a copy of the folder and reduce the number of files to each of these limits in turn, until it works. For example, the ATI 4870 on the Mac should display 1024 512x512 slices.

In certain circumstances, the slice distance may not be read correctly, this can be rectified by using the x, y or z Multiplier function as appropriate :

osgvolume test_volume --zMultiplier 1.5

 

Using Osirix to Prepare Files for Present3D

It is possible to prepare files in Osirix  and then Export to .jpg or .tif. Doing this does mean you loose the ability to load the folder directly in Present3D and you should use the procedure below for Non Dicom files. 

However, the advantage of this workflow, is that you can use all Osirix's tools to colour, smooth and clip the ROI and then export for use in Present3D.

 

Non Dicom Files :

Unlike the Dicom files where you load the directory/folder that holds the files, with the non-dicom procedure you need to be in the directory/folder  and use the --images wildcard as below :

osgvolume --images *.tif  --zMultiplier 1.5 --replace-rgb-with-luminance

where .tif is changed to the appropriate extension and the zMultiplier (could also be xMultiplier  or yMultiplier depending on the original data) is changed to suit your data slice distance.

If your files are colour, the above will display them in greyscale, to solve this change  --replace-rgb-with-luminance to --replace-alpha-with-luminance

So you would do :

osgvolume --images *.tif  --zMultiplier 1.5 --replace-alpha-with-luminance

 

 

Using osgvolume with colour transfer function 

It is possible to use a Colour Look Up  Table (CLUT) to colour your volume data to improve readability. This is done using a transfer function and requires  both the --tf (or --tf-255) command plus the name of the text file that has the list of CLUT values saved as a .tf file : 

osgvolume folder_with_dicom_files --tf colour.tf

or

osgvolume --images *.tif  --zMultiplier 1.5 --tf-255 colour.tf  

Where colour.tf is a text file with the appropriate CLUT values.

 

Saving as  .osg or .ive file :

The volume can be saved as a .osg file by adding the -o followed by the name you wish to give your new file, as follows :

osgvolume --images *.tif  --zMultiplier 1.5 -o volume.osg

Please note, that a volume.dds file will also be created and this is referenced by the .osg file , so both files should be kept together. Saving as a binary .ive solves this problem as well as loading faster.

So to convert your .osg file to a .ive file do :

osgconv volume.osg volume.ive

The volume.ive or .osg can then be used in P3D using the model tag.

 

Using in Present3D

You can load and view the resulting volume either by creating a P3D xml file with your volume and other data or just by using present3D on the command line, so type :

present3D volume.ive

and this will load your volume. You can now use the the a, t and d keys along with mouse movement, to interact with the volume. You can also use the v key to move through the four rendering techniques.

If you want to include your volumes in Present3D then go : here for further information

 

 

Making A Script To Create A .Osg Volume file :

Create a script as below substituting .tif for the image type you are using ie: .jpg .png etc. 

To create the script open a new document in BBedit (or other text editor) and paste the following text (modified with the commands you require) into it

#!/bin/sh

osgvolume --images *.tif   --zMultiplier 1.5 -o volume.osg

echo make volume complete

exit 0

and save it into the directory where your image files are, with a name like:

make_volume

then change permissions of the file - use terminal and go to the directory and do:

chmod +x make_volume

Now if you type :

./make_volume

this will create a file called volume.osg and a volume.dss image file.  Both the .osg and .dds file will need to be used together.  One loads the volume.osg file, and this volume.osg will reference the volume.dds file for you.

 

 

 

 

Other command line options

 

for help :  osgvolume --help

Usage: osgvolume [options] filename ...

Options:

-h or --help Display this information

-s <numSlices> Number of slices to create.

-n Create normal map for per voxel lighting.

--clip <ratio> clip volume as a ratio, 0.0 clip all, 1.0 clip none.

--compressed Enable the usage of compressed textures.

--compressed-arb Enable the usage of OpenGL ARB compressed textures.

--compressed-dxt1 Enable the usage of S3TC DXT1 compressed textures.

--compressed-dxt3 Enable the usage of S3TC DXT3 compressed textures.

--compressed-dxt5 Enable the usage of S3TC DXT5 compressed textures.

--images [filenames] Specify a stack of 2d images to build the 3d volume from.

--maxTextureSize <size> Set the texture maximum resolution in the s,t,r (x,y,z) dimensions.

--num-components <num> Set the number of components to in he target image.

--r_maxTextureSize <size> Set the texture maximum resolution in the r (z) dimension.

--s_maxTextureSize <size> Set the texture maximum resolution in the s (x) dimension.

--t_maxTextureSize <size> Set the texture maximum resolution in the t (y) dimension.

--modulate-alpha-by-luminance For each pixel multiply the alpha value by the luminance.

--replace-alpha-with-luminance For each pixel m Set the alpha value to the luminance.

--shader Use OpenGL Shading Language.

--xMultiplier <multiplier> Tex coord x mulitplier.

--yMultiplier <multiplier> Tex coord y mulitplier.

--zMultiplier <multiplier> Tex coord z mulitplier.

--xSize <size> Relative width of rendered brick.

--ySize <size> Relative length of rendered brick.

--zSize <size> Relative height of rendered brick.

____

 

DICOM Reference Links

 

DICOM Information Sources :

 

http://www.dclunie.com/

 

http://www.dclunie.com/medical-image-faq/html/part8.html#DICOMImageSa

 


DICOM Data

 

Osirix DICOM sample datasets :

 

http://pubimage.hcuge.ch:8080/ 

 


 

 

How to : ssh login without password

This assumes that you have at least two machines, a host machine and a remote machine (the one that you want to log onto). Please note you do need to have a user account on both machines with the same name.

 

On the host machine open terminal at the prompt (you don't type the % below) type the following :

 

% ssh-keygen -t rsa

 

This will generate a pair of public keys, one stays on the host machine and the other is moved to the authorized keys directory on the remote machine.

 

So using bbedit, navigate to your user home directory :

 

/Users/your_users_name

 

and from there to the :

 

.ssh directory

 

- this is a hidden directory so you may need to change your bbedit to "Show" all files ( at the top of the window, below the menu bar)...

 

.. and open the file:

 

id_rsa.pub

 

Or using terminal :

 

% cd /Users/your_users_name/.ssh

 

% bbedit id_rsa.pub

 

 

copy the the complete line of text you find here and paste

into the " authorized keys" file found in the same place on the remote machine. If this file does not exist, just create a file with this name.

 

 

OsgVolume

 

The OsgVolume Project:

 

1.0 The OpenSceneGraph:

The OpenSceneGraph is a cross platform, scalable, real time, open source scene graph that has over 1500 active developers world wide and users such as NASA, European Space Agency, Boeing, Magic Earth, American Army, and many others. Enabling the rapid development of custom visualisation programs, the OSG is also the power behind OsgVolume and Present3D.

 

2.0 OsgVolume:

Currently there is an opportunity to become involved in the new OSGVolume project that will add high resolution volume rendering to the OSG. This project would result in a suite of core volume rendering tools being developed to meet the joint aims of the Scottish Medical Schools and other researchers, additional custom tools can then be created to meet each Schools/researchers/practitioners individual requirements. Present3D, also open source, currently supports the OsgVolume project and will continue to be developed to take advantage of new features as they become available.

 

OsgVolume is an open source project, this means that the source code is freely available and shared with developers world wide and has many advantages:

 

2.1 An open source license grants end users rights to use, and distribute the software free of charge - this makes it cost effective and logistically simple to make the software widely available.

 

2.2 An open source license grant developers the right to freely develop applications on top of the open source product - this allows many new products to be developed that leverage the common open source base

.

2.3 An open source license grant developers the right to modify the source code of the product, and to publish these modifications for folding back in to the core open source products.

 

2.4 The rights granted to developers and end users breaks the dependancy on a single provider, reducing risk on the end user from vendor lock in, and the consequences that this has, such as when a vendor stops supporting a particular product.

 

2.5 Open source projects create large communities of like minded developers and users that can help provide support and to contribute to the open source products development. For instance the OSG development community is over 1000 strong, and composed of many industry leading experts in the field of real-time computer graphics.

 

2.6 The result of this project will not just be those directly funded, but many other medical and research projects world wide will benefit from this work and contribute back to the original project ensuring ongoing development and a growing community.

 

 

3.0 Present3D:

Present3D allows anyone to create amazing realtime, fully interactive stereo presentations that include point cloud and polygonal models, images and stereo pairs, movies and stereo movies, audio, text and bulleted text and combine with animation paths, alpha blending and much much more..... there is no other tool that allows all these different data types to be combined into a seamless presentation with such simplicity and of course it all works in stereo as well. Present3D can also be used to create stand alone programs or interactive kiosks. The addition of volume rendering for MRI/CT scans and Confocal Microscopy to Present3D allows this powerful tool to be used in the creation of medical education materials, lectures and courseware. These can then be presented in stereo using projection based displays in lecture theatres and seminar rooms, can be made available in libraries for individual study by use of autostereoscopic monitors, and can also be shared with students for use on their own hardware where it will run in mono if a stereo system is not available. Present3D is open source.

 

 

4.0 OsgVolume Project Outline:

Follows is an outline for a proposed volume rendering NodeKit? from the OpenSceneGraph. The project has partial funding approval. If you'd like to help fund or contribute to this development please contact us.

 

Phase one:

1) Interoperability:

1.a) DICOM reading

1.b) Integration with Present3D and other OpenSceneGraph based viewers.

1.c) ASCII and binary support for reading and writing osgVolume scene graphs.

2) Rendering:

2.a) Multi texture bricks - arranged as a multi-resolution hierarchy

2.b) Transfer functions:

i) pre-computed on CPU,

ii) encoded into 1D textures

iii) computed on GPU as part of a shader

2.c) Handling of mixed data types - polygons, lines, text and volumes in one space

2.d) Support for range of hardware/driver capabilities

i) Standard Texture3D, with a range of max texture sizes

ii) ARB vertex and fragment program

iii) OpenGL 2.0 Shader Language

iv) NVidia's compressed 3D textures

2.e) Clipping planes + boxes

2.f) Polygonal segmentation

2.g) Automatic quality control - render at high speed/lower quality when moving vs

high quality techniques when rendering slowly.

2.h) Dynamic Video Resizing.

3) Data processing:

3.a) Iso-surface generation

3.b) Length, Area and Volume computation

3.c) Image Processing:

i) Biasing / Transfer functions

ii) Flood fill segmentation

iii) Manifold segmentation

4) User interface:

4.a) Support for mouse, keyboard and gamepad in an interchangeable way

4.b) Control of eye point

4.c) Control of clipping planes/boxes

4.d) Control of transfer function curves and colours

4.e) Annotation

4.f) Flood fill segmentation control

4.g) Isosurface generation/segmentation control

4.h) Measurement of lengths, areas and volumes

4.i) File selection, quality specification

 

Second phase :

1) Interoperability

1.d) DICOM writing

1.e) Full DICOM system integration

1.f) 3rd Party tool integration i.e. browsers, other medical tools

2) Rendering

2.i) Volume Paging

2.j) Multiple GPU rendering + compositing

2.k) Cluster rendering

2.l) 3D video texturing via either of:

i) custom stream 3D texture format

ii) 2D video stream built to stream one or more slices at one time to build up animated 3D texture.

3) Data processing

3.d) Image processing cont.

i) Sharpening

ii) Edge detection

iii) Smoothing

iv) Correlations

4) User Interface

j) Control of the above phase two items

 

 

Support OsgVolume

You can support the development of OsgVolume by making a donation or, if you are a developer, by getting your hands dirty and becoming directly involved..

 

You will find information on making a donation here:

 

http://dlfresources.pbwiki.com/donations%20Open%20Source

 

To register an interest in becoming involved please contact us:

 

osgvolume "at" digitallearningfoundation.org

 

replacing the "at" with @ as usual :-)

 

SHARE : A 3D Collaborative Environment

 

The "SHARE" Environment

 

The development of a Jointly Inhabited Collaborative 3D Learning Environment

 

A single realtime interactive 3D environment is an amazing educational tool. So what happens when you connect two or more together and enable students and teachers to work collaboratively on a joint project with colleagues across the world? This project aims to find out...

 

 

 

 

SHARE Hardware

The basic hardware is the same as for individual Passive Stereo systems there are just multiple systems linked by broadband internet connections. Additional interface devices and linkage to PDA's and Mobile Phones are also being explored.

 

 

SHARE Software

 

An essential part of this development is the ability for the students/educators to use the technology creatively, to generate their own content, share their findings with others and collaborate on the creation of joint projects. The SHARE software is open source and based on Present3D.

 

Working collaboratively in a jointly inhabited 3D "SHARE" environment, with schools, universities, museums or libraries in different parts of the country or internationally opens up enormous potential for breaking down barriers and bringing new insight to subjects like history and geography, and encourages global citizenship.

 

Integration with other devices, like PDA's and mobile phones to explore connections between the real and virtual worlds will add a new dimension to the experience and allow the transfer of data, images, messages, instructions, hints etc; from one environment to the other.

 

Pilot Project

This project aims to explore the benefits and problems that using this technology in learning environments will raise along with the new methods of learning and teaching that it enables.

 

Cornish 3Diaspora Project

It is envisaged that SHARE environments will be used to connect museums and schools, initially in Cornwall and Western Australia, but potentially all over the world.

Cornish 3D Diaspora

 

Move !T

 This project will combine midi based interactive tools like Max MSP,  Jitter and Isadora with the OpenGL based 3D environments possible with the OSG and Present3D.

 

The aim, to create a new medium for artistic expression that can be made available to all.

 

 

Links

 

SoundBeam

 

http://www.soundbeam.co.uk/special-needs-music-therapy/video-clips.html

 

MusicCrea8tor

 

http://www.mnmp.org/cre8tor.html

http://www.zacharyseldess.com/musiccre8torvids.html

http://www.youtube.com/watch?v=c8E86ehb1IM

 

Max / MSP / Jitter

  

http://www.cycling74.com/twiki/bin/view/Share

 

Isadora

 

http://infusionsystems.com/catalog/info_pages.php?pages_id=190

 

iCubeX

 

http://infusionsystems.com/catalog/info_pages.php?pages_id=190

 

Other 3D Stereo Software & Help

Partiview

Install Partiview :

 

Download and install partiview from the url below:

 

http://haydenplanetarium.org/universe/download/packages/

 

 

Then place this file in the same directory/folder as the partiview application - then remove the RemoveToHere part of the name so that it becomes an invisible file called .partiviewrc You can still see and edit using BBedit if you change Show to : all files..

 

<

RemoveToHere.partiviewrc

>

 

This is what the .partiviewrc file should look like:

 

eval winsize 2048 768 +0+40

eval stereo 0.02 crosseye on

eval inertia

 

The winsize values shown are for a side by side 1024 x 768 screen resolution.

 

If you are running at a different resolution you will need to change as appropriate so you have 2 times width x height of display in pixels.

 

Test Partiview :

 

double click on the :

 

milkyway.command file

 

and this should open partiview across both displays.... set up will not be quite right yet ... click in the text entry portion of the header window and type:

 

detach

 

and hit the return key...

 

you should now have the header window separated from the main viewer .... click on the buttons to switch on and off data elements then hide the header in the usual way or by clicking on the viewer window

 

now hit f key to go into fly mode and navigate by using your three button mouse..... have fun....

 

 

Pymol

Install Pymol :

Download and install pymol from: http://pymol.sourceforge.net/

 

Then create and insert the following pymol.rc file into the user home directory:

This is what the rc file should look like for stereo with 1024x768 format screen :

 

_ feedback push

_ feedback disable,all,everything

# RENAME TO .pymolrc AND INSERT COMMANDS HERE

_ set internal_gui,0

_ stereo walleye

_ full screen off

_ viewport 2048,768

# END COMMANDS

_ feedback pop

 

 

 

The viewport setting should match your screen/projector resolutions x2 width.

 

Test Pymol : open MacPymol by double clicking on the application then go to menu bar - wizard - down to demo and then select one of the demos.... navigate by using three button mouse....

 

Datasets :

 

 


 

Basic Build and Export Image

http://morse.bio.jhu.edu/pymol/pymol_basic.htm

 


 

Export :

 

To export a png image from pymol :  

 

At the command line type:

 

png /path/to/where/you/want/the/file/saved.png

 

And pymol will export a png to that file. One word of warning is that it will overwrite files of the same name automatically. And a tip for *NIX/OS x users: type :

 

png ~/filename.png

 

To dump the file straight into your home directory.

 

To export a movie :

http://www.pymolwiki.org/index.php/Making_Movies 

http://www.pymolwiki.org/index.php/EMovie

http://www.weizmann.ac.il/ISPC/eMovie.html

 

or screen capture :

 

To export a PovRay format model : 

http://www.pymolwiki.org/index.php/PovRay 

 

 

3D Modelling

 

3D Modelling Programs - Cross Platform

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Maya :

Commercial Application : Education Version Available 

For : General 3D, Animation

 

Export from Maya for Present3D

Export selected as .flt  files for best quality.  Also export as .obj file to export texture files.

Can export only polygons and textures from files, not NURBS, subdivisions, dynamics, animation or procedural textures.

Polygons- beware using combine/ separate as some transformations may not be exported.  Group everything before export.  Test normals are correct way round by observing with back-face culling switched on in viewer.

Textures- files are preferable to using single colour which will not fade.  Use .jpg or .tif files.  PNG files will not be recognised.   Adjust texture placement in UV texture editor not in 2D placement node.

With .FLT files, spot lights are exported in a limited way, they are fainter and exported as directional lights

http://usa.autodesk.com/adsk/servlet/index?id=7635018&siteID=123112 

Maya 2011  StereoCamera Bug :

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

Blender :

Free - Open Source Application 

For : General 3D, Animation

 

There is an OSG exporter, and some animation  can be exported.

 

http://www.blender.org/ 

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

FormZ

Commercial Application

 

For : Architecture, Product Design

 

Education Program - JSP for education :

http://www.formz.com/Joint_Study.html

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Archicad

Commercial Application

 

For: Architecture

 

Education Program - Free Student/Teacher offer

https://eduregistration.graphisoft.com/apple.aspx?SiteCode=uk

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

Software Resources

Facial Animation Software

 

CrazyTalk 

Face Puppet Animation Studio

 

 

 Photo Fitting

 Auto Lip-sync

 Face Profile Styles

 Motion Clips 

 Real-time Puppetry

 Dual-layered SFX

 Comic Text Bubble

 Flash Output

 HD Output

 

At present Windows only, 

http://www.reallusion.com/crazytalk/default.asp

Have a look at Reallusion's other software at the same time...

http://www.reallusion.com/

 


Mimic Pro

Lip Sync Studio 

 

"Mimic Pro provides an advanced environment for easily creating and editing facial animation sequences. Take existing WAV audio files of any language and let Mimic animate your figure for you. Or, record your own speech file within Mimic's simple recording studio via a microphone connected to your computer. With the ability to add in expressions such as winks, nods, and smiles, your figures can easily become as expressive as your imagination allows.

By creating the facial animation for you, Mimic's Talkback™ engine will save you hours of production time, allowing you to focus on other areas of your animation projects. Focus your energy on the nuances within your animation and make your characters come alive with real-life mannerisms and body language. The best part is that with the help of Mimic, you don't have to a be animation master in order to quickly create convincing facial animation.

Mimic is available for use as a plugin with NewTek's LightWave (version 7.5 or higher) or as a plugin for Curiouslabs' Poser (version 3 or higher). "

Quote from Daz3D website

 

http://www.daz3d.com/i.x/software/mimi


 

Free Resources

#444444"> 

#444444"> 

#444444">Free Resources

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#444444"> 

#444444">Blogging Tools

#444444"> 

#444444">

 

WordPress

 

http://wordpress.com/

 

Blogger

 

https://www.blogger.com/start 

 


#444444"> 

#444444">Video Conferencing

#444444">Beyond iChat - Xmeeting for OSX

#094489">http://xmeeting.sourceforge.net/pages/about.php

#444444"> 

#444444">Online Storage Space

#444444">box.net

#444444">Free Online #094489">StorageAccess important files from any computerShare photos, and files too big for emailSynchronize and backup foldersSub-accounts and RSS feeds for groups1GB for free.

#094489">http://www.box.net/info

#444444"> 

#444444">Get Your Own WIKI

#444444">pbwiki

#444444">Make a free, password-protected wiki as easily as a peanut butter sandwich.

#444444">With easy editing, it's perfect for your school, or personal use.

#094489">http://pbwiki.com/

#444444"> 

#444444">Online Photo Gallery

#444444"> 

#444444">http://www.flickr.com

#444444"> 

#094489">http://www.bubbleshare.com/

#094489"> 

#094489"> 

#444444"> 

#444444">Tiny Url

#444444"> 

#444444">Reduce the size of your URL to make it easier to remember:

#444444"> 

#094489">http://tinyurl.com/

#444444"> 

#444444"> 

#444444">Free Online Surveys

#444444">The basic free service may be limited, so check out number of questions and number of responses allowed, but it can still be a very useful way of getting feedback. Watchout for adverts being added to your survey.

#444444"> 

#094489">http://www.advancedsurvey.com/accounts.asp

#444444"> 

#094489">http://www.surveymonkey.com/Pricing.asp

#444444"> 

#094489">http://freeonlinesurveys.com/

#444444"> 

#094489">http://www.my3q.com/

#444444"> 

#094489">https://signup.zoomerang.com/registration/free.aspx

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#444444"> 

#444444">Free Forums

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#094489">http://www.freeforums.org/

#444444"> 

#094489">http://motigo.com/about/forums

#444444"> 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#444444">Web Site Stuff

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#444444"> 

#444444">

Statistics

http://www.google.com/analytics/ 

#444444"> 

#444444"> 

#444444">YackPack

#444444">add live chat to your web page or wiki

#094489">http://www.yackpack.com/walkietalkie/

#444444"> 

#444444"> 

#444444">CGI & PERL Scripting

#094489">http://my.execpc.com/~keithp//bdlogcgi.htm

#444444"> 

#444444"> 

#444444">Web Counters

#094489">http://www.webstats4u.com/service/apply?id=3848109

#444444"> 

#444444"> 

#094489">GeoPhysics#444444"> DATA

#444444">Gravity & Magnetic

#094489">http://geophysics.wr.usgs.gov/gump/gump_products.html

#444444"> 

#444444">Tanami 3D Model

#094489">http://www.ga.gov.au/map/web3d/tanami/index.jsp

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#444444"> 

#444444">Music resources :

#444444">MusicEducationResources.Org supports the delivery of Music Performance and Music Technology elements of the new BTEC Nationals in Music and Music Technology programmes at NQF level 2 and NQF level 3.

#444444">We offer resources and support materials for the classroom, lecture room, studio and performance space written by experienced professionals, in a truly vocational context.

#444444"> 

#094489">http://www.musiceducationresources.org/

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#444444"> 

#444444">Science applications on the Mac

#094489">http://www.macresearch.org/

#444444"> 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#444444">ROBOTS for education

#444444"> 

#094489">http://www.microbric.com/page.php?sId=1

#444444"> 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#444444">Applications : Freeware / Shareware

#444444"> 

#444444">Splashr

#444444"> 

#444444">Is a tool for presenting Flickr photos:

#094489">http://splashr.com/

#444444">___

#444444"> 

#444444">Collaborative Working Tools

#444444"> 

#444444">Wiki - a collaborative web site or work space

#444444">pbwiki

#444444">This is what we use...

#444444"> 

#444444">Make a free, password-protected wiki as easily as a peanut butter sandwich.

#444444">With easy editing, it's perfect for your school, or personal use.

#094489">http://pbwiki.com/

#444444"> 

#444444"> 

#444444">Collaborative Writing

#094489">http://www.subethaedit.net/

#444444"> 

#444444">Collaborative Thinking

#444444"> 

#444444">iStorm

#094489">http://www.mathgamehouse.com/istorm/index.html

#444444"> 

#444444">Collaborative Drawing

#444444"> 

#444444">iChalk

#094489">http://www.mathgamehouse.com/ichalk/

#444444"> 

Video Editing

 

Mac OS X :

 

 

iMovie HD

 

 

iMovie 08/09

 

 

Others :

FinalCut Express

 

 

 

FinalCut Pro/Studio

 

 

 

Widows :

 

Free :

Video Spin

www.videospin.com
 
MovieMaker
 
 
Others :

 

 

General OS X Help

How to : Access iDisk Public Folder

 

New easy iDisk Public folder web address

 

We're pleased to announce a new simpler way to access iDisk Public folders with a browser. Simply entering the URL idisk.mac.com/membername-Public now produces a page that automatically includes download links for whatever's currently in membername's Public folder. All you need to do is give the URL for your iDisk Public folder to the friends and colleagues you share with. They'll see and be able to download whatever you put in there, whenever they visit the page.

You can also let friends and colleagues use your iDisk Public folder page to upload and share files themselves. Just select the iDisk pane in .Mac System Preferences and pick the Read/Write option for your Public Folder. You can even add password-protection if you want to limit access only to those you give the password to. If you add password-protection, your visitors will be prompted for a password when they first visit your Public folder. Note: your visitors should enter "public" (without the quotes) in the Name field when prompted for the Name and Password by Safari. Finally, it goes without saying but we're going to say it again anyway: You can only legally share what you own and have the right to share.

 

 

http://idisk.mac.com/phil.lavery-Public

 

email me for user name and password

How to : Create Multi Channel Audio with QuickTime Pro

 How to :  Create Multi Channel Audio


 

 

If you have QT Pro you can package multiple wav files into a single .mov and then export the file to something of your liking. Just follow these directions:

 

-This example assumes you have (3) existing .wav files of stereo content each. The directions can be modified for other scenarios / examples -

 

1. Open up all (3) wav files with QT Pro

2. Now start a new QT movie via the shortcut "command-N".

3. Click on the first of your (3) wav files, and select the entire track via the shortcut "command-A". Then "command-C" to copy the entire track.

4. Click on your newly created QT movie (in step 3), and "shift-control-command-V".... this is called "Add to Selection and Scale" and can also be found under the "Edit" tree of QT Pro. This will add the sound track to your newly created QT movie.

5. For the newly created QT movie, use the shortcut "command - J" to open the movie properties. In the properties window, you should see the listed 'sound track'. Under the 'resources' tab at the bottom, the listed sound track should show the file name and directory path for that sound track. Under the 'audio settings' tab, you should see the channel assignment for that sound track(ie: left channel, right channel, LFE, surround rear left, etc....).

6. Repeat steps 3 & 4 for your remaining (2) stereo wav files, until the newly created QT movie lists a total of (3) sound tracks in the properties list.

7. In your newly created QT movie, select a particular sound track, and then select the "Audio Settings" tab for that track. Set it's channel assignment by clicking on it's current assignment, and then selecting your desired assignment from the drop down list. Continue doing this for all (3) sound tracks. My advice is to assign each track to left, right, center, LFE, surround left, surround right to create a 6 channel mix. You can also assign each track to a 'discrete' channel.

8. Save your QT file.... then export it into your desired format. Make sure the option chosen supports 5.1 (6 channels). There are many other export options including .aiff , .mov , and .wmv if you have "Flip for Mac".

 

How to : Fix a Locked Hard Disk

extracted from : http://forums.macosxhints.com/showthread.php?t=90894

 

First in terminal type :

 

ls -alO /Volumes

 

and hit return.  This will display the attached hard drives and give their permissions and owners.

 

drw-rw-r-T+   18   owner staff    uchg    680   May 28 08:56 HardDrive 

 

If your results include a  line like above with "uchg" then the following command should help:

 

chflags nouchg /Volumes/HardDrive

sudo chmod 1775 /Volumes/HardDrive

echo "done"

 

If the disk is owned by root then you can add a sudo into the first line also :

 

sudo chflags nouchg /Volumes/HardDrive

sudo chmod 1775 /Volumes/HardDrive

echo "done"

 

 

 

How to : Hide the Menu Bar or Dock in OS X

When running applications in stereo mode it is helpful to be able to hide the menu bar if the program doesn't already do this. This link is very helpful:

 

http://www.macworld.com/weblogs/macosxhints/2007/02/hidemenubar/index.php

 

and we have given the main points below.

 

Applications that can hide the menu bar

 

Check out the current versions of :

 

MenuFela : http://www.macupdate.com/info.php/id/22217

 

Do it yourself

 

Edit the property list variable named LSUIPresentationMode. By setting this variable to a certain value within each application’s info.plist file, you can change how the Dock and menu bar behave within that application.

 

First make a backup copy of the application in question. Make your modifications on the backup copy of the program, and then if something goes wrong, you’ll only have to delete the backup you created to get things back to normal.

 

 

To find the program’s info.plist file look inside the application bundle. So start by control-clicking on the backup copy of the app and choosing Show Pacakge Contents from the pop-up menu. In the new window that opens, open the Contents folder and you should find the info.plist file. What you do next depends on whether or not you have Apple’s free Developer Tools, known as Xcode, installed.

 

Xcode is not installed

 

If you don’t have Xcode installed, the easiest way to implement this hint is to download and install Brian Webster’s PlistEditPro, a third-party shareware application. There’s a free trial period, so you can test it out yourself before deciding to buy. If you choose to use this program, skip ahead to the Xcode is installed section of this hint for the how-to.

 

If you’re still reading, that means you’ve chosen not to use a property list editor of some sort. That’s OK; this hint isn’t really all that tough to implement, but you will need a pure text editor such as TextEdit. Open your text editor, then drag and drop the info.plist file onto the text editor’s icon in the Dock. If you’re using a copy of Stickies, as I am, then here’s what you’ll see:

 

To make Stickies hide the Dock and menu bar when launched, add the following two lines, just below the entry on row four:

 

LSUIPresentationMode

4

 

Save the changes, and you’re done. Jump down to Putting it to use to see how it works.

 

 

Xcode is installed

 

If you have Xcode (or PListEditor Pro), the changes are even simpler. With Xcode installed, just double-click on the info.plist file and it will open in Property List Editor; PListEditor Pro users may have to use drag-and-drop to open the file.

 

Once it’s open in either editor, click once on the Root entry in the Property List section of the window, then click the New Child button in the toolbar. Set the name of the entry to LSUIPresentationMode, the Class pop-up to Number, and give it a value of 4. Save the file, and you’re done with the editing.

 

Putting it to use

 

In the following short movie clip, you’ll see two versions of Stickies running. The first is the stock Stickies, and you can see both the menubar and the Dock remain visible when it’s launched. The second is my modified Stickies—when it’s launched, both the menu bar and the Dock vanish.

 

 

If you stick to Cocoa applications (typically those provided by Apple, plus many third-party apps such as those byOmniGroup), you should have good results. Modifying Carbon apps (such as Photoshop, BBEdit, etc.) may be more troublesome.

 

If you ever want/need to undo what you’ve done, just delete the backup copy of the app you modified, and you’re done. What, you didn’t work on a backup copy? Well, just open the info.plist file in your editor of choice, and remove the two lines you added (or use the Delete feature in your property list editor application). Just make sure the program isn’t running when you do this. Save your changes, relaunch the program, and things should be back to normal.

How to : Set up iChat Ports

 http://docs.info.apple.com/article.html?artnum=93208

 


 

Ports to open for Mac OS X firewall

When using the built-in Mac OS X firewall, you only need to open these ports: 5060, 5190, 5297, 5298, 5678, 16384 through 16403

 

Tip: If you don't want to bother, a simple workaround is to temporarily turn off the firewall on each computer.

 

To chat with the Mac OS X Firewall active, follow these steps to add the necessary ports:

 

1. From the Apple menu, choose System Preferences.

2. From the View, choose Sharing.

3. Click the Firewall tab.

4. Click New.

5. From the Port Name pop-up menu, choose Other.

6. In the Port Number, Range or Series field, type in:

 

5060, 5190, 5297, 5298, 5678, 16384-16403

 

7. In the Description field type in: iChat AV

8. Click OK.

 

Ports to open for third-party firewalls

A "simple" firewall only allows you to open or close ports, without any additional criteria. If you have one of these, then you should open these ports:

 

5060, 5190, 5220, 5222, 5298, 5353, 5678, and 16384 through 16403.

 

If that does not work, try opening all ports from 1024 to 65535.

 

More complex routers and firewalls may allow you to specify criteria such as TCP/UDP, incoming/outgoing packets, or source/destination ports. In that case you can use the following tables. Configuration A is less secure than Configuration B, but it works with a wider range of router configurations.

 

Configuration AOutgoing Packets

Internal Source Port External Destination Port

5060, 5190, 5220, 5222, 5297, 5298, 5353, 5678, 16384-16403 1024-65535

Incoming Packets

External Source Port Internal Destination Port

1024-65535 5060, 5190, 5220, 5222, 5297, 5298, 5353, 5678, 16384-16403

 

Configuration B Outgoing Packets

Internal Source Port External Destination Port

5060, 5190, 5220, 5222, 5297, 5298, 5353, 16384-16403 5060, 5190, 5297, 5298, 5353, 5678 16384-16403

Incoming Packets

External Source Port Internal Destination Port

5060, 5190, 5220, 5222, 5297, 5298, 5353, 5678 16384-16403 5060, 5190, 5297, 5298, 5353, 16384-16403

 

Notes:

1. All iChat AV traffic is UDP except for ports 5190 and 5298, which need to be open for both TCP and UDP; and 5220 and 5222, which need to be open for TCP only.

 

2. Ports 5297, 5298, and 5353 are used only for local traffic. Opening these ports may be necessary for firewall software that runs on a computer, rather than on a router. These ports do not need to be open at your uplink to the Internet.

 

 

How to : Use VNC in OS X

Using VNC on OS X

 

From 10.5.x you can use Safari to access screen sharing on another Mac (if  screen sharing is enabled in the sharing system preference). Just type :

 

vnc://name_of_mac.local     eg;  vnc://mymac.local

or

vnc://network_address_of_mac     eg;  vnc://192.168.0.5

 

Others :

 

Check out ScreenRecycler and JollysFastVNC.

 

Links :

 

External Link:

http://www.macminicolo.net/Mac_VNC_tutor.html

 

3D Hardware

 

 

Hardware options for Stereoscopic Visualisation

The main components of a stereo 3d projection system are dependant on the type of system that you choose:

 

1) Active Stereo 

2) Passive Stereo 

3) Auto Stereo

 

There is also a Hardware Links section below.

 

A 2005 UCL presentation on the various technologies can be found here :

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

1) Active Stereo:

This section to be updated with new DLP -Link Projectors and Glasses.

Active Stereo with active Glasses:

For education the cost of active stereo glasses and the requirement to use more expensive "Quad Buffered" Graphics cards probably means this is not the preferred choice where groups of more than 3 or 4 will use the system at the same time.... and these days it is arguable that the perfomance and comfort of passive systems are as good if not better. On the other hand an active system just has one projector and uses a standard screen surface, so if the glasses become more affordable and sturdier then this could become an option... many current DLP's will run frame sequential stereo but not at full 60hz per channel. There is information and a list of standard DLP's capable of active/time sequential stereo here :

 

http://www.cmst.curtin.edu.au/publicat/2007-05.pdf

http://www.3dmovielist.com/projectors.html

 

The new F10 AS3D active projector from Projection Design is the first of a new option

 

AS3D rear 670w.jpg

Full 120hz refresh, and accepts two DVI/VGA inputs from a standard graphics card.... so will convert your standard side x side passive stereo set up to active. This could be really great for systems with only 5 - 10 adult users at a time, as the cost of the active glasses, around £100 each, and a tendency to break easily probably rules out systems with a larger audience or with children.

http://www.projectiondesign.com/Default.asp?CatID=1691 

 

Active Glasses Database 24/9/09 : Download List

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Active Stereo projector with active to passive filter allowing use of passive glasses.

Text to be added :

 

 

 

2) Passive stereo using polarised glasses and filters:

 

There are different forms of passive stereo, most people are familiar with Anaglyphic, usually using Red/Green glasses but this impairs colour and is not comfortable for prolonged use - so I don't recommend this. Much better are systems using polarising filters, there are usually two projectors, one for each "eye", which will be aligned on screen using a stacker and will have either linear or circular polarising filters in front of each of the lenses and the users wear matching polarised glasses. Choice of filters and screen surface will affect the amount of ghosting/cross talk you will see. However, with a well matched system ghosting should be hardly noticeable.

 

Screen

I have tested the majority of "3D" screen materials and while they do all work, some are much better than others. Image brightness, colour rendition and the amount of ghosting (crosstalk) is all affected by the choice of screen and screen/filter/projector combination.

 

Projectors

In my opinion DLP projectors are usually best for stereo, as they usually have a higher contrast ratio, better blacks and standard polarising filters will work. However, there are many installations around the world that use LCD's - be careful though, many LCD projectors will not work with standard filters as the light source is already polarised and poor contrast ratios can lead to your blacks being mid-grey!

 

Stacker and Filter holders

The aim here is to be able to easily align the two projectors, this usually entails stacking the projectors on top of one another and then using the mechanical alignment features of the stacker. However, my favourite projector had a feature called 3D reform, which allowed digital alignment, making it really fast to set up... unfortunately the DLP version of these projectors has now been discontinued - we will be testing the LCD version soon :-) The requirements also vary depending on whether it is a fixed system or a portable system.

 

Computer

The are many possible choices here - you can choose Windows, Linux or Mac and there are applications which will work in stereo on all of these platforms. However, as a Mac user myself, I believe the new Mac Pro has a big advantage over the others, in that it is capable of running all three operating systems.... so you don't have to compromise. The most important element to get right when specifying your machine is the graphics card- this is where most of the work is done and having the fastest card with most memory that you can afford is going give you the best performance. However, you don't need to go for the expensive Nvidia Quadra cards which are advertised as having "stereo in a window" unless your application requires "Quad Buffered" mode to run.... and if it does you will also need an active to passive convertor or use active stereo - see above.

 

Apple Mac Pro : Suggested Minimum Specifications

 

Processors : Two 2.8 GHz Quad-Core Intel Xeon

RAM : 2GB is really the minimum requirement and more memory will improve performance, and with some applications also increase the size of dataset that can be handled and reduce loading times. 4 GB is usually fine. Only order the base requirement from Apple and get your additional RAM from a good third party like Crucial.

Graphics Card : Nvidia GeForce 8800 GT 512MB (2 x dual-link DVI) or if money is no problem the Nvidia Quadra FX 5600 has 1.5GB of video memory.

Hard Disks : up to four : 500GB 7200-rpm Serial ATA 3Gb/s. Larger Disks are now available.

Optical Drives : one or two : 16x SuperDrives

Both Bluetooth 2.0+EDR and AirPort Extreme

 

Filters

These can vary in price dramatically, for systems using DLP projectors up to 2,500lms, we have found that cheap Cokin filters are as good as any, if used with the SilverFabric screen (below). It is important to match your filters to your screen fabric to minimise ghosting.

 

Glasses

American Paper Optics are still the best source for both paper and robust plastic theme park style glasses. They also do more expensive Aviator glasses which are to be recommended for prolonged use.

 

Audio System

This is down to preference and type of use.... but good audio is essential where you are trying to create a completely immersive experience.

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

3) Auto Stereo:

This is stereoscopic visualisation without glasses, and is where a lot of development is currently happening. All of the major LCD screen manufacturers have screens either available now or in development. There are some that are almost affordable (£1,000 -£1,500) but screen sizes are usually below 19" and others tend to be expensive... but of course with time this will change and as gamers start to buy the screens...

 

Great for individual use and in situations like libraries, but are not yet a replacement for large scale visualisation and the benefits that it can bring.

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Hardware Links :

 

Filters

 

Beware of acrylic or film type filters these don't tend to last and can be affected by heat from the lamp either melting or depolarising.... Glass filters tend to last longer. Also think how you are going mount and adjust the filters, this makes the difference between good stereo effect and headaches due to loads of ghosting. For this reason we have tended to use round filters that can be rotated to obtain the best exclussion.

 

American Paper Optics :

Have a range of both acrylic and glass filters and up to fairly large sizes to order. I don't think they are listed on their web site ... but ask for Craig Jones :-)

direct telephone:     +1-303-399-8889

direct fax:               +1-303-399-8881

website:  www.3dglassesonline.com

or email him at : >Dshades3d at aol.com   but first removing spaces and replacing the at with the @ symbol.  

 

Cokin :

Cokin A series Linear Polarised :

 

We use these on our NEC LT265 and LT245 based travelling systems along with our SilverFabric demountable screens. However they are not great with ourDaLite screen and for this we use our Christie (B+W) Filters.

 

List of online stores

http://www.intro2020.co.uk/pages/online.php?product=COKIN

 

Awater3D :

They offer a range of filters and specific filters for use with both DLP and LCD projectors.

http://www.awater3d.com/en/3d-stereo-polarizers/

 

Screen Tech Filters :

 

http://www.webmart.de/wmshop.cfm?ID=44918&ProductID=416351&CID=71168&do=detail

http://www.webmart.de/wmshop.cfm?ID=44918&ProductID=357690&CID=71168&do=detail

 

Lee Filters :

The Lee filter system is not cheap, but it is very flexible and by using the right combination of holders and filters it can make your life just a little easier. Do watch though, we have found that they are very heat sensitive and need to be mounted further from the lens than other glass filters we have used.

 

http://www.leefilters.com/camera/products/range/ref:I46C9C1B6AA3DD/

http://www.morco.uk.com/latest/leepol.htm

 

B+W Filters :

Again not cheap, but we have found the B+W filters do give good exclusion (less ghosting) with some of the cheaper screen materials.

 

http://www.schneiderkreuznach.com/pdf/filter/bw_filter_programm_e.pdf

http://www.daymen.co.uk/

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Glasses

plastic6.gif

 

>American Paper Optics are still the best source for both paper and robust plastic theme park style glasses. They also do more expensive Aviator glasses which are to be recommended for prolonged use.

 

http://www.3dglassesonline.com/

 

http://www.the3dmarket.com/Plastic/lin_pol_theme.asp

 

http://www.the3dmarket.com/Plastic/lin_pol_aviation.asp

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Mirrors

 

Where you want to shorten the distance from screen to projector you can introduce a front silvered mirror in the light path. Often used with rear projection systems.

 

http://www.screen-tech.de/Mirror.html

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Projector Mounts

 

Chief - Stackers

 

http://www.chiefmfg.com/search_results.aspx?CategoryID=20

 

Use the LCD2c for ceiling mounting along with the appropriate projector RPA and the LSB100.

 

http://www.chiefmfg.com/productdetail.aspx?MountID=122

 

>Since Chief has discontinued its range of ASU slide projector table top stackers that were perfect for the job of aligning two small DLP projectors,  the LCD2TS is now the only option for table mounting, use along with the appropriate projector RPA and the LSB100.

 

http://www.chiefmfg.com/productdetail.aspx?MountID=123

 

LSB100™ Lateral Shift for LCD/DLP Projector Mounts

http://www.chiefmfg.com/accessories_results.aspx?AccessoryID=314

 

If using the Chief stacker, then the Nav1 and Nav2 mounts are worth looking at as a method of mounting 105mm polarising filters... you may need to modify by extending the arms to move the filters further away from lens, depending on lumens/heat from your projectors.

 

http://downloads.chiefmfg.com/TECH-Drawings-T/NAV1-T.PDF

http://downloads.chiefmfg.com/TECH-Drawings-T/NAV2-T.PDF

 

The ASU Slide Stacker is great for smaller projectors and portable systems.... we have used the single shelf version. placing one projector on bottom and one on the adjustable shelf. You will need to adapt to suit your projectors and to fit the filters. However these have now  been discontinued, but still may be available by some web searching.

 

 

Da-Lite

 

With the demise of the Chief ASU, this might be an alternative. Two sizes available. 

Projector-Stacker-Inverted.jpgProjector-Stacker-Upright.jpgProjector-Stacker-Adjustmen.jpg

http://www.dalite.com/products/product.php?cID=10&pID=470

 

PDF

http://www.dalite.com/products/spec_pdfs/470.pdf 

 

 

Awater 3D

 

http://www.awater3d.com/en/virtual_reality_systems/

 

Contact : info [at] awater3d [dot] com   for more information. 

 

Premier Mounts - Dual Mount for Ceiling Installation

 

http://www.premiermounts.com/product.asp?PartID=413

 

This is now being discontinued in the UK... may be available from USA or perhaps by special order?

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

Projectors

 

With all projectors remember, if they are going to be stacked, you need to check venting arrangements and that close stacking won't void your warranty!

 

BenQ :

We have tested a a number of Benq projectors and have helped build some stereo rigs based on the now discontinued MP77, 3000lms, short throw projector and these seem to have been successful, though the lack of a zoom did mean there was no choice with projector placement. From the current offereing from Benq there are a number of projectors you could consider.... we haven't tested any yet... 

 

Short Throw :

 

 

Install :

 

 

 

 

Two MP771 on the now discontinued Chief ASU stacker. You do need

to remove the support bar under the first shelf to enable the bottom

projector to fit.

 

Casio

Casio : XJ140 and above

 

These projectors have a couple of advantages, they are super slim at less than 45mm so two can be stacked in less depth than a standard projector.. so vertical offset is reduced and less keystone should be required... and they have a LED light source with a claimed 20,000hrs life.. so no lamps to buy!
 
Throw ratio is 1.4 - 2.8 so our 2.4m wide screen can be filled from around 3.4m, so second row of our audience in our mobile system.
 
Shame they don't have some sort of lens shift or on paper they would be almost perfect... problems reported with them are poor colour rendition, and loud fan noise.
 
Of course, tp solve the lens shift issue there is always the option of adding a hardware geometry correction unit, like the ones from Calibre (info to be added below) but these are pricey (more than the cost of these projectors) and you may need two depending on the delay introduced into the signal path. 

 

Specification for Casio projectors
 
Cost for XJ-A140 : search on the web suggests a current price of £750 +VAT
 

Christie

Christie have been doing stereo for ever :-) and always have a good offering, so worth checking out. But can be pricey...

http://www.christiedigital.com/AMEN/Markets/AdvancedVisualization/

 

Mitsubishi

Needs to be updated for new projector range;

 

http://vis.mitsubishielectric.co.uk/products/projectors

 

XD3200u & WD3300u - A competitively priced DLP with lens shift and a short throw lens adapter is available. .... Heavy at 10.3kg but still this looks like it could be worth considering for installs. Not been tested.

 

 

NEC :

Needs to be updated for new projector range;

 

LT265.jpg

>Above : The sadly discontinued LT265 with 3D reform... probably the simplest passive stereo system to set up quickly, and is what we still use for our 3D school shows.

 

http://www.nec-display-solutions.com/c/g/uk/en/Products/Beamer/index.html

3D reform is a great feature, but NEC have dropped it from all but the largest of their DLP's which is a real shame... Our favourite projectors are still our LT 245's and LT260's. You can use NEC's LCD's which still have 3D Reform, but will need to use filters from someone like Awater3D that can be used with LCD's which already have polarised the light pathhttp://www.awater3d.com/en/3d-stereo-polarizers/

 

DLP's to consider NP50 or NP60 or if money and size no problem then NP4000/4001

 

If you want 3D reform then the LT380 LCD is your only option and if lens shift will do then the NP1150 LCD's might do the job... but remember those special filters for LCD from Awater3D

 

Optoma

Optoma offer a wide range of basic DLP's and I know there are many users... but watch out for venting arrangements and check that it is ok to stack them.

 

 

Optoma EX765 :

 

This has Prime shift, which is a limited lens shift feature that will really help with alignment, but will not allow you to go off axis ( as we do with the NEC LT265).

 

One possible downside for a mobile system is that it is really bright for a small screen (2.4m x 1.8) at 4000 lumens if you are in a fully blacked out room, though it does have a standard mode which I assume will be around 3,200 - 3,500 lumens and those extra lumens might help where full black out isn't possible. It is also hefty for a mobile projector at 4.6Kg, so two stacked with filters etc will end up being 10-12kg

 

Throw ratio isn't bad at 1.6 -2.6. This means that at it's closest it will fill our 2.4 x1.8m screen from around 3.9m. This does put it into the second or even third row of our normal seating arrangement.

 
Specification here

 

Cost : a search on the web suggests around £1050 + VAT

 

 

Panasonic

Panasonic DLP's can be a very good choice for fixed installs, they seem to be reliable and robustly made. New projectors to be added:

 

 

Projection Design :

Great projectors, but can be a little pricey... around £3k for the Evo and £6k for the F20, but you get what you pay for..

 

EVO2sx+

Projection designs entry level projector, does have vertical lens shift, but position of the manual lens shift adjustment is not great when stacking (it is on the top). It is 2,500lms and a 1400 x 1050 resolution which is it's big plus. For entry level installs this is the projector to aim for unless you can stretch to the F20sx+ below :-)

 

http://www.projectiondesign.com/Default.asp?CatID=1389

 

F20 sx+

pd1_sm.jpg

Another great projector from Projection Design, there are a number of options on lenses and colour wheels, 10 bit and 24/7 operation make this really hard to beat unless you need more power and then the F3 is probably what you are looking for .

 

http://www.projectiondesign.com/Default.asp?CatID=1522

 

F30

The ultimate option....

http://www.projectiondesign.com/Default.asp?CatID=1533

 

Sharp

http://avpartsmaster.netfirms.com/avpmdb/nfoscomm/catalog/index.php?cPath=459_539

 

Sharp XG-PH70X - 5200 ANSI - XGA DLP projector

 

Sharp XG-PH50X - 4000 ANSI - XGA DLP projector

 

These have lens shift and Digital Keystone which seems to be similar to NEC's 3D reform but never been tested.

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

 

--------------

 

Screen Surfaces

Having used a number of surfaces I would suggest Silverfabric from Awater3D :

 

http://www.awater3d.com/en/3d-projection-screens/

 

It is robust, high gain and has great exclusion ... it can appear a little grainy if sitting too close with white images.... but a great screen... and allows use of low lumens projectors. We currently use our LT 260's in eco mode (so around 1900lms) to fill a 240cm x 180cm screen ... on full they are too bright.

 

Other Surfaces

 

Harkness hall

Harkness Hall Spectral 240 3D

This is a soft surface and easily damaged, but does give good results. It is a neutral screen so will require brighter projectors than the SilverFabric. The Harkness Hall fast fold system can be used with this screen.

http://www.harknesshall.com/ss_3d_spectral240.htm

 

Harkness Hall RP 3D

This is a rear projection surface. The Harkness Hall fast fold system can be used with this screen.

http://www.harknesshall.com/ss_3d_rp3d.htm

 

Da-Lite

Da-Lite Silver Matte

Can be purchased in a range of screen formats and types... usually cheap, but we have found that exclusion/ghosting can be a problem with some filters.

 

Da-Lite 3D Virtual Grey

A newer fabric than the Silver matte, the Virtual grey claims to have solved the ghosting problems but at the expense of the viewing angle which is reduced to a half angle of 10 degrees, this and a gain of only 1.85 still seems to suggest that Silver Fabric from Awater 3D (above) is still the best compromise.

 

Da Lite 3D Virtual Black Rear projection :

If you need to maintain high ambient lighting, then if you have the space, rear projection is the answer... though watch out for the limited viewing angle of only 20 deg (half angle = 10 deg)... our own silver fabric screens have a viewing angle of 34 deg and that can be a major limiting factor when setting up in a room with a seating area wider than the screen... so 20 deg could be a problem for large audiences, but perfect for a small dedicated viz suite.

 

Link

 

 

Stewart

Really good screens, but pricey.

 

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

Technical and other Links

 

Polarisation Help

http://www.advisol.co.il/Technical%20memos.html

 

#cccccc; background-color: #cccccc; min-height: 1.0px"> 

The above information is a statement of personal preference by the writer and the DLF takes no responsibility for the accuracy of the information or the views expressed.

AttachmentSize
ST4-04_Active_Shutter_Glasses_Database.pdf209.65 KB