Skip to content

Commit

Permalink
Adding "Document Sections" to the document (those are manually added,…
Browse files Browse the repository at this point in the history
… and would need to be manually updated if things change)
  • Loading branch information
dfelinto committed Jan 27, 2015
1 parent fa9bf25 commit c29e4af
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 4 deletions.
7 changes: 6 additions & 1 deletion manual/architecture/master-slaves.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,18 @@
Master and Slaves
=================


Communications inside Blender-VR are organized through a master/slaves structure.

Although inside `virtual environment <run-modes.html>`_, all nodes are equivalent, one node is the master.

The master computer is the `console <run-modes.html#console>`_ from the `configuration file <../components/configuration-file.html>`_.

Document Sections
-----------------

* `Master`_
* `Slaves`_

Master
------

Expand Down
7 changes: 7 additions & 0 deletions manual/architecture/protocols.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ UI ↔ Daemon Network Protocol

First of all, to avoid problem of paths resolutions, the UI must run in the same context (computer and user), than the daemon.

Document Sections
-----------------

* `Base Protocol`_
* `Get/Set Settings`_
* `Simulation`_

Base Protocol
-------------

Expand Down
12 changes: 12 additions & 0 deletions manual/components/configuration-file.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,18 @@ It also includes a ``blenderVR`` section which only option is the network port u
.. note::
Use of space in ``screen`` name should work. Beware still Windows users.

Document Sections
-----------------

* `Redundant Sections`_
* `Code Execution`_
* `Starter Section`_
* `Anchor`_
* `Users Section`_
* `Computers Section`_
* `Screens Section`_
* `Sample Configuration File`_

Redundant Sections
------------------

Expand Down
11 changes: 10 additions & 1 deletion manual/components/osc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,18 @@ OSC is a protocol used to send / receive data through applications. See
http://opensoundcontrol.org.

Blender-VR includes a MaxMSP (http://cycling74.com) Sound Rendering Engine
available at http://blendercave.limsi.fr/doku.php. It is however possible (and advised) to
available at `Downloads`_. It is however possible (and advised) to
make it work with any other OSC client and fathom it for other purposes.

Document Sections
-----------------

* `Interaction Setup`_
* `Downloads`_

Interaction Setup
-----------------

While the OSC API allows to easily send OSC (UDP) flags, the MaxMSP associated
Sound Rendering Engine has been design to receive an process these flags.
Once you’ve opened the Blender-VR_Sound_Rendering_Engine_vX.maxpat on the
Expand Down
17 changes: 16 additions & 1 deletion manual/components/processor-file.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,21 @@ By default (and you should not change it) this file is in the same folder than t

Refer to the `Complete API <http://blender-vr.readthedocs.org>`_ for all the available commands and funcionality.

Document Sections
-----------------

* `Minimal Processor File`_
* `Basic Processor File`_
* `Debugging Processor Through Log Messages`_
* `Keyboard and Mouse`_
* `Choose Objects to Synchronize`_
* `Processor Inheritance`_
* `Master-Slaves Communication`_
* `Stream: Processor as Synchronized Object`_
* `One-Shot: Specifically Send a Data`_
* `Run() Method`_
* `Console-"Virtual Environment" Communication`_

Minimal Processor File
----------------------

Expand Down Expand Up @@ -149,7 +164,7 @@ Stream: Processor as Synchronized Object
----------------------------------------

You can register your processor as a synchronized object.
As such, at each frame, the synchronizer will ask the master's processor (through ``getSynchronizerBuffer()`` method) the buffer to send to the slaves. Then, if the buffer is not empty (getSynchronizerBuffer() doesn't return ``None``), each slave, __in the same frame__, will receive it through its ``processSynchronizerBuffer()`` method.
As such, at each frame, the synchronizer will ask the master's processor (through ``getSynchronizerBuffer()`` method) the buffer to send to the slaves. Then, if the buffer is not empty (getSynchronizerBuffer() doesn't return ``None``), each slave, *in the same frame*, will receive it through its ``processSynchronizerBuffer()`` method.

To register your processor, you must call from the constructor of your "virtual environment" processor:

Expand Down
15 changes: 15 additions & 0 deletions manual/components/user-interface.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,21 @@ To simplify, the ``console`` is run by the user, use PySide but cannot import ``

From the `processor file <processor-file.html>`_ perspective there is even a third mode, the ``update loader``. This mode is a glue between the previous ones. In the ``update loader`` the ``.blend`` file is changed on-the-fly so when it runs into the ``virtual environment`` it interacts with the ``console`` and with eventual interaction devices.

Document Sections
-----------------

* `Console`_

* `Configuration File`_
* `Active Screen Set`_
* `Simulation File`_
* `Start/Stop`_
* `Debug Window per Screen`_
* `Standard/Error Outputs`_
* `Log Level`_

* `Daemons`_

Console
-------

Expand Down
11 changes: 10 additions & 1 deletion manual/components/vrpn.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,16 @@ In Blender-VR, the receiving of VRPN messages and definition of associated metho
is done in the ``<blender_scene_name>.processor.py`` script attached to a scene (see
examples in the `samples <../installation/installation.html#getting-samples>`_ folder).

To be able to interact in your blenderCAVE scene with a VRPN compatible interface you
Document Sections
-----------------

* `Interaction Setup`_
* `Example with a Nintendo Wii Controller`_

Interaction Setup
----------------------

To be able to interact in your Blender-VR scene with a VRPN compatible interface you
will have to:

1. Define the interface in your ``vprn.cfg`` script
Expand Down

0 comments on commit c29e4af

Please sign in to comment.