Giter Club home page Giter Club logo

omegalib's Introduction

omegalib

Master Build Status Build status Release Build Status Build status

A hybrid visualization framework for desktops, large immersive displays and the web.

If you are in a rush:

Download a binary release...

Get the Omegalib Installer for Windows

Get the Omegalib Installer for OSX

... Or Use the quick build scripts

You will need the following installed:

  • Git
  • CMake (http://www.cmake.org/)
  • Python (the pre-installed 2.7 version on OSX and most linux distros works fine, on Windows omegalib comes with python bundled so you don't need this)
  • C++ Build tools for your platform (g++, clang/XCode, Visual Studio 2012/2013 depending on the OS). On windows, the free Visual Studio editions work fine.
  • (linux) The following packages
    • OpenGL development libraries (freeglut3, freeglut3-dev)
    • Python development libraries (python-dev)
    • Flex and bison (flex and bison)
    • To install all of them on Ubunto do sudo apt-get install freeglut3 freeglut3-dev python-dev flex bison xorg-dev libglu1-mesa-dev)

(Linux/OSX)

> mkdir omegalib
> cd omegalib
> (on LINUX) wget https://uic-evl.github.io/omegalib/omega
> (on OSX)   curl https://uic-evl.github.io/omegalib/omega -o omega
> chmod +x omega
> ./omega get master common-modules

(Windows): download https://uic-evl.github.io/omegalib/omega.bat in a new directory and from the command line run:

> omega get master common-modules

Additional Information:

For omegalib versions before 5.0 go to https://github.com/uic-evl/omegalib-history

Credit

If you need to reference Omegalib in your research work you can use the following citation:

Febretti, A.; Nishimoto, A.; Mateevitsi, V.; Renambot, L.; Johnson, A.; Leigh, J., "Omegalib: A multi-view application framework for hybrid reality display environments," Virtual Reality (VR), 2014 iEEE , vol., no., pp.9,14, March 29 2014-April 2 2014 doi: 10.1109/VR.2014.6802043

Google+

omegalib's People

Contributors

arthurnishimoto avatar cptaffe avatar derek-gerstmann avatar dkg-unsw avatar febret avatar ioflowstudios avatar joysword avatar koosha94 avatar mvictoras avatar renambot-uic avatar tmarrinan avatar ujmm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omegalib's Issues

EngineModule derived classes in python

Make it possible to create EngineModule derived classes in python. Will need functionality to optionally disable update and event functions, to avoid excessive callback overhead.

auto-kill of slave instances

When master instance of an omegalib application dies unexpectedly, slave instances should shut down automatically. Maybe add a death timer in a thread?

Porthole on-demand image streaming

Instead of streaming at 60fps fixed, allow applications to stream a frame on demand when an interactive frame rate is not needed (i.e. for still images and plots)

Fix orun command line config file

orun -c option should let users load a custom configuration file. It does not work currently.

orun should support specifying an app configuration file OR a system configuration file.

Missing fbx components on cluster display

When displayed on a cluster install some components on fbx models may be culled inconsistently between nodes or eyes. Maybe due to some uninitialized variable in OsgRenderPass?

Broken python draw callback

The python draw callback crashes execution randomly on a cluster install. This is due to some change in the optimized render code of v4.2.

creating a head node view on a cluster system hangs omegalib

Tested on 3,7 and 4.0, CAVE2 system. creating a tile with a different configuration on a cluster system head node hangs the entire system with a black screen on all nodes. DIsabling the head tile makes everything run again. No errors on console. Possible problem creating an X window on head node?

Image widget visibility not working

Galen Thomas-Ramos: Also, I am trying to set the visiblity of an image widget to false and it isn't disappearing... however, if I set the visibility of it's container, all of the container contents (incuding the image widget) will disappear

simplified ray intersection in python

add a SceneNode.hit(Ray) method in python to quickly test for intersections with a ray
a better version with multiple methods: hitRay, hitSphere, hitBox...

command-line option to enable python console

Add an option to command line to turn on the python console even when it's disabled at the configuration level. Useful for debugging without modifying the configuration file.

stats overlay

table with data from statsManager
plot of (selectable) stat values
fixed max number (maybe up to 4?)

Setting camera position in update function locks mouse rotation

Modifying a camera transform in the update function causes it to ignore rotations done using the mouse (KeyboardMouseCameraController).

The issue is caused by the controller resetting the camera rotations before applying them when its detecting a modified camera transform.

Fix is likely going to be in KeyboardMouseCameraController or in Camera.reset.

Python vtk scripting on linux

older versions of omegalib could not load python vtk scripts on linux systems. Verify f problem is still present and fix.

updated osg+fbx+osgWorks

Auto-compile openscenegraph. Update fbx + osgWorks version. The updated osg fixes several bugs in osg 3.0.1, and simplifies integration with osgBullet

death switch thread broken on clusters

The death switch threads appears to wake up before a timeout is reached and kill the application on cluster installs. This appens after a cyclop model loads. It may be related to running with a headless head node (still needs to be verified)

framerate decrease when head tracking is active

Application frame rates decrease of about 10fps when head tracking is active and a tracker events are received. Disabling tracking or moving the tracked object away from the system (to stop the event flow), resumes good frame rate. Issue is related only to tracker events that change head tracking (i.e. wand tracker events do not influecne frame rate).

Crash on actors.py exit

Looks related to python update callback being invoked after the actor module has been destroyed

Porthole navigation broken

Mouse or touch on camera window in porthole does not generate navigation events anymore. The javascript does not generate events (this is a client-side problem)

Mission Control Improvements

  • --mc command line option accepts a string beginning with @ pointing to the address of a mission control server. Initialization with client parameter by default attempts connection to a local instance
  • Improve MissionControlClient adding following functions:
    • global getMissionControlClient()
    • sendCommand(cmd, (optional) clientName
    • setName / getName to name the client
    • listConectedClients

Missing OSX FBX2014 package

branch: bullet

Updated openscenegraph requires use of the new FBX SDK (2014). The sdk binary files for OSX need to be installed on a test machine, put in a tar.gx with the same structure as the current one, and uploaded on the package download website. UseFbx.cmake needs to be updated to point to the new files.

menu positioning precision

When camera in placed at extreme distances (i.e. when using osgEarth) menu placement is inconsistent and jittery across nodes (likely floating point precision issues in placeOnWand and container 3d drawing)

cyclops remove child bug

removing the parent of a set of entities from the scene does not make the entities disappear. This bug is due to SceneManager performing osg object removal only for direct children.

custom meshes in cyclops

Let users create custom models specifying vertices indices and primitive types of a model asset in python

External project support broken

Using find_package(Omegalib) to build external projects leads to linker errors on linux. Test this again on all platforms with v4.0.5 and make sure it works.

Bounding box performance issues

SceneNode bounding box on-demand bounding box update is broken. Bounding box is continuously updated, leading to significant performance decrease when lots of objects are present in the scene.

Texture cleanup for 3d containers

When a container is in 3d mode, the render texture needs to be cleaned between redraws, or it will display dirty content from previous drawing.

Global sound server volume

On startup the global volume of the sound server should be set by the engine class. Parameter should also be added to the configuration file.

Will require additional function/message in Omicron's SoundManager.

Testing will need to be done to determine new baseline volume setting (sound server side, Omegalib will default at 0.5).

cross-eyed stereo

Add a crosseye stereo mode: same as side-by-side but generates a config with inverted eyes.

Crash on second unload

Using the unload command :u crashes the omegalib interpreter and runtime when executed the second time. Happens even when no script is running (i.e. starting orun and just executing :u twice)

PointCloud shader issues

Shaders used by pointcloud do not work correctly when applied through an effect definition. Disabling depth test also has issues when multiple objects are visible and share the same render bin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.