Re: [osg-users] collada plugin problems

2006-10-10 Thread Drew Whitehouse

Thanks Farshid,

It looks like it's a bug in the latest version of FeelingSoftware's Max 
exporter, I've sent them a bug report. In larger collada exports some of 
the alpha components are becoming NaN's as well.


-Drew

Farshid Lashkari wrote:


Hi Drew,

On 10/10/06, Drew Whitehouse <[EMAIL PROTECTED]> wrote:


Can someone knowledgeable take a look at this collada file and it's .osg
equivalent and tell me why nothing is showing up in osgviewer ? It looks
like it should, and osgviewer is reporting the existence of 800+
primitives. The .dae file is being exported from 3DSMax, and converted
using osgconv/OSG1.2.



The material's alpha is set to 0 in the osg file, so it is 100%
transparent. Change the alpha values to 1 and it should show up fine.
It worked here.

-Farshid
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/



___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] collada plugin problems

2006-10-10 Thread Farshid Lashkari

Hi Drew,

On 10/10/06, Drew Whitehouse <[EMAIL PROTECTED]> wrote:

Can someone knowledgeable take a look at this collada file and it's .osg
equivalent and tell me why nothing is showing up in osgviewer ? It looks
like it should, and osgviewer is reporting the existence of 800+
primitives. The .dae file is being exported from 3DSMax, and converted
using osgconv/OSG1.2.


The material's alpha is set to 0 in the osg file, so it is 100%
transparent. Change the alpha values to 1 and it should show up fine.
It worked here.

-Farshid
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


[osg-users] collada plugin problems

2006-10-10 Thread Drew Whitehouse

Hi all,

Can someone knowledgeable take a look at this collada file and it's .osg 
equivalent and tell me why nothing is showing up in osgviewer ? It looks 
like it should, and osgviewer is reporting the existence of 800+ 
primitives. The .dae file is being exported from 3DSMax, and converted 
using osgconv/OSG1.2.


http://anusf.anu.edu.au/~drw900/osg/test.dae
http://anusf.anu.edu.au/~drw900/osg/test.osg


Thanks,
Drew
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


RE: [osg-users] wxwidgets

2006-10-10 Thread Gian Lorenzetto








Hi Antoine,

 

Due to changes in osgGA since 1.0 you’ll
find that the mVue example is a little out of date now. However, the general
concepts of how mVue was put together still apply.

 

I have some simple code in a VS7.1 project
integrating wxWidgets and OSG that I was using to debug a recent issue with
NVidia drivers that may be of use. If you like I will tidy it up and put it on
the wiki tonight/tomorrow for others starting out with wx and osg.

 

Gian

 



 

Hello,

 

I am trying to use OSG into a GUI made on WxWidgets
under VC++8.0 but I cannot find much information about linking OSG to 3rd
parties GUI libraries. I found the namespace osgGA which I believe provides the
functions I need, but the doc about it is not really intended to be used by a
green in OSG like I am. I also had a look at a project called mVue which
exactly did what I want (and much more), unfortunately the project is already
rather big, so I get lost in all the code (though I spent some time on
it…). And last I had a look at the examples (of course), but they use
osgProducer, so all the work is already done, and as it is rather complete,
well I have the same problem as before: I get lost… If anybody had any
simpler information about it, or a small project with the minimal requirements,
that would be tremendous!

 

Thanks,

 

Antoine.








___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Re: [osg-users] Fedora Core 4 packages -- OSG 1.2

2006-10-10 Thread Don Burns
Hi Eric,

You can ftp them to openscenegraph.net/upload.  Use your email
address as the password. Send me an email when they are up and I'll add
something to the binary download page.

-donOn 10/10/06, Eric Sokolowsky <[EMAIL PROTECTED]> wrote:
I have created some packages of OSG-1.2 for Fedora Core 4. Where shouldI upload these? They're kind of big for an email attachment, but I supposeI could send them to the submissions list.--
   __ Eric
Sokolowsky  (GST)NASA Goddard Space
Flight Center/ __/__/_/__  Visualization ProgrammerScientific Visualization Studio  
/ __/ _/ / _/
301.286.3751  Mailstop
610.3 Bldg 28 Rm E102  /___/_//_/__/ [EMAIL PROTECTED]   Greenbelt, MD 20771___osg-users mailing list
osg-users@openscenegraph.nethttp://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

[osg-users] wxwidgets

2006-10-10 Thread Antoine Rennuit








Hello,

 

I am trying to use OSG into a GUI made on WxWidgets
under VC++8.0 but I cannot find much information about linking OSG to 3rd
parties GUI libraries. I found the namespace osgGA which I believe provides the
functions I need, but the doc about it is not really intended to be used by a
green in OSG like I am. I also had a look at a project called mVue which exactly
did what I want (and much more), unfortunately the project is already rather
big, so I get lost in all the code (though I spent some time on it…). And
last I had a look at the examples (of course), but they use osgProducer, so all
the work is already done, and as it is rather complete, well I have the same
problem as before: I get lost… If anybody had any simpler information
about it, or a small project with the minimal requirements, that would be tremendous!

 

Thanks,

 

Antoine.






___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

RE: [osg-users] Image processing question

2006-10-10 Thread Gian Lorenzetto
Hi Serge,

Two image processing libraries worth a look are DevIL and ImageMagick.
The latter is pretty hefty, but has a lot of functionality.

DevIL - http://openil.sourceforge.net/
ImageMagick - http://www.imagemagick.org/script/index.php

