Re: [vos-d] second draft requirements

2007-02-27 Thread Benjamin Mesing
  Do you have any pointers to documentation on 
 how this combination now called SAI works then?

http://www.web3d.org/x3d/specifications/ISO-IEC-19775-X3DAbstractSpecification/

 You are saying that I write a script node and somehow have access to my 
 entire virtual machine, access to other script nodes running within the 
 virtual machine?

That usually not true. Your scipt node should run in a sandbox. The only
way to communicate between different script nodes should be by the way
of events and routes.
And by the means of the SAI of course.
Everything else might work with some browsers (e.g. if the Script nodes
do not run in a sandbox but share a VM) but IMO would be not standard
compliant.


 public void initialize()
 {
   CommonObject o = Register.instance.GetCommonObject();
 }
 
 Node 2 -
 ...
 public void initialize()
 {
   CommonObject o = Register.instance.GetCommonObject();
 }

I believe this is not possible. How should this work, if one node were
implemented in JS and the other in Java? (Ok, we have .NET now :-)


 public void initialize()
 {
Node node = EAILikeInterface.CreateVrmlFromURL(url);
node.getEventOut(foo).advise(this, foo);
 }
 public void callback

Yeah that should be doable using the SAI.


 I know of a browser which makes the SAI available through a web
 interface and thus offers a quite generic way to communicate with the
 scene.
 I didn't quite understand this, you have a link?

The link is http://www.zgdv.de/avalon/, but it's closed source and there
seems to be information about the web interface available. Perhaps it is
not exactly making the SAI available externally, I might have be to rash
on that. But you can definitely visualize the scene graph and I believe
you can also modify fields.

Regards Ben


___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] second draft requirements

2007-02-26 Thread Rob Meyers
Assuming you are speaking about the step from VRML to X3D here:
They have not cut off support for the external API. The thing about X3D
is, that they've combined what was the EAI (external authoring
interface) and the Browser Script Interface in VRML into the SAI (scene
access interface) in X3D:
 [The] scene access interface (SAI) [..] can be used to interact
 with X3D worlds both from within the worlds or from external
 programs.

Your nodes can be coded in any language supported by the browser with
the bindings for Java and ECMAScript being explicitly defined and
supported by most browsers.

   Wow, what you are suggesting here is definitely news to me.  As far as I 
understood it, SAI was the term they used for providing script nodes used to 
drive node logic, and EAI was the name for the browser api.  Perhaps I got 
confused by the naming them.  Do you have any pointers to documentation on 
how this combination now called SAI works then?

You are saying that I write a script node and somehow have access to my 
entire virtual machine, access to other script nodes running within the 
virtual machine?  i.e. lets say I want to have two nodes share a common 
object, they can both access it?

Something like this is possible:
Node 1 -
...
public void initialize()
{
  CommonObject o = Register.instance.GetCommonObject();
}

Node 2 -
...
public void initialize()
{
  CommonObject o = Register.instance.GetCommonObject();
}

And all of the node instantiation and event listening capabitilties are 
still there?
SuperNode 1

public void initialize()
{
   Node node = EAILikeInterface.CreateVrmlFromURL(url);
   node.getEventOut(foo).advise(this, foo);
}
public void callback


I know of a browser which makes the SAI available through a web
interface and thus offers a quite generic way to communicate with the
scene.
I didn't quite understand this, you have a link?

Thanks for the correction,
Rob

_
With tax season right around the corner, make sure to follow these few 
simple tips. 
http://articles.moneycentral.msn.com/Taxes/PreparationTips/PreparationTips.aspx?icid=HMFebtagline


___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] second draft requirements

