Re: [osg-users] transparency becomes dark

2008-07-26 Thread Ulrich Hertlein

Hi Dieter,

Dieter Pfeffer wrote:

I am trying to set the object transparency from 1.0 - 0.0 and vice versa;
but when I start changing the alpha of the material the object becomes 
dark.
 
I have changed the material parameters but without success; when I look 
in the loaded model (for example cow.osg) for material, the material is 
always null.
 
I have modified the osgviewer example and attached it.
 
Could s.o. give me a hint what I am doing wrong ?


You're creating a new Material that overrides the material of the node you're 
fading.  However, you're not setting the Material properties (ambient, diffuse, 
specular, emissive, shininess) and the default values for Material are unlikely 
to match that of the node you're trying to blend.  Hence when you override the 
original material it will switch from the original settings to the default Material.


For an experiment, have a look at any .osg file and look at the material 
properties.  Then set those values on the 'blendMaterial' node you're creating 
and it should look smooth.


You're probably better off modifying the original Material(s) of the node 
hierarchy.  Or try another approach, like using blendcolor.


Cheers,
/ulrich

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] computeIntersections works very strange

2008-07-26 Thread GMD GammerMaxyandex.ru
Hi, Robert.
Described problem appears randomly. It doesn’t appear in planes and in other 
objects it happens randomly, but in constant places. I mean if cursor falls 
near one point of object (hlist is empty) it will falls there again and again. 
It looks like objects have some defined holes (place I can't describe in 
details). I tried use the same scene with OSG 2.5.2 and had no problems about 
described ‘holes’.

I can’t define reason of such behavior of LineSegmentIntersector yet, but I 
suppose that the problem is very serious and it would be good if you can repair 
it.

Best regards, Max.

26.07.08, 00:02, Robert Osfield [EMAIL PROTECTED]:

 Hi Max,
 This suggests that the changes I made to
 osgUtil::LineSegmentIntersector to improve precision are introducing
 problems is some corner cases.
 Could you provide the data that causes these problems?
 Robert.
 On Fri, Jul 25, 2008 at 8:20 PM, GMD GammerMaxyandex.ru
 [EMAIL PROTECTED] wrote:
  Hello. I have question about OSG v 2.5.5. In this version of OSG function 
  viewer-computeIntersections(x,y, hlist) works very strange - when cursor 
  movements over object is short it(cursor) falls throught the object and 
  function returns name of object which is behind current(object over which 
  cursor is). In earlyer(less 2.5.2) versions of OSG this error has never 
  appeared. How can I solve this problem in this(2.5.5) version of OSG?
  Best regards, Max.
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

-- 
Яндекс.Открытки на все случаи жизни http://cards.yandex.ru/
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] osg::Image::update?

2008-07-26 Thread Robert Osfield
Hi Hartmut,

On Sat, Jul 26, 2008 at 2:02 AM, Hartmut Seichter
[EMAIL PROTECTED] wrote:
 Well, osgART has a number of PlugIns implementing their own
 osgART::VideoImageStream which implements update slightly
 different. But I am happy to quickly change things over as we are targeting
 the latest OSG

For 2.6 all original ImageStream implementation - the ones in the
Quicktime and Xine plugins are all exactly the same as before, and
function in exactly the same way.  osgArt::VideoImageStream should be
no different - all existing mechanisms will work.

The new Image::update(..) method is only called if you attach an
update callback to the texture, this is something that is now done
automatically for osg::ImageSequence images being assigned to
textures, but not for any other Image types.  You could add this is
you so wished.

 Are there any plans to differentiate between open() and play() ... this was
 the main reason for us  to have osgART::VideoImageStream as we need to know
 in osgART which dimensions and colorspace the imagestream supports

I haven't made any other plans for ImageStream.  ImageSequence is just
a subclass of it at present.  The osgDB::ImagePager is a companion to
it, which could expand in its role - for instance it could potentially
drive the various ImageStream classes, so rather than have their own
threads, they'd use the ImagePager's ImageThreads to drive them.  This
would help when handling many video streams at one time, and also
improve the handling of thread cancellation on exit.

Robert.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] How to read out the coordinate info from model files

2008-07-26 Thread Robert Osfield
Hi Fangqin,