Good luck,
Gian

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:osg-users-
> [EMAIL PROTECTED] On Behalf Of Serge Lages
> Sent: Wednesday, 11 October 2006 3:22 AM
> To: osg users
> Subject: [osg-users] Image processing question
> 
> Hi all,
> 
> I am looking for an image processing library to use with OSG, I've
tried :
> http://cimg.sourceforge.net/
> But I can't manage to get good result with it (scaling an image result
> on a corrupted buffer :/).
> Anyone have tried it ?
> 
> Or anyone knows another good image processing library ? Which allows
> me to process large buffers. For exemple I would like to scale just a
> part of an image directly without copying this part into another
> buffer before scaling it.
> 
> Thanks in advance !
> 
> --
> Serge Lages
> http://www.magrathea-engine.org
> ___
> osg-users mailing list
> osg-users@openscenegraph.net
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


RE: [osg-users] Semi-OT: Plugin architectures

2006-10-10 Thread Philip Taylor

Hi Chris,

I used my own version of COM rather than the Microsoft version because of
lack of understanding and because I foresaw issues with timing (never proved
or disproved).

The skeleton of my simplified version is attached together with a skeleton
app method. There are things that could be improved, but I was following a
Microsoft code example (from VS5) and bear in mind that the interface was
supposed be compatible with both C and C++. I used the same names as the
Microsoft version, except for a prefix. To use the interface it is not
necessary to add the "Example.lib" to your build system if you use the
LoadLibrary call, and all you need to publish is the .h file and the DLL.

The Microsoft version may be prettier, but I have source code to my version!
Microsoft have several macros to dress up their COM interface, but I just
elected not to implement my cutdown version entirely their way.

It took me several days to realise that COM is really simple, so I hope my
example helps you trim a few corners off your learning experience.

Regards

PS. I have not compiled the example and have no interest in maintaining it.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Chris Hanson
Sent: 10 October 2006 18:45
To: osg users
Subject: Re: [osg-users] Semi-OT: Plugin architectures


Philip Taylor wrote:
>"COM/ActiveX is out for many reasons."
> Why? My undertanding is that the basis of COM is a C structure, I would
have
> thought it met your design requirement. I have implemented a couple of
> components where the structure was more a C++ rather C style structure.

   I am somewhat familiar with COM, having tried to come to grips with it
before. COM
seems unsuitable for several reasons:

   Totally Windows dependent. I've seen Mozilla's XPCOM, but it seems really
complicated
to understand and build and use outside Mozilla.
   Really requires people to be into the "COM mindset". It's not just like
writing some
simple code -- only the code can be dynamically added to an application. You
really have
to grasp COM's whole philosophy to get going with it.
   My understanding of COM is that it requires objects to register
themselves with the
Windows registry before being accessible, and I think this is an
abomination. I understand
their reasons for it, but there are reasons I don't want my app polluting
the user's
system in that fashion. I also need something that can basically run right
out of the box
as an EXE without needing installation/uninstallation.
   I'm also not trying to implement RPC and inter-endian mixing, so COM's
marshalling and
such are overkill.

   I'm thinking I may just do something myself, since I haven't found an
existing solution
the meets enough of my criteria. I'll probably adopt some of the low-level
principles COM
uses to make itself language-independent and such.

> The advantage of COM is runtime linking - no need to distribute lib
files -
> just an include file to describe the interfaces returned by the factory
> method and the actual DLL.

   I'm looking at doing something similar, with late-binding using method
name strings as
opposed to IDL files and GUIDs and such.

> Alternatively look at how OSG handles its plugins.

   As I mentioned above, OSG's plugin design is suitable for OSG, but pretty
much lacks
many of the important criteria I'm looking for. Think of how 3dsMax breaks
plugin
compatibility everytime they release a new version, versus Photoshop which
can run plugins
written in the 3.0 era.

--
Chris 'Xenon' Hanson aka Eric Hammil | http://www.3DNature.com/ eric at
logrus
  "I set the wheels in motion, turn up all the machines, activate the
programs,
   and run behind the scenes. I set the clouds in motion, turn up light and
sound,
   activate the window, and watch the world go 'round." -Prime Mover, Rush.
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
//*
// FILE HEADER
//  ~~
// File Name:   com_example.cpp
//
// Project ID   :   ---/---
//
// Originated   :   Oct 2006 Philip Taylor
//
// Description  :   Implementation of an example COM style interface.
//  
//**

#include "stdafx.h"

#include "com_example.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// **
// CLASS HEADER
// ~ ~~
// Name :   CExampleFactory
//
// Description  :   A derived DLL interface to the component factory.
//
// **

class CExampleFactory : public CExampleFactory_API
{
public :

unsigned int m_dwRef;

public :

voidQueryInt

[osg-users] Fedora Core 4 packages -- OSG 1.2

2006-10-10 Thread Eric Sokolowsky

I have created some packages of OSG-1.2 for Fedora Core 4. Where should
I upload these? They're kind of big for an email attachment, but I suppose
I could send them to the submissions list.

--
   __ Eric Sokolowsky  (GST)NASA Goddard Space Flight Center
   / __/__/_/__  Visualization ProgrammerScientific Visualization Studio
  / __/ _/ / _/ 301.286.3751  Mailstop 610.3 Bldg 28 Rm E102
 /___/_//_/__/ [EMAIL PROTECTED]   Greenbelt, MD 20771
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] Tga-texture without background on quad not visible in scene

2006-10-10 Thread Mauricio

At 16:46 10/10/2006, you wrote:


hi all,

