proscene


This java library package provides classes to ease the creation of interactive 3D scenes implemented with the Processing language

A. News

26/10/2013 Proscene v2.0.0-alpha1, released. New repo and blog sites

Today we are happy to announce the beginning of the Proscene2 cycle, together with a new repo kindly hosted at github and a new blog. Proscene1 maintenance releases will still see the light here. Automatic download Proscene is (and will only be) available for stable releases.

Read more news....

B. Description

Proscene (pronounced similar as the Czech word "prosím" which means "please") is a java library package which provides classes to ease the creation of interactive 3D scenes in Processing.

Proscene has been pretty much inspired in the Qt's OpenGL C++ libqglviewer library from where it borrows the concept of an interactive frame, i.e., a coordinate system that can be controlled with the mouse. Proscene aims at broadening this idea by allowing the user to easily setup an HID controlled scene. Proscene has a very similar functionality and API reference to that found in libqglviewer.

Proscene provides seemless integration with Processing: its API has been designed to fit that of Processing and its implementation has been optimized to work along side with it. One of Proscene main implementation goals was to keep it independent of the underlying Processing 3D renderer. It has been tested with the OPENGL, P3D and GLGRAPHICS renderers and can properly work with any of them.

Proscene v-1.1.1 (current release) works under Linux, Mac OSX and Windows using Processing-1.5.1 with no other special dependencies or requirements.

Proscene support is led by the active and great Processing community at its forum where you can reach us. If you think you have found a bug, you may open a ticket here at the project website.

C. Key features

D. Projects using proscene known to us

If your project is using proscene don't be shy and let us know ;) It will be great to add yours here!

E. Origin of the name

Proscene not only means a "pro-scene", but it is a two-phoneme word pronounced similar as the Czech word "prosím" (which means "please"), obtained by removing the middle phoneme ("ce") of the word pro-ce-ssing. Thus, the name "Proscene" suggests the main goal of the package, which is to help you shorten the creation of interactive 3D scenes in Processing.

F. Installation Procedure

The installation procedure follows the standard Processing contributed library installation procedure and it is quite straightforward. Just unzip the proscene-x.y.z.zip file and put the extracted proscene folder into the libraries folder of your processing sketches (or directly into your processing's libraries folder). Reference and examples are included in the proscene folder.

G. Usage

All library features requires a Scene object (which is the main package class) to be instantiated (usually within your sketch setup method). There are three ways to do that: 1. Direct instantiation. In this case you should instantiate your own Scene object at the PApplet.setup() function. 1. Inheritance. In this case, once you declare a Scene derived class, you should implement proscenium() which defines the objects in your scene. Just make sure to define the PApplet.draw() method, even if it's empty. 1. External draw handler registration. You can even declare an external drawing method and then register it at the Scene with addDrawHandler(Object, String). That method should return void and have one single Scene parameter. This strategy may be useful when you have the same drawing code shared among multiple viewers.

See the examples BasicUse, AlternativeUse, and StandardCamera for an illustration of these techniques. To get start using the library and learn its main features, have a look at the complete set of well documented examples that come along with it. Other uses are also covered in the example set and include (but are not limited to): drawing mechanisms, animation framework, and camera and keyboard customization. Advanced users may take full advantage of the fully documented API reference (which is also included in the package file).

H. Acknowledgements

Many thanks to Gilles Debunne for releasing his awesome libqglviewer as free software. Many thanks to Andres Colubri for redistributing previous releases of Proscene (such as v-0.7.0) along side his fantastic GLGraphics (v-0.9.3.3-3) Processing library. Proscene actually started as a GLGraphics component and thanks to Andres contributions it became a stand-alone library (read the whole story here).

[http://disi.unal.edu.co/profesores/pierre/ Jean Pierre Charalambos], [http://www.unal.edu.co National University of Colombia] '>

Project Information

Labels:
Processing 3D-Scene Interactivity Camerahandling Arcball Frames