There is no extra coordinate stored in the scene graph when loading
from 3ds files.

Robert.

On Sat, Jul 26, 2008 at 5:31 AM, TANG Fangqin [EMAIL PROTECTED] wrote:
 Hi all,

 I'm trying to import some 3ds models (using osgDB::readNodeFile) into an osg
 programme.
 Now the problem is that:
 Is there any way that we can read the coordinate information out from the
 models since 3ds models have saved the position (the model center)
 coordinate information themselves?
 Is there any API in osg::Node class which we can call to get such
 information?

 I hope I make my question clear.
 Thanks for your advices in advance.

 With best regards,
 Fangqin

 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] computeIntersections works very strange

2008-07-26 Thread Robert Osfield
Hi Max,

I'm just heading off for a week, so while it would be good that I
could repair, there is absolutely no chance that I will.  Yourself and
others will have to look into this issue.

You'll need to try and help pin down the failure more than just
randomly as this won't help others recreate and solve the problem,
once others can recreate the problem then they have a chance of
fixing, until then its just pot luck.

Robert.

On Sat, Jul 26, 2008 at 9:02 AM, GMD GammerMaxyandex.ru
[EMAIL PROTECTED] wrote:
 Hi, Robert.
 Described problem appears randomly. It doesn't appear in planes and in other 
 objects it happens randomly, but in constant places. I mean if cursor falls 
 near one point of object (hlist is empty) it will falls there again and 
 again. It looks like objects have some defined holes (place I can't describe 
 in details). I tried use the same scene with OSG 2.5.2 and had no problems 
 about described 'holes'.

 I can't define reason of such behavior of LineSegmentIntersector yet, but I 
 suppose that the problem is very serious and it would be good if you can 
 repair it.

 Best regards, Max.

 26.07.08, 00:02, Robert Osfield [EMAIL PROTECTED]:

 Hi Max,
 This suggests that the changes I made to
 osgUtil::LineSegmentIntersector to improve precision are introducing
 problems is some corner cases.
 Could you provide the data that causes these problems?
 Robert.
 On Fri, Jul 25, 2008 at 8:20 PM, GMD GammerMaxyandex.ru
 [EMAIL PROTECTED] wrote:
  Hello. I have question about OSG v 2.5.5. In this version of OSG function 
  viewer-computeIntersections(x,y, hlist) works very strange - when cursor 
  movements over object is short it(cursor) falls throught the object and 
  function returns name of object which is behind current(object over which 
  cursor is). In earlyer(less 2.5.2) versions of OSG this error has never 
  appeared. How can I solve this problem in this(2.5.5) version of OSG?
  Best regards, Max.
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

 --
 Яндекс.Открытки на все случаи жизни http://cards.yandex.ru/
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] So long, farwell and thanks for all the fish

2008-07-26 Thread Robert Osfield
Hi All,

I'm just heading out on my family holiday, to go explore the wild life
in the Highlands of Scotland.

I'll be home on the Sunday next weekend, and might even briefly pop in
to catch up w' you all.

Good luck with testing, fixing and generally being great fellows :-)

Robert.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Compile error on Solaris10/SunStudio11

2008-07-26 Thread Martin Spott
Robert Osfield wrote:

 The missing return was fixed yesterday.  Today the function is now
 moved in to the osgDB, but this shouldn't effect the build.

Ok, compiles nicely now, I'll try to follow the -rc packages,

Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] ref_ptr, ptr and leaking question (quite simple)

2008-07-26 Thread Ariasgore

Hello,
I have some novoice question about the use of pointers as short-time 
reference. As in the tutorial book described all objects deriving from 
osg::Referenced should be used with ref_ptr for proper use.
But even in the book and in some tutorials there are many uses of the plain 
c++ pointer without the reference use of ref_ptr.
There is where I have one question, if I develop in VisualStudio for 
instance and write some code like:


osg::Geode * g = new osg::Geode;
...
viewer.setSceneData(g);

Doesn't I have a ref count of 2 for g? Whild would result in a leak since I 
never delete the g pointer manually?


If this above is true and the programm is running as a childprocess of my 
IDE (since I have debugging and stacktracing and so on), don't I create some 
leaking beyond the lifetime of the programm? I am not quite sure if the 
memory is cleaned after finishing the programm or the whole IDE.