2007-02-25 Thread Lalo Martins
On Fri, 23 Feb 2007 14:49:43 -0500, Peter Amstutz wrote:
 On Thu, Feb 22, 2007 at 11:16:24PM -0500, Rob Meyers wrote:
 In terms of your scripts section, it would be great to have a COM binding 
 to your api.  Although this is pretty winders specific, it opens up all 
 your code to .Net.  I've done some work with editing worlds while you are 
 
 To be honest, I hate COM and our primary development platform has always 
 been Linux, so it's not particularly high on the list of priorities.  
 However, interoperability is going to be a strong focus of the next 
 version, so some kind of COM binding may be down the road.

Conversely, on Linux, I have long wanted to have d-bus bindings, which
would achieve more or less the same effect.  That is something that
probably will be in s5 out of the box -- you add a site extension
(assuming site extensions exist in s5; or whatever is the equivalent if
they don't), and you get d-bus, similar to how you get VIP.

best,
   Lalo Martins
--
  It doesn't bother me that people say things like
   you'll never get anywhere with this attitude. In a few decades, it
   will make a good paragraph
  in my biography. You know, for a laugh.



best,

   Lalo Martins

--

  It doesn't bother me that people say things like

   you'll never get anywhere with this attitude.

   In a few decades, it will make a good paragraph

  in my biography. You know, for a laugh.

--

http://www.laranja.org/mailto:[EMAIL PROTECTED]

 pgp key: http://www.laranja.org/pessoal/pgp


___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] second draft requirements

2007-02-25 Thread Rob Meyers
Glad you've stuck with us.

I remember VRSpace (well, visiting the web page anyhow).  What became of
that?  It looks like there's still some mailing list activity.

Oh yeah, VRSpace is still kicking as I understand.  I stopped working on it 
somewhere in 2004 so haven't really played much with it since then.   Its 
main guy Josip Almasi I believe has been making modifications to it.

In the intervening years I spent a lot of time programming in c# and I 
decided java didn't have what I needed to build the system I was looking for 
in VRSpace.  My take on things is that the VRML world basically had the 
right idea about how to build one of these virtual space system, but things 
got out of wack.  Ever read the Living Worlds document?, very cool, ahead 
of its time stuff.  However, they got too caught up in VRML itself.  First 
they build a nice standards 1.0 that let you set up a scene graph.  Then 
they add animation, events, prototypes, for nodes and an external api for 
interacting with the scene.  All very good, but they also added internal 
scripting languages, which is where they started to go off the deep end.  As 
far I understand it now, they have cut off support for the external api, and 
expect you to fully program all your nodes in javascript.  Say what?  
Basically they think VRML is everything, graphics, animation, all the 
underlying logic, networking, programming... way too much for someone 
building a VRML browser to be responsible for supporting.

But still the abstract concept of an object living in a space with events, 
properties, perhaps geometry is the right one.  Objects that can be 
discovered, reflected upon...  So I want to turn the VRML concept inside 
out.  Spaces (whether client side or server) are collections of special 
objects (VRObjects if you will) that are shared when the two spaces 
encounter each other (Client logs in for example).  These objects may or may 
not have geometry associated to them, but they do have attributes that can 
be queried, and events that can be registered for.  As an example, the most 
basic example of a VR chat system is:

Server - Chat object with method Say.
Client 2 - Merges with Server space, register a listener to Say method on 
chat object.
Client 1 - Merges with Server space, sees Chat object, calls Say with 
parameter ( Hello World )
Client 2 - Receives the Say call, and maybe displays it.

