Mugic/protocol
Overview
MUGIC defines a protocol for a standard display-independent client/server model for the generation, control, and management of graphics rendering within a multi-user environment. The first implementation for the CalVR system used on the state-of-the-art visualisation technologies developed at Calit2. This protocol will provide ease of access and an integrated development environment for research, education, performance, interaction, and presentations. It will provide an easily accessible format for integration of real-time programming softwares (e.g., Touch Designer, Pure Data, Max/MSP, Quartz, Processing, etc.) which in turn will facilitate the incorporation of state-of-the-art gesture control and algorithmic/generative processes for control of graphics on multiple displays. The protocol will also provide multi-user management and access support, as well as real-time telematic connection between multiple servers materializing an enormous potential for development of multi-site virtual reality game and performance productions.
-Server listens to both tcp and udp
-UDP and TCP streams will work in conjunction and in collaboration with each other
-UDP commands have a 1400 byte limit (or whatever the lower limit is of the client and server MAClayer)
User management every tcp connection has a ttl after the ttl time, the scene associated with user will be deleted
Object managment every object has an owner object can be a collection of objects
Syntax
cmd name [parameter={value,`expr`} ...]
Connections
connect
preferences
pref
simple objects
point name= triangle quads circle elipses sphere cube cylinder pyramid
group name=g1 x1 y1 z1
var center=10 point name=x1 cx=`center*2`
var center=20
move dur=
delete dur=
scale
rotate
sheer
copy name= src= link name= src= transformation=
sql info
name
type
OSG_pointer
cx
cy
cz
Quad ID=X p1=0,0 p2=1,0 p3=1,1 P4=0,0 link ID=A src=X scale id=A factor=0.2 move ID= dx=.1 dy=.5 group iD=C A,B