i have a geode with a geometry-node in my scene which has attached 
an osg::PrimitiveSet::QUADS.
i put a tga-texture on that quad using a osg::stateset. if i use a 
tga-texture with a background i can see the whole quad in my scene (a square).
but then i wanted to change the texture to a texture without a 
background (alpha-blending?!) i did this but now i cant see my quad 
in the scene anymore even though i checked - it exists. what is 
wrong? how is it possible to put a texture on a quad which does has 
a background so i just a the actual shape of the content of the 
image not the quad shape...


here is what i did:

  // specify texture
  dtCore::RefPtr shoeTex = new osg::Texture2D;
  // protect from being optimized away as static state:
  shoeTex->setDataVariance(osg::Object::DYNAMIC);

  // load an image by reading a file:
  dtCore::RefPtr shoeImg = osgDB::readImageFile( texName );
  if (!shoeImg.get())
  {
 std::cout << " couldn't find texture, quiting." << std::endl;
  }

  // Assign the texture to the image we read from file:
  shoeTex->setImage(shoeImg.get());

  // Create a new StateSet with default settings:
  dtCore::RefPtr stateOne = new osg::StateSet();

  stateOne->setMode( GL_BLEND, osg::StateAttribute::ON );

  // Assign texture unit 0 of our new StateSet to the texture
  // enable the texture.
  stateOne->setTextureAttributeAndModes(0, shoeTex.get(), 
osg::StateAttribute::ON);


  geode->setStateSet(stateOne.get());

thanks in advance.

_
Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
http://smartsurfer.web.de/?mc=100071&distributionid=0066

___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


[osg-users] Tga-texture without background on quad not visible in scene

2006-10-10 Thread Kerstin Reinemann
hi all,

i have a geode with a geometry-node in my scene which has attached an 
osg::PrimitiveSet::QUADS.
i put a tga-texture on that quad using a osg::stateset. if i use a tga-texture 
with a background i can see the whole quad in my scene (a square).
but then i wanted to change the texture to a texture without a background 
(alpha-blending?!) i did this but now i cant see my quad in the scene anymore 
even though i checked - it exists. what is wrong? how is it possible to put a 
texture on a quad which does has a background so i just a the actual shape of 
the content of the image not the quad shape...

here is what i did:

  // specify texture
  dtCore::RefPtr shoeTex = new osg::Texture2D;
  // protect from being optimized away as static state:
  shoeTex->setDataVariance(osg::Object::DYNAMIC);

  // load an image by reading a file:
  dtCore::RefPtr shoeImg = osgDB::readImageFile( texName );
  if (!shoeImg.get())
  {
 std::cout << " couldn't find texture, quiting." << std::endl;
  }

  // Assign the texture to the image we read from file:
  shoeTex->setImage(shoeImg.get());

  // Create a new StateSet with default settings:
  dtCore::RefPtr stateOne = new osg::StateSet();

  stateOne->setMode( GL_BLEND, osg::StateAttribute::ON );

  // Assign texture unit 0 of our new StateSet to the texture
  // enable the texture.
  stateOne->setTextureAttributeAndModes(0, shoeTex.get(), 
osg::StateAttribute::ON);

  geode->setStateSet(stateOne.get());

thanks in advance.

_
Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
http://smartsurfer.web.de/?mc=100071&distributionid=0066

___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] Semi-OT: Plugin architectures

2006-10-10 Thread Anders Backman
I actually needed something like what you are describing here, a way of linking in external libraries in runtime a while back...What we ended up with was a plugin structure for lua.Its not optimal but it works well. We have a main executable that really doesnt know much about the world, but it has a lua-state and it knows how to "load a plugin and register it to lua".
So what we can do is take for example a class:class MyApp  MyApp();  void run(); // starts my app and do whatever  void doOtherthings()  bool shutTheWholeThingDown()  ...}write a LuaPlugin class:
LuaMyApp : public LuaPlugin{  virtual void init(); // will be called during loading}Run MyApp class through tolua++ and generate interface binder code, call that from LuaPlugin::init() which registrates the MyApp class into lua.
This results in a .dll/.so luaplugin_myapp.dllSo by starting the main app:DOS> main_app myapp.lua with a lua-file that specifies:myapp.lua:--requestPlugin("myapp")
myapp = MyApp:new()
myapp = MyApp:run()So its up to the author of the LuaMainApp plugin if he want to export all of the interface to lua or just the kick-off code.main_app doesnt know anything about MyApp.
There are of course a few Singletons to enable access to a scenegraph and some other things.All this said, I would love to see a slick API/toolset that makes it possible to get COM:ish functionality, while still portable and with a small overhead mainly in use!
/AndersOn 10/10/06, Dmitry Baikov <[EMAIL PROTECTED]> wrote:
Chris Hanson wrote:>   As I mentioned above, OSG's plugin design is suitable for OSG, but> pretty much lacks many of the important criteria I'm looking for.> Think of how 3dsMax breaks plugin compatibility everytime they release
> a new version, versus Photoshop which can run plugins written in the> 3.0 era.>It all depends on the complexity of data structures that will bemanupulated and/or passed between plugins.On possible solution is to use some scripting language with good
C-interface as a glue and write all plugins as language-modules.For us Lua (http://www.lua.org) is sufficient. Many projects use Python(as being more powerful, but complex).
Dmitry.___osg-users mailing listosg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-usershttp://www.openscenegraph.org/-- 
 Anders Backman   Email:[EMAIL PROTECTED] HPC2N/VRlab  Phone:+46 (0)90-786 9936 Umea university  Cellular: +46 (0)70-392 64 67
 S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126   http://www.cs.umu.se/~andersb
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Re: [osg-users] Starfield

2006-10-10 Thread Serge Lages

On 10/10/06, Ivan Bolčina <[EMAIL PROTECTED]> wrote:

Hi. How do you suggest that I implements star field effect, like traveling
through hyperspace?

I would do this with a buntch of pixels. How to make them resolution
independent? Which classes to use?


Look at the osgspacewarp exemple, we are using it to make this effect
on our application.

--
Serge Lages
http://www.magrathea-engine.org
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Re: [osg-users] Semi-OT: Plugin architectures

2006-10-10 Thread Dmitry Baikov

Chris Hanson wrote:
  As I mentioned above, OSG's plugin design is suitable for OSG, but 
pretty much lacks many of the important criteria I'm looking for. 
Think of how 3dsMax breaks plugin compatibility everytime they release 
a new version, versus Photoshop which can run plugins written in the 
3.0 era.


It all depends on the complexity of data structures that will be 
manupulated and/or passed between plugins.
On possible solution is to use some scripting language with good 
C-interface as a glue and write all plugins as language-modules.
For us Lua (http://www.lua.org) is sufficient. Many projects use Python 
(as being more powerful, but complex).


Dmitry.

___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] OSG and clustering

2006-10-10 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Don Burns wrote:
> Thanks, Anders, I forgot about osgVR .
> 
> But to answer:
> 
> who needs clustering?
>>
> 
> Those who want more than 8 display devices. :)
> 
> -don
>

Also those who are hitting a fill-rate limit with less than 8 - remember
that PCI-E shares the bandwidth between the cards. E.g. my 16x PCI-E
drops to 8x with two cards installed, on the quad SLI machines it goes
down to 4x. That has a significant performance impact. On the old Onyx
this wasn't an issue - the interconnects between the video pipes and the
CPUs were dedicated, there was not only a single bus shared by all video
hw and the CPUs as on a PC.

Regards,

Jan

- --

Jan Ciger
GPG public key: http://www.keyserver.net/

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFFK+F3n11XseNj94gRAr8gAKDFC7fjEglm9y2LR2vEbn/2xPcixQCeOaSN
/qyvsXjeNp4GQBPw9cUdCMk=
=FNWf
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] OSG and clustering