So why c#? basically they've got Serialization, Remoting, Attributes, and 
most importantly this notion of a ContextBoundObject, which together 
basically gives you a VRObject.  A CBO lets you intercept any calls to it 
from another CBO (whether residing in another virtual machine or the same) 
and handle them as you wish.  So in the above, register a listener with 
Chat and receive the Say call are handled transparently by intercepting 
the Say call and calling all the listeners.  The remoting handles all the 
object serialization and communications, but most importantly whether you 
are calling methods on a server object from the client 
(chatObject.Say(Hello World) or from server to server object, you program 
it the same way.   The fact that this method can be listened to at all, 
security etc. occurs by marking it up with attributes.

In terms of seeing objects though in a virtual space, its all handled as 
above.  You have classes called Transforms with associated objects 
VrmlFiles.  You detect a transform and vrmlfile when encountering the space, 
you read off the Transform's location, the VrmlFile's resource blah.wrl 
and tell your browser to create the associated nodes.  If you want to 
script a vrml node, you do it all by listening to the vrml nodes, and 
handling the events in the c# itself.  So the vrml file is slave to the c# 
class, not the other way around which would be more the VRML evolved.

So I know I am preaching to the choir here, which is why I think your 
project rocks.  My take on your stuff is that you have built the entire 
protocol, the serialization, the CBOs, reflection, the attributes/security 
yourself.  Very impressive.

To be honest, I hate COM and our primary development platform has always
been Linux, so it's not particularly high on the list of priorities.
However, interoperability is going to be a strong focus of the next
version, so some kind of COM binding may be down the road.  I'm actually
more interested in being able to interoperate with .NET directly than
trying to do .NET via COM.  The tricky part on Windows is that I also
want to support compiling with cygwin/mingw, so we can't rely on tools
that are only available with Visual Studio.
I hear you.  Yeah the only real reason for suggesting COM was for the 
interop with .Net.  I suppose then you could make yourself a managed c++ 
assembly which wraps your api, but watch out for combining .Net memory 
management with your code, yikes!  How about mono?

Yes, we've been meaning to do that for a long time.  It's just a matter
of developer time and resources.

Re: [vos-d] second draft requirements

2007-02-23 Thread Peter Amstutz
On Thu, Feb 22, 2007 at 11:16:24PM -0500, Rob Meyers wrote:
 Hey yall, last time I wrote to this group was several years ago, but I have 
 been reading the messages as they come along.  I took an interest in your 
 work back then as I was struck by the similarities it had with the project 
 VRSpace I was working on at the time.  So I read this set of requirements 
 and thought I would throw in my two cents.

Glad you've stuck with us.

I remember VRSpace (well, visiting the web page anyhow).  What became of 
that?  It looks like there's still some mailing list activity.

 In terms of your scripts section, it would be great to have a COM binding 
 to your api.  Although this is pretty winders specific, it opens up all 
 your code to .Net.  I've done some work with editing worlds while you are 

To be honest, I hate COM and our primary development platform has always 
been Linux, so it's not particularly high on the list of priorities.  
However, interoperability is going to be a strong focus of the next 
version, so some kind of COM binding may be down the road.  I'm actually 
more interested in being able to interoperate with .NET directly than 
trying to do .NET via COM.  The tricky part on Windows is that I also 
want to support compiling with cygwin/mingw, so we can't rely on tools 
that are only available with Visual Studio.

 in it, i.e. your interactivity section.  Being able to click on the movable 
 objects and having a visual interface to move it around is very helpful.  
 But this idea can be taken a lot further, namely having an editor that 
 allows you to click on an object and see all of its available properties, 
 methods in and out and allows you to change these fields, invoke the 
 methods, etc.  Very useful for debugging.

Yes, we've been meaning to do that for a long time.  It's just a matter 
of developer time and resources.

 And if anything is on the wish list, having 3D versions of the most common 
 controls available, i.e. panels, texboxes, labels, scrollbars, etc for 
 building a front end in the hud would be fantastic.  If field/events from 
 these widgets are available throug the api, then viola 3d apps.  No reason 
 to restrict them to placement in the hud... so you can put a textbox on 
 some object e.g.  Either way this property editor mentioned above comes 
 into to augment the front end building experience.  Way back when, I think 
 I suggested having the ability to drag a file onto the front end and have 
 its geometry to pop up in the world.  Basically, I am in support of 
 anything that makes it easier to put content in the world and manipulate it.

These are all good ideas, and I'll incorporate them into the 
requirements document when I get a chance.

 I've recently been building a new framework for making 3d apps called 
 AstralX.  To test out its capabilities, I originally wrote a chess program, 
 but that was a boring game.  So I've built a version of HeroQuest, a 
 boardgame from way back, which is pretty much so completed.  Check out some 
 screenshots of the game in play at:
 https://sourceforge.net/project/screenshots.php?group_id=125518ssid=53527
 https://sourceforge.net/projects/astralx/
 AstralX is written in C#, uses BitManagement Contact, so all the geometry 
 is VRML/X3D.

I used to play Hero Quest!  That game was great.  I still have a boxful 
of plastic orcs lying around here somewhere...

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]