Thanks
Sam 


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] ref_ptr, ptr and leaking question (quite simple)

2008-07-26 Thread Maciej Krol
Hi Sam,

Constructor of osg::Geode does not increment ref count, since objects can be
allocated either on heap or stack.
The osg::ref_ptr manages ref count of object. Ref count is incremented in
constructor or assignment operator of ref_ptr and decremented in its
desctructor.

osg::Geode *g = new osg::Geode; // refCount = 0, object constructor does not
increment refCount
viewer.setSceneData(g) // refCount = 1, scene data is a osg::ref_ptr

Object ref count is managed starting from first osg::ref_ptr assignment.
Your code is OK until You are sure that the osg::Geode *g will be assigned
to osg::ref_ptr. Better solution is to manage Your objects as soon as
possible.

osg::ref_ptrosg::Geode g = new osg::Geode; // refCount = 1
viewer.setSceneData(g.get()); // refCount = 2

Keep track of osg::ref_ptr scoping. For example in factory functions ref_ptr
can destroy object.

osg::Geode *createGeode(...)
{
osg::ref_ptrosg::Geode g = new osg::Geode; // refCount = 1
...
return g.get()
// refCount = 0 g is destroyed
}

The solution is to avoid ref_ptr in this function or return ref_ptr instead.

osg::ref_ptrosg::Geode createGeode(...)
{
   osg::ref_ptrosg::Geode g = new osg::Geode; // refCount = 1
...
return g;
// refCount = 2 g is assigned to result ref_ptr
// refCount = 1 g is destroyed
}

Regards,
Maciej Krol

2008/7/26 Ariasgore [EMAIL PROTECTED]

 Hello,
 I have some novoice question about the use of pointers as short-time
 reference. As in the tutorial book described all objects deriving from
 osg::Referenced should be used with ref_ptr for proper use.
 But even in the book and in some tutorials there are many uses of the plain
 c++ pointer without the reference use of ref_ptr.
 There is where I have one question, if I develop in VisualStudio for
 instance and write some code like:

 osg::Geode * g = new osg::Geode;
 ...
 viewer.setSceneData(g);

 Doesn't I have a ref count of 2 for g? Whild would result in a leak since I
 never delete the g pointer manually?

 If this above is true and the programm is running as a childprocess of my
 IDE (since I have debugging and stacktracing and so on), don't I create some
 leaking beyond the lifetime of the programm? I am not quite sure if the
 memory is cleaned after finishing the programm or the whole IDE.

 Thanks
 Sam
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] How to read out the coordinate info from model files

2008-07-26 Thread Gordon Tomlinson
As Robert says there are no stored coordinates

You could write a node visitor to traverse the tree of node of your 3ds
model once it has loaded and walk thru all the bounding boxes to calculate a
center for the 3d model. But his would be the center of the geometry, and
not necessarily what he modeler considered the origin center of the model

__
Gordon Tomlinson 
www.vis-sim.com 
www.gordontomlinson.com 
__

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Robert
Osfield
Sent: Saturday, July 26, 2008 4:13 AM
To: OpenSceneGraph Users
Subject: Re: [osg-users] How to read out the coordinate info from model
files

Hi Fangqin,

There is no extra coordinate stored in the scene graph when loading
from 3ds files.

Robert.

On Sat, Jul 26, 2008 at 5:31 AM, TANG Fangqin [EMAIL PROTECTED] wrote:
 Hi all,

 I'm trying to import some 3ds models (using osgDB::readNodeFile) into an
osg
 programme.
 Now the problem is that:
 Is there any way that we can read the coordinate information out from the
 models since 3ds models have saved the position (the model center)
 coordinate information themselves?
 Is there any API in osg::Node class which we can call to get such
 information?

 I hope I make my question clear.
 Thanks for your advices in advance.

 With best regards,
 Fangqin

 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] setViewMatrixAsLookAt where is center?

2008-07-26 Thread Ariasgore

Hello,
I was trying to use the setViewMatrixAsLookAt matrix like I would use 
gluLookAt (since they are similar), my intention is to create a rotation 
around a point. So first I selected the eye position which should be 
(0,-25,25)  and wanted to point the camera towards (0,0,0) where my object 
is placed, so basically the code looks like this:


viewer.getCamera()-setViewMatrixAsLookAt(osg::Vec3(0,-25,25), 
osg::Vec3(0,0,0), osg::Vec3(0,1,0) );


but rendering this scene creates some confusing perspective, the position of 
the camera seems right but even if I am looking at (0,0,0) the object I am 
looking at is at the top of the screen and not centered, as I supposed.
While placing the object at scene's origin, shouldn't this setup center this 
object since I am looking at (0,0,0) ?


Greetings


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] ref_ptr, ptr and leaking question (quite simple)

2008-07-26 Thread Gordon Tomlinson
Hi

No leak, the reference count is Zero after you create the instance 

The count is only incremented when you add the instance to a parent

So in your example below the count will be 1 after viewer.setSceneData(g)
...



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ariasgore
Sent: Saturday, July 26, 2008 5:23 AM
To: OpenSceneGraph Users
Subject: [osg-users] ref_ptr, ptr and leaking question (quite simple)

Hello,
I have some novoice question about the use of pointers as short-time
reference. As in the tutorial book described all objects deriving from
osg::Referenced should be used with ref_ptr for proper use.
But even in the book and in some tutorials there are many uses of the plain 
c++ pointer without the reference use of ref_ptr.
There is where I have one question, if I develop in VisualStudio for
instance and write some code like:

osg::Geode * g = new osg::Geode;
...
viewer.setSceneData(g);

Doesn't I have a ref count of 2 for g? Whild would result in a leak since I
never delete the g pointer manually?

If this above is true and the programm is running as a childprocess of my
IDE (since I have debugging and stacktracing and so on), don't I create some
leaking beyond the lifetime of the programm? I am not quite sure if the
memory is cleaned after finishing the programm or the whole IDE.

Thanks
Sam 

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] setViewMatrixAsLookAt where is center?

2008-07-26 Thread Peter Wraae Marino
Hi Ariasgore,

are you sure you want a up vector 0,1,0 ? osg uses z up 0,0,1
but of course if you have changed the coordinate system then it's ok.

my two cents,
Peter
http://osghelp.com




On Sat, Jul 26, 2008 at 5:04 PM, Ariasgore [EMAIL PROTECTED] wrote:

 Hello,
 I was trying to use the setViewMatrixAsLookAt matrix like I would use
 gluLookAt (since they are similar), my intention is to create a rotation
 around a point. So first I selected the eye position which should be
 (0,-25,25)  and wanted to point the camera towards (0,0,0) where my object
 is placed, so basically the code looks like this:

 viewer.getCamera()-setViewMatrixAsLookAt(osg::Vec3(0,-25,25),
 osg::Vec3(0,0,0), osg::Vec3(0,1,0) );

 but rendering this scene creates some confusing perspective, the position
 of the camera seems right but even if I am looking at (0,0,0) the object I
 am looking at is at the top of the screen and not centered, as I supposed.
 While placing the object at scene's origin, shouldn't this setup center
 this object since I am looking at (0,0,0) ?

 Greetings


 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




-- 
Regards,
Peter Wraae Marino

www.osghelp.com - OpenSceneGraph support site
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Recognizing currently seen polygons / vertices?

2008-07-26 Thread Ariasgore

Hello,

I am trying to render a scene and then recognize all currently seen polygons 
(or even vertices) of a loaded model. I require not only the node precision 
but polygons or better vertices.
Basically I believe (but do not know) that I need to get hold of the 
z-buffer after a successfull depth test for a frame and extract the vertices 
out of it but I don't know how.


thanks 


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] locking 3d text in front of camera

2008-07-26 Thread Joe Lyga
Hi osg-users.  I'm kind of new to openscenegraph and 3d programming, and I'm
having a problem.  I'm trying to position a 3d text object to be in a fixed
position directly in front of the camera, so it's always in the same
position in the lower left corner of the screen.  It would be much easier to
do this as a 2d overlay, but in this case it needs to be 3d.  I have the
camera's view matrix to work with, and I can get the eye, look, and up
vectors from that to position the text.  I have a feeling that I have to do
some vector math here, but I haven't been able to find anything that helps
yet.  Does anyone have any ideas?
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Optimizer options oddity

2008-07-26 Thread Glenn Waldron
I noticed that two of the OptimizerOptions values, COPY_SHARED_NODES and
FLATTEN_STATIC_TRANSFORMS_DUPLICATING_SHARED_SUBGRAPHS, have the same enum
value (0x100). Is this intentional? This is in 2.6 RC1.

Glenn

-- 
Glenn Waldron : Pelican Mapping : http://pelicanmapping.com :
+1.703.652.4791
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] locking 3d text in front of camera

2008-07-26 Thread Gordon Tomlinson
Look around the osgHud  examples and search mail archive for  previous post 

 

it may help you get what you want

 

__
Gordon Tomlinson 

Email   : [EMAIL PROTECTED]
YIM/AIM : gordon3dBrit
MSN IM  : [EMAIL PROTECTED]
Website : www.vis-sim.com www.gordontomlinson.com 

__

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Joe Lyga
Sent: Saturday, July 26, 2008 8:06 PM
To: osg-users@lists.openscenegraph.org
Subject: [osg-users] locking 3d text in front of camera

 

Hi osg-users.  I'm kind of new to openscenegraph and 3d programming, and I'm
having a problem.  I'm trying to position a 3d text object to be in a fixed
position directly in front of the camera, so it's always in the same
position in the lower left corner of the screen.  It would be much easier to
do this as a 2d overlay, but in this case it needs to be 3d.  I have the
camera's view matrix to work with, and I can get the eye, look, and up
vectors from that to position the text.  I have a feeling that I have to do
some vector math here, but I haven't been able to find anything that helps
yet.  Does anyone have any ideas? 

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [osg-submissions] Matrixf multiply Optimization

2008-07-26 Thread Gordon Tomlinson

Can you not use an alignment #pragma around the struct to force alignment
size ?


#pragma pack( push, 16 )

 union
 {
struct
{
__m128 _R0,_R1,_R2,_R3;
};
value_type _mat[4][4];
 }

#pragma pack( pop )


__
Gordon Tomlinson 
__


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of James
Killian
Sent: Saturday, July 26, 2008 7:23 PM
To: OpenSceneGraph Submissions
Subject: Re: [osg-submissions] Matrixf multiply Optimization


That is cool if that is all that needs to be fixed... I'll make a generic 
version of F32vec4, and include it next submission to see if it can build on

other platforms.

James Killian
- Original Message - 
From: David Guthrie [EMAIL PROTECTED]
To: OpenSceneGraph Submissions [EMAIL PROTECTED]
Sent: Friday, July 25, 2008 9:07 PM
Subject: Re: [osg-submissions] Matrixf multiply Optimization


I looked at the code, and it should work cross platform, at least for 
intel CPU's.  the fvec.h header doesn't seem to exist, but from what I  can

tell, it doesn't have an magic in it.  The few types you used may  be easy 
to just replace.  They seemed just to be unions, anyway.

 David

 On Jul 25, 2008, at 5:49 PM, James Killian wrote:


 It is good to hold off as this is still work in progress.  In the  mean 
 time
 what would be cool is for others to code review the work I've  checked in
 thus far.  If I recall the FFmpeg community has found a way to use
 intrinsics in a way that is platform independent, once I get the win32
 version polished I may research that.

 For anyone interested the C version of the matrix multiply uses 64
 multiplies and adds, while the SSE version uses only 16 of each.

 In regards to going in and out of SSE I tried this:
 union
 {
struct
{
__m128 _R0,_R1,_R2,_R3;
};
value_type _mat[4][4];
 }

 And this works as it forces the array to be 16 byte aligned 
 implicitly...
 unfortunately I ran into problems where some code was using the  matrix 
 in a
 vector would throw compiler errors saying it can't align it.  (I may 
 revisit
 that case and see why that is)


 What I am hoping will happen is that this new code will work out,  and we

 can
 gradually transition some of the most used pieces to take advantage  of 
 the
 instruction set. (platform independent of course).



 - Original Message -
 From: Robert Osfield [EMAIL PROTECTED]
 To: OpenSceneGraph Submissions 
 [EMAIL PROTECTED]
 
 Sent: Friday, July 25, 2008 3:09 PM
 Subject: Re: [osg-submissions] Matrixf multiply Optimization


 Hi James,

 I will put this submission on hold till after 2.6 as we now at  feature
 freeze.

 W.r.t SSE optimizations, in the past I have consider the possibility,
 but haven't taken the step - there's always been bigger bottlenecks  to
 address.  One concern I have is the cost of going in and out of SEE
 mode.  I suspect the most efficient way to do it would be to provide
 array operators.

 It think these type of optimizations would be worth raising on the
 mailing lists as there is lot of knowledge out there and whole range
 of topics.

 Robert.

 On Fri, Jul 25, 2008 at 8:55 PM, James Killian
 [EMAIL PROTECTED] wrote:

 Attached is the 3 matrix cpp files that are merged with 8686.  For
 non-win32
 platforms there is no change, for win32 platforms I've added SSE
 optimization for Matrix::mult  premult and postmult.  This  currently 
 is
 the
 first draft which will yield about 35-40% improvement over matrixf  or
 matrixd.  I may pursue alignment strategies which have yielded 50%
 improvement (this is yet to come).   I also may want to look to 
 improve
 premult.

 Our game uses approximately 25% of all processing to these functions
 (the
 KBDtree optimization is enabled), so if anyone else is doing the  same
 kind
 of stresses hopefully you should see improvement as well.

 There may be a way to enable intrinsic code across all platforms.  if 
 so
 we
 may want to pursue that.
 You should be able to drop these files right in and build. (Win32 
 users
 be
 sure to use matrix float in the cmake configuration).
 I did not try to optimize Matrixd I don't think intrinsics can offer
 much
 improvement for it (yet). so it has not changed.

 ___
 osg-submissions mailing list
 [EMAIL PROTECTED]


http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.
org


 ___
 osg-submissions mailing list
 [EMAIL PROTECTED]


http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.
org


 ___
 osg-submissions mailing list
 [EMAIL PROTECTED]

http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.
org

 ___
 osg-submissions mailing list
 [EMAIL PROTECTED]


Re: [osg-users] osg::Image::update?

2008-07-26 Thread Hartmut Seichter

Robert Osfield wrote:

Hi Hartmut,

On Sat, Jul 26, 2008 at 2:02 AM, Hartmut Seichter
[EMAIL PROTECTED] wrote:
  

Well, osgART has a number of PlugIns implementing their own
osgART::VideoImageStream which implements update slightly
different. But I am happy to quickly change things over as we are targeting
the latest OSG



For 2.6 all original ImageStream implementation - the ones in the
Quicktime and Xine plugins are all exactly the same as before, and
function in exactly the same way.  osgArt::VideoImageStream should be
no different - all existing mechanisms will work.

The new Image::update(..) method is only called if you attach an
update callback to the texture, this is something that is now done
automatically for osg::ImageSequence images being assigned to
textures, but not for any other Image types.  You could add this is
you so wished.

  
That was exactly what we did with osgART ... we attached a 
osgART::ImageUpdateCallback in order to trigger the update. I think I 
will dive more into ImageStream and ImageSequence to see if we can get 
rid of our (osgART) additional implementation.



Are there any plans to differentiate between open() and play() ... this was
the main reason for us  to have osgART::VideoImageStream as we need to know
in osgART which dimensions and colorspace the imagestream supports



I haven't made any other plans for ImageStream.  ImageSequence is just
a subclass of it at present.  The osgDB::ImagePager is a companion to
it, which could expand in its role - for instance it could potentially
drive the various ImageStream classes, so rather than have their own
threads, they'd use the ImagePager's ImageThreads to drive them.  This
would help when handling many video streams at one time, and also
improve the handling of thread cancellation on exit.

  


Yes, that is one area where we have some additional logic in VideoStream 
to deal with threading issues like locking, or double buffering. As I 
said before I need to take a deeper look ImageSequence and the 
ImagePager which might solve a lot of problems for us already.



Cheers,
Hartmut


Robert.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
  



--
Hartmut Seichter, PhD (HKU), Dipl-Ing.(BUW), Postdoctoral Fellow, HITLabNZ

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org