2006-10-10 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello,

Anders Backman wrote:
> Its called osgVR
> 
> http://www.nbi.dk/~gronager/osgVR.html
> 
> Now I know that Michael hasn't updated the code for a while, but this
> should
> certainly work as a good starting point on what you want Jan.

Thanks for the pointer, it looks good. I will have a look at it - it may
be actually enough for what we need.

> I use to have the same issues when we were discussing the clustering of
> some
> of our applications.
> The problem in our apps were that the scenegraph itself was very dynamic
> both in terms of adding/removing nodes but also in change of
> transformations
> for many objects, interaction (events) etc...
> 
> So I felt a slight burden on explicitly "cluster" such an application, in
> comparison of writing one app, and just specifying where the renderingnodes
> were.

This is also my feeling. Even though the scene graph will probably not
have nodes added and removed on the fly, there will be plenty of
position updates and such. Cluster is not really an optimal architecture
for such application, but you have to work with what you have.

> OpenSG has implemented clustering on a broad level. The whole scenegraph is
> designed for parallellism. That was an early decision from them. That also
> had a large impact on the usability and the complexity of the code,
> whenever
> a part of the scene is changed it is copied and the copies has to be
> syncronized, a lot of work.

That's exactly why I would prefer to use OSG than to port your Replicant
code or osgCal to OpenSG in order to be able to do character animation
we need. I am not fancying having to deal with some heavy access
synchronization code.

> I said in the beginning we had some issues with the thought of having to do
> explicit clustering, but now with Quad DualCore, multiGPU machines, who
> needs clustering?
> 
> I told myself in the beginning of 2001, dont do clustering, just wait for
> the next generation onyx, and now they are here!
> For a small sub-fraction of the price :-)

Well, most multi-gpu machines can host at most two PCI-E cards (these
sold as SLI-ready). That means at most 4 video outputs. A CAVE still
needs 6 + a console. You could do that with the quad-sli mainboards, but
these systems are rare and hugely expensive. Not to mention cooling and
general stability issues. I think that the clusters are here to stay for
the foreseeable future.

Agreed, Onyx was by far the best solution for this - put as many pipes
in as you want (up to 8 was the limit?), 128 CPUs should be more than
enough and the geek factor is hard to beat :) Unfortunately it also blew
one's budget several times over :(( We used to pay over 75000 Swiss
franks annual maintenance for a small one - just  two pipes and 6 CPUs.
For that money you can build one hell of a cluster already.

Regards,

Jan

- --

Jan Ciger
GPG public key: http://www.keyserver.net/

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFFK+A1n11XseNj94gRAq4mAJ97S/ZprbkQiZoQE1O83Y/BecHJFgCg4P4/
4leKwOzzI71GFt2tvAaXGTw=
=7oqY
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


[osg-users] Starfield

2006-10-10 Thread Ivan Bolčina
Hi. How do you suggest that I implements star field effect, like traveling through hyperspace?
 
I would do this with a buntch of pixels. How to make them resolution independent? Which classes to use?
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Re: [osg-users] OSG and clustering