signature.asc
Description: Digital signature
___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] second draft requirements

2007-02-22 Thread Rob Meyers
Hey yall, last time I wrote to this group was several years ago, but I have 
been reading the messages as they come along.  I took an interest in your 
work back then as I was struck by the similarities it had with the project 
VRSpace I was working on at the time.  So I read this set of requirements 
and thought I would throw in my two cents.


In terms of your scripts section, it would be great to have a COM binding to 
your api.  Although this is pretty winders specific, it opens up all your 
code to .Net.  I've done some work with editing worlds while you are in it, 
i.e. your interactivity section.  Being able to click on the movable objects 
and having a visual interface to move it around is very helpful.  But this 
idea can be taken a lot further, namely having an editor that allows you to 
click on an object and see all of its available properties, methods in and 
out and allows you to change these fields, invoke the methods, etc.  Very 
useful for debugging.


And if anything is on the wish list, having 3D versions of the most common 
controls available, i.e. panels, texboxes, labels, scrollbars, etc for 
building a front end in the hud would be fantastic.  If field/events from 
these widgets are available throug the api, then viola 3d apps.  No reason 
to restrict them to placement in the hud... so you can put a textbox on some 
object e.g.  Either way this property editor mentioned above comes into to 
augment the front end building experience.  Way back when, I think I 
suggested having the ability to drag a file onto the front end and have its 
geometry to pop up in the world.  Basically, I am in support of anything 
that makes it easier to put content in the world and manipulate it.


I've recently been building a new framework for making 3d apps called 
AstralX.  To test out its capabilities, I originally wrote a chess program, 
but that was a boring game.  So I've built a version of HeroQuest, a 
boardgame from way back, which is pretty much so completed.  Check out some 
screenshots of the game in play at:

https://sourceforge.net/project/screenshots.php?group_id=125518ssid=53527
https://sourceforge.net/projects/astralx/
AstralX is written in C#, uses BitManagement Contact, so all the geometry is 
VRML/X3D.


Good to see you guys still in action,
Rob


From: Peter Amstutz [EMAIL PROTECTED]
Reply-To: VOS Discussion vos-d@interreality.org
To: vos-d@interreality.org
Subject: [vos-d] second draft requirements
Date: Sat, 3 Feb 2007 17:10:48 -0500

Alright, here's a second draft of the requirements document, based on
the input I've gotten back so far.


Creating Interreality

Version 0.30.0

Peter Amstutz

   Copyright007 Peter Amstutz

   Permission is granted to copy, distribute and/or modify this
   document under the terms of the GNU General Public License,
   Version 2 or any later version published by the Free Software
   Foundation. A copy of the license is included in the section
   entitled GNU General Public License.
 _

   Table of Contents
   1. Requirements

1.1. Mission Statement
1.2. Multiuser Requirements
1.3. Online Networking Requirements
1.4. Platform Requirements

  1.4.1. Basic Requirements
  1.4.2. Scripts
  1.4.3. Interactivity
  1.4.4. Authoring
  1.4.5. Behaviors
  1.4.6. Audio

1.5. Client Features
1.6. 3D Graphics Requirements

  1.6.1. Meshes and Effects
  1.6.2. Avatars
  1.6.3. Portals
  1.6.4. Animation

 _

Chapter 1. Requirements

   An unsorted list of all the thing we want Interreality 3D to
   do. See the Timeline at the end of this chapter for priorities
   and scheduling. Compiled from ideas and suggestions by Peter
   Amstutz, Reed Hedges, Karsten Otto and Ken Taylor.
 _

1.1. Mission Statement

   Develop a free software platform for multiuser, online,
   collaborative 3D applications.

   What do we mean by this?

   Free Software
  Interreality 3D will be released under a free software
  license such as the GPL or LGPL.

   Multiuser
  Interreality 3D will allow many simultaneous users that
  are all able to see and interact with each other, and
  share a synchronized view of what is going on in the
  virual space.

   Online
  Interreality 3D will be Internet-based. This means it
  must be robust and usable over the real Internet
  where uneven latency, firewalls, packet loss,
  heterogeneous networks, narrow pipes, etc are the norm.
  Respecting the distributed nature of the Internet,
  Interreality 3D worlds will be spread across many
  hosts, and worlds will interconnect using portals

Re: [vos-d] second draft requirements

2007-02-09 Thread Peter Amstutz
On Tue, Feb 06, 2007 at 09:52:51AM -0500, Reed Hedges wrote:
 On Sat, Feb 03, 2007 at 05:10:48PM -0500, Peter Amstutz wrote:
  Meshes and Effects
  
 
 Forgot Billboards I think.

 (Also terrain?)

Right.  I'll add those.
 
 The system shall support geometric primitives: cube, cylinder,
 cone, sphere.
  
 The system shall support Lindin Labs prims.
 
 In what manner? I.e. by import/export? Or directly in A3DL?
 (Or do we not seed to specify for the requirements?)

Directly in A3DL.  My thought was we can write an OTD that has the same 
parameterized fields that describe a SL primitive.  The client needs to 
be able to render that, of course.  Hugh Perkins has a library fractal 
spline which apparently can render SL prims that we can borrow.  Having 
this functionality would make it trivially easy to incorporate SL 
content into VOS.

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]



signature.asc
Description: Digital signature
___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] second draft requirements

2007-02-06 Thread Reed Hedges
On Sat, Feb 03, 2007 at 05:10:48PM -0500, Peter Amstutz wrote:
 Meshes and Effects
 

Forgot Billboards I think.

(Also terrain?)

The system shall support geometric primitives: cube, cylinder,
cone, sphere.
 
The system shall support Lindin Labs prims.

In what manner? I.e. by import/export? Or directly in A3DL?
(Or do we not seed to specify for the requirements?)

Reed


___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] second draft requirements

2007-02-03 Thread chris
Hi Peter,

It's good to see you are adopting a plugin framework approach.

on meshes I was thinking you should support the triangular strip array
as that is a very efficient form for rendering. Also, there may be
another common mesh format worth supporting such as the one used in
Ogre3D.

For image formats, one of this biggest performance problems with X3D
is due to the size of images that are needed for textures. Better
compression support, such as jpeg2000 is pretty much essential.

On security, what can be done about network communications security -
e.g. encryption and authentication?

chris



___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] second draft requirements

2007-02-03 Thread Peter Amstutz
On Sun, Feb 04, 2007 at 07:35:30AM +0900, chris wrote:
 Hi Peter,

 on meshes I was thinking you should support the triangular strip array
 as that is a very efficient form for rendering. Also, there may be
 another common mesh format worth supporting such as the one used in
 Ogre3D.
 
 For image formats, one of this biggest performance problems with X3D
 is due to the size of images that are needed for textures. Better
 compression support, such as jpeg2000 is pretty much essential.
 
 On security, what can be done about network communications security -
 e.g. encryption and authentication?

I see these as mainly design or implementation issues -- the 
requirements document is about what it does, not how it does it.

Otherwise yes, you're right, efficient data representation for meshes, 
textures, etc is going to be important.  And security is a huge, 
enormous issue that we'll deal with the time comes.  But we don't 
specify design in the requirements document, we specify design in the 
design document.  That will come next when we're all happy with (or sick 
of) the requirements.

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]



signature.asc
Description: Digital signature
___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d