2006-10-10 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Don Burns wrote:
>> I'm afraid I cut my teeth on low level network programming and most tools
>> feel like overkill for this kind of application.
<..snip..>
> 
>> UDP (DATAGRAM) packets can send up to a configurable (and queriable) amount
>> of data per packet.  (I think the default is around 1540 bytes, or
>> something
>> like that).  In the simple case, your data can fit into one packet, which
>> can be sent every frame (about 12 double matricies, or 24 single precision
>> matrices).
>> Anyway, for me, this is such low hanging fruit that I just do the simple
>> (some times adhoc) method.   In fact, a solution could have been written in
>> about the time it takes to write this email thread.

I agree, I have no issues with writing low-level code like that (and
have done so many times) however this sort of solution has two problems:

- - It is difficult to get all the nasty corner cases right (packet
defragmentation, dropped connections, retransmits, etc.)

- - It is difficult to "sell" it to people used to big buzzwords and huge
frameworks - believe me or not - we had to build a simulator which was
passing huge chunks of XML around for hundreds of simulated humans just
to update their positions - an "enterprise" solution, indeed. You could
probably imagine the performance - 90% of time was spent parsing XML.

That's why I was asking whether there are some commonly used libraries
for this - both to ease the pain of the low-level coding and to make it
more digestible for the others involved.

>> This actually becomes a hardware video sync problem.  It really is a
>> different level of synchronization than the data sync.  I cover some of
>> that
>> in this article:
> 
>> http://www.donburns.net/OSG/Articles/Synchronization/

Nice summary, thanks for the link.

>> What I don't cover in the article is the issue of stereo.  In an active
>> stereo system, I believe the issue is one of synchronizing drawing to the
>> first buffer (left back, or right back) with data.  That is, the data need
>> only update once for every two "subframes" of stereo.

That makes sense - you push one data frame out, render two frames (left
and right) and then push (and synchronize) another data frame out.

Thanks for the information, I have to check how they are actually
driving the CAVE at the moment and then we make a decision how to
proceed with this.

Regards,

Jan



- --

Jan Ciger
GPG public key: http://www.keyserver.net/

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFFK9x3n11XseNj94gRAiaLAJ4wab4K317OGBdhQVFh2wUNdNzqkACfa/3b
hezOVTdtIEwjePCYZfIJzVg=
=dEvg
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] Semi-OT: Plugin architectures

2006-10-10 Thread Chris Hanson

Philip Taylor wrote:

   "COM/ActiveX is out for many reasons."
Why? My undertanding is that the basis of COM is a C structure, I would have
thought it met your design requirement. I have implemented a couple of
components where the structure was more a C++ rather C style structure.


  I am somewhat familiar with COM, having tried to come to grips with it before. COM 
seems unsuitable for several reasons:


  Totally Windows dependent. I've seen Mozilla's XPCOM, but it seems really complicated 
to understand and build and use outside Mozilla.
  Really requires people to be into the "COM mindset". It's not just like writing some 
simple code -- only the code can be dynamically added to an application. You really have 
to grasp COM's whole philosophy to get going with it.
  My understanding of COM is that it requires objects to register themselves with the 
Windows registry before being accessible, and I think this is an abomination. I understand 
their reasons for it, but there are reasons I don't want my app polluting the user's 
system in that fashion. I also need something that can basically run right out of the box 
as an EXE without needing installation/uninstallation.
  I'm also not trying to implement RPC and inter-endian mixing, so COM's marshalling and 
such are overkill.


  I'm thinking I may just do something myself, since I haven't found an existing solution 
the meets enough of my criteria. I'll probably adopt some of the low-level principles COM 
uses to make itself language-independent and such.



The advantage of COM is runtime linking - no need to distribute lib files -
just an include file to describe the interfaces returned by the factory
method and the actual DLL.


  I'm looking at doing something similar, with late-binding using method name strings as 
opposed to IDL files and GUIDs and such.



Alternatively look at how OSG handles its plugins.


  As I mentioned above, OSG's plugin design is suitable for OSG, but pretty much lacks 
many of the important criteria I'm looking for. Think of how 3dsMax breaks plugin 
compatibility everytime they release a new version, versus Photoshop which can run plugins 
written in the 3.0 era.


--
Chris 'Xenon' Hanson aka Eric Hammil | http://www.3DNature.com/ eric at logrus
 "I set the wheels in motion, turn up all the machines, activate the programs,
  and run behind the scenes. I set the clouds in motion, turn up light and 
sound,
  activate the window, and watch the world go 'round." -Prime Mover, Rush.
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


[osg-users] Image processing question

2006-10-10 Thread Serge Lages

Hi all,

I am looking for an image processing library to use with OSG, I've tried :
http://cimg.sourceforge.net/
But I can't manage to get good result with it (scaling an image result
on a corrupted buffer :/).
Anyone have tried it ?

Or anyone knows another good image processing library ? Which allows
me to process large buffers. For exemple I would like to scale just a
part of an image directly without copying this part into another
buffer before scaling it.

Thanks in advance !

--
Serge Lages
http://www.magrathea-engine.org
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] OSG and clustering

2006-10-10 Thread Don Burns
Thanks, Anders, I forgot about osgVR .

But to answer:

who needs clustering?


Those who want more than 8 display devices. :)

-donOn 10/10/06, Anders Backman <[EMAIL PROTECTED]> wrote:
There is actually an cluster implementation of osg, im not sure if its updated lately, but its using MPI for communication.
and I know it distributes changes in the scenegraph, such as transforms, materials transparently...

Its called osgVR

http://www.nbi.dk/~gronager/osgVR.html

Now I know that Michael hasn't updated the code for a while, but this
should certainly work as a good starting point on what you want Jan.

I use to have the same issues when we were discussing the clustering of some of our applications.
The problem in our apps were that the scenegraph itself was very
dynamic both in terms of adding/removing nodes but also in change of
transformations for many objects, interaction (events) etc...

So I felt a slight burden on explicitly "cluster" such an application,
in comparison of writing one app, and just specifying where the
renderingnodes were.

OpenSG has implemented clustering on a broad level. The whole
scenegraph is designed for parallellism. That was an early decision
from them. That also had a large impact on the usability and the
complexity of the code, whenever a part of the scene is changed it is
copied and the copies has to be syncronized, a lot of work. 

But they had particle examples running on dozens of machines with
20.000 particles all updated on one machine and reflected without any
explicit distributioncode in the app...

I said in the beginning we had some issues with the thought of having
to do explicit clustering, but now with Quad DualCore, multiGPU
machines, who needs clustering?

I told myself in the beginning of 2001, dont do clustering, just wait for the next generation onyx, and now they are here!
For a small sub-fraction of the price :-)

/Anders
On 10/10/06, Don Burns <[EMAIL PROTECTED]
> wrote:
Hi Jan,On 10/9/06, Jan Ciger <
[EMAIL PROTECTED]> wrote:

-BEGIN PGP SIGNED MESSAGE-Hash: SHA1Hello,Don Burns wrote:> The luxury we have with many graphics clusters is that we can impose a> master/slave architecture, where the slaves are simply readers.  Only the
> master writes to shared buffers, and the slaves simply receive the updates> at frame synchronization time.This is pretty much what I had in mind. The rendering slaves do not needto update the scene graph themselves, so it is a one-way affair
simplifying the synchronization process quite a bit.> I think what you've described is a simple master-writer/slave-reader> architecture.Yes, I think that would be most appropriate for this case.
> To make a humvee move, for> example, you call>>matrixTransform->setMatrix(matrix);>> where matrixTransform is the node that moves the vehicle and matrix is> where
> the data containing the vehicle's position and attitude is stored for this> frame. In this case, 'matrix' can be allocated in the cluster's shared> memory pool (shared between nodes), but matrixTransform does not need to
> be.This was what I was thinking about when I wrote about the ad-hocsolution. Is there a toolkit able to do this? (synchronize some sort ofnetwork shared memory). I guess that this is what VR Juggler does and I
could probably find some more online as well. Probably even MPI coulddo. Do you have some preferred tool to do this sort of work?

I'm afraid I cut my teeth on low level network programming and most
tools feel like overkill for this kind of application.  The
osgcluster example was written by an example I gave Robert a while back
and is very simple.  In this case, it sends nothing more than the
eyepoint.  But how much data you send is just a matter of data
size.

UDP (DATAGRAM) packets can send up to a configurable (and queriable)
amount of data per packet.  (I think the default is around 1540
bytes, or something like that).  In the simple case, your data can
fit into one packet, which can be sent every frame (about 12 double
matricies, or 24 single precision matrices).  

Anyway, for me, this is such low hanging fruit that I just do the
simple (some times adhoc) method.   In fact, a solution could
have been written in about the time it takes to write this email thread.
>  Further, a simple update callback on matrixTransform can effect an
> automatic update of the vehicle's position.  You need only , then,
> synchronize the shared buffers before calling the update traversal.Ah, neat. I didn't think about using the update callback to do this. Nice.> At the top level of the application then, running on the master, simply
> updates the position of the vehicles, etc. synchronizes the shared buffers> and the positions are updated in graphics about a frame and a half later.>What about active stereo? Wouldn't this delay cause problems? AFAIK, for
active stereo the rendering nodes have to be synchronizedframe-by-frame, otherwise the stereo falls apart at the edges of thewalls of the CAVE.

This actual

Re: [osg-users] OT : Rendering to memory with Mesa

2006-10-10 Thread Don Burns
THanks, JP, I'll look into this.

-donOn 10/9/06, J.P. Delport <[EMAIL PROTECTED]> wrote:
Hi,we're using an OSMesa32 (Offscreen Mesa with a floating point framebuffer in host memory) context coupled to SceneView. All rendering isdone in software and can be debugged/looked at with gdb.regards
jpDon Burns wrote:> Has anyone had experience doing a fully software based renderer using> Mesa or other, even OpenGLSI?>> I'm currently doing something interesting with Pbuffers, but the future
> of pbuffers is tenuous and still requires some crowbaring to get things> to work with an Xserver in login mode.  A memory based frame buffer> would be a good alternative.>> -don>
>> >> ___> osg-users mailing list> 
osg-users@openscenegraph.net> http://openscenegraph.net/mailman/listinfo/osg-users> http://www.openscenegraph.org/
--This message is subject to the CSIR's copyright, terms and conditions ande-mail legal notice. Views expressed herein do not necessarily represent theviews of the CSIR.CSIR E-mail Legal Notice
http://mail.csir.co.za/CSIR_eMail_Legal_Notice.htmlCSIR Copyright, Terms and Conditions
http://mail.csir.co.za/CSIR_Copyright.htmlFor electronic copies of the CSIR Copyright, Terms and Conditions and the CSIRLegal Notice send a blank message with REQUEST LEGAL in the subject line to
[EMAIL PROTECTED].This message has been scanned for viruses and dangerous content by MailScanner,and is believed to be clean.  MailScanner thanks Transtec Computers for their support.___
osg-users mailing listosg-users@openscenegraph.nethttp://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Re: [osg-users] OSG and clustering

2006-10-10 Thread Fábio Mierlo

On 10/10/06, Anders Backman <[EMAIL PROTECTED]> wrote:


 I said in the beginning we had some issues with the thought of having to do
explicit clustering, but now with Quad DualCore, multiGPU machines, who
needs clustering?



Who doesn't have it? ;-)
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


RE: [osg-users] Plumbing problems...

2006-10-10 Thread Williams, Blake
The false reporting of memory leaks is a known issue with the Visual
Studio debugging environment, and has been discussed on this list many
times, as new OSG users discover the error messages.  From a previous
post pulled randomly from the OSG list archive:

>RE: [osg-news] Large numbers of memory leaks and huge STL overhead
>
>* This message: [ Message body ] [ More options ]
>* Related messages: [ Next message ] [ Previous message ] [ Next in
thread ] [ Replies ]
>
>From: S S E L 
>Date: Mon Jun 30 2003 - 00:54:10 PDT
>
>If you trace through the final moments of execution of an OSG program,
>you'll discover that the VC++ memory logging occurs prior to any dlls
being
>unloaded. Objects that are declared static within a dll are destroyed
when
>the dll is unloaded. However, since this unloading occurs after the
memory
>check, then objects that have been declared static appear not to be
deleted.
>For example the osgDB::registry can appear to leak memory in a number
of
>places. However, if you place a breakpoint in the registry destructor
it
>does get called and memory allocated is indeed freed as you can readily
>trace through the deletion of all of its members.
>
>Joseph Steel

So, don't worry about them.  The OSG libraries are about as clean as you
will find anywhere.


Blake Williams
DRS TCS, Inc
651 Anchors Street
Fort Walton Beach, FL 32548
(850) 302-3281Fax: (850) 302-3968

Notice: This is an unofficial communication and is not binding on DRS
TCS, Inc.
The only authorized representative of DRS TCS, Inc is the Contracts
Department.
This communication may contain privileged or other DRS TCS, Inc
proprietary
information. If you are not intended recipient or believe that you have
received this communication in error, please reply to the sender
indicating
that fact and delete the copy you received. In addition, you should not
print,
retransmit, disseminate, or otherwise use the information. THANK YOU

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Tuesday, October 10, 2006 6:07 AM
To: osg-users@openscenegraph.net
Subject: [osg-users] Plumbing problems...

Hi Thibault,

Thanks for the response, but I confess to being still a little confused.
I have debug builds of my ActiveX control, and Debug builds of the OSG
libraries. I know the allocation number of a memory block that is
leaking, but this is within the OSG world. Do I therefore have to put
the CRTAllocbreak (?) command in the OSG libraries ?

I suppose I could go to this extreme, however I suppose what I'm looking
for is a more general overview of how OSG shuts down. The OSG libraries
define a lot of constant strings, and these are certainly being leaked
when I'm shutting down my ActiveX control. It also looks as if the
Cameras are hanging around too. Evidently I'm OSG is not shutting down
properly, and I suppose I was looking for pointers as to how this might
be occuring.

I'm setting my viewer to NULL after syncing, and the control is being
deleted, yet its almost as if the OSG reference structures aren't having
their count decremented and then being destroyed. 

Help!

Neil.

___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


[osg-users] Plumbing problems...

2006-10-10 Thread neil.hughes
Hi Thibault,

Thanks for the response, but I confess to being still a little confused. I have 
debug builds of my ActiveX control, and Debug builds of the OSG libraries. I 
know the allocation number of a memory block that is leaking, but this is 
within the OSG world. Do I therefore have to put the CRTAllocbreak (?) command 
in the OSG libraries ?

I suppose I could go to this extreme, however I suppose what I'm looking for is 
a more general overview of how OSG shuts down. The OSG libraries define a lot 
of constant strings, and these are certainly being leaked when I'm shutting 
down my ActiveX control. It also looks as if the Cameras are hanging around 
too. Evidently I'm OSG is not shutting down properly, and I suppose I was 
looking for pointers as to how this might be occuring.

I'm setting my viewer to NULL after syncing, and the control is being deleted, 
yet its almost as if the OSG reference structures aren't having their count 
decremented and then being destroyed. 

Help!

Neil.

___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] OSG crash when calling getEnv() caused by OpenThreads bug in Win32 implementation?

2006-10-10 Thread Thibault Genessay
HiOn 10/10/06, Kallfass, Daniel, SDGE1 <[EMAIL PROTECTED]> wrote:
Hello,due to crashes that occur in OSG calling the getEnv() c-function inour multithreaded application, I tried to figure out what could bewrong.I noticed that the OpenThreads implementation for Win32 is using the
Windows API function "CreateThread". But this function must not be usedin conjunction with the c-runtime. The function "_beginthreadex" shouldbe used instead.
http://msdn.microsoft.com/library/default.asp?url="">html/_core_Library_Support_for_Multithreading.asphttp://www.microsoft.com/msj/0799/win32/win320799.aspx
After carefully reading both articles, I still have some interrogations: does not the issue of using CreateThread instead of _createthreadex only  applies when linking against LIBCMT ? The OSG/OP/OT is using MSVCRT (aka "Multithreaded runtime DLL" in Visual Studio) so the second point of the second paragraph of the second article (following me ?:) could apply ... which could be summarized as "use CreateThread". This is what  (
i.e. the current OT) I've been doing for years without a hitch; but as I very rarely call the c-runtime, I might have simply never encountered your situation.But:- "In Redmond, do as Microsoft do" used to say my grandma
- http://www.microsoft.com/msj/1099/win32/win321099.aspx insists on _beginthreadex being more robustSo I think you are right: we should switch to _beginthreadex and _endthreadex because even if it does not solve your bug, it is a cleaner practice. Snip:
"There is absolutely no disadvantage to calling _beginthreadex, and your code is 
much safer. Besides, there are several advantages: compile-time checking if you 
link to an improper C runtime library; guaranteed freeing of the _tiddata block 
regardless of whether you're creating an EXE or a DLL and regardless of which 
multithreaded C runtime library you're using; signal support; and floating point 
exception support"Thibault
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

[osg-users] OSG crash when calling getEnv() caused by OpenThreads bug in Win32 implementation?

2006-10-10 Thread Kallfass, Daniel, SDGE1
Hello,

due to crashes that occur in OSG calling the getEnv() c-function in
our multithreaded application, I tried to figure out what could be
wrong.

I noticed that the OpenThreads implementation for Win32 is using the
Windows API function "CreateThread". But this function must not be used
in conjunction with the c-runtime. The function "_beginthreadex" should
be used instead.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/
html/_core_Library_Support_for_Multithreading.asp

http://www.microsoft.com/msj/0799/win32/win320799.aspx


This might explain the crash I had with OSG calling getEnv().
I haven't tried the fix yet, because I first wanted to ask the OSG
community, if someone had similar problems with OSG and the c-runtime
under windows.

Thanks!

Daniel Kallfass





___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] OSG and clustering

2006-10-10 Thread Anders Backman
There is actually an cluster implementation of osg, im not sure if its updated lately, but its using MPI for communication.
and I know it distributes changes in the scenegraph, such as transforms, materials transparently...

Its called osgVR

http://www.nbi.dk/~gronager/osgVR.html

Now I know that Michael hasn't updated the code for a while, but this
should certainly work as a good starting point on what you want Jan.

I use to have the same issues when we were discussing the clustering of some of our applications.
The problem in our apps were that the scenegraph itself was very
dynamic both in terms of adding/removing nodes but also in change of
transformations for many objects, interaction (events) etc...

So I felt a slight burden on explicitly "cluster" such an application,
in comparison of writing one app, and just specifying where the
renderingnodes were.

OpenSG has implemented clustering on a broad level. The whole
scenegraph is designed for parallellism. That was an early decision
from them. That also had a large impact on the usability and the
complexity of the code, whenever a part of the scene is changed it is
copied and the copies has to be syncronized, a lot of work. 

But they had particle examples running on dozens of machines with
20.000 particles all updated on one machine and reflected without any
explicit distributioncode in the app...

I said in the beginning we had some issues with the thought of having
to do explicit clustering, but now with Quad DualCore, multiGPU
machines, who needs clustering?

I told myself in the beginning of 2001, dont do clustering, just wait for the next generation onyx, and now they are here!
For a small sub-fraction of the price :-)

/Anders
On 10/10/06, Don Burns <[EMAIL PROTECTED]> wrote:
Hi Jan,On 10/9/06, Jan Ciger <
[EMAIL PROTECTED]> wrote:

-BEGIN PGP SIGNED MESSAGE-Hash: SHA1Hello,Don Burns wrote:> The luxury we have with many graphics clusters is that we can impose a> master/slave architecture, where the slaves are simply readers.  Only the
> master writes to shared buffers, and the slaves simply receive the updates> at frame synchronization time.This is pretty much what I had in mind. The rendering slaves do not needto update the scene graph themselves, so it is a one-way affair
simplifying the synchronization process quite a bit.> I think what you've described is a simple master-writer/slave-reader> architecture.Yes, I think that would be most appropriate for this case.
> To make a humvee move, for> example, you call>>matrixTransform->setMatrix(matrix);>> where matrixTransform is the node that moves the vehicle and matrix is> where
> the data containing the vehicle's position and attitude is stored for this> frame. In this case, 'matrix' can be allocated in the cluster's shared> memory pool (shared between nodes), but matrixTransform does not need to
> be.This was what I was thinking about when I wrote about the ad-hocsolution. Is there a toolkit able to do this? (synchronize some sort ofnetwork shared memory). I guess that this is what VR Juggler does and I
could probably find some more online as well. Probably even MPI coulddo. Do you have some preferred tool to do this sort of work?

I'm afraid I cut my teeth on low level network programming and most
tools feel like overkill for this kind of application.  The
osgcluster example was written by an example I gave Robert a while back
and is very simple.  In this case, it sends nothing more than the
eyepoint.  But how much data you send is just a matter of data
size.

UDP (DATAGRAM) packets can send up to a configurable (and queriable)
amount of data per packet.  (I think the default is around 1540
bytes, or something like that).  In the simple case, your data can
fit into one packet, which can be sent every frame (about 12 double
matricies, or 24 single precision matrices).  

Anyway, for me, this is such low hanging fruit that I just do the
simple (some times adhoc) method.   In fact, a solution could
have been written in about the time it takes to write this email thread.
>  Further, a simple update callback on matrixTransform can effect an
> automatic update of the vehicle's position.  You need only , then,
> synchronize the shared buffers before calling the update traversal.Ah, neat. I didn't think about using the update callback to do this. Nice.> At the top level of the application then, running on the master, simply
> updates the position of the vehicles, etc. synchronizes the shared buffers> and the positions are updated in graphics about a frame and a half later.>What about active stereo? Wouldn't this delay cause problems? AFAIK, for
active stereo the rendering nodes have to be synchronizedframe-by-frame, otherwise the stereo falls apart at the edges of thewalls of the CAVE.

This actually becomes a hardware video sync problem.  It really is
a different level of synchronization than the data sync.  I cover
some of that in this article:

http://www.donburns.net/OSG/Article