[osg-users] Are there any plans for GPGPU utiliziation in OSG?

2008-09-17 Thread Judie Stanley
Hi,

Are there any plans for utilizing General Purpose GPU for matrix operations?
At SIGGRAPH 2008, there was a lot of discussion about utilizing the GPU this
way and some hardware independent libraries for using GPGPU do exist. I am
currently looking into this for future projects.

Thank you,

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


[osg-users] Simple camera setup question

2008-07-31 Thread Judie
Hi,

I am using the SceneView object. I have specific eye, center and up
vectors that I am using to initialize my viewpoint.

osg::Vec3 eye(ex, ey, ez);


osg::Vec3 center(cx, cy, xz);


osg::Vec3 up(ux, uy, uz);


m_sceneView-setViewMatrix(osg::Matrixd::lookAt(eye,center,up));


But now I have a dilema. I have some offset in screen coordinates (or
pixels) example: Xoffset = 19 and Yoffset = -9;

So basically, I would like to do a one time camera pan to this
offset amount.

I suppose I could translate the view matrix if I knew what the offset
was in world coordinates. I have been looking through the osg code and
I can't seem to find what I need.

If you want to know why I need this: I am aligning a background image
that has to be processed and requires an offset in order to match up
with the 3D scene. When I offset the image, then I get a border on one
or two sides of the window - depending whether the offset is +- for X
 Y. This border looks bad so I would rather just pan the camera by
the offset amount which is in pixels.

Any thoughts would be appreciated,

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


[osg-users] GL_TEXTURE_GEN_S question

2008-07-11 Thread Judie
Hi,

I am applying sphere mapping and using GL_TEXTURE_GEN_S  T so that
osg will generate the texture coordinates automatically. My question
is: if the object is changed by something like a boolean operation, do
I need to do anything or will the texture coordinates be regenerated
correctly because it is set to generate texture coordinates
automatically through:
state-setTextureMode(texUnit, GL_TEXTURE_GEN_S,
osg::StateAttribute::ON);

Thanks,

Judie

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


Re: [osg-users] GL_TEXTURE_GEN_S question

2008-07-11 Thread Judie
OK, I will look into that. Thanks for your reply.

Judie

On Jul 11, 11:42 am, Robert Osfield [EMAIL PROTECTED]
wrote:
 Hi Judie,

 When you enable tex gen, the texture coordinates are generated down on
 the GPU for each vertex that is processed, so it's not a state that
 you need to update at all.  It'd best to grab an OpenGL book, or looks
 at online docs to get a full understanding of tex gen.  The OSG just
 wraps up what OpenGL provides, so the OpenGL reference material will
 go a long way to helping you understand how tex gen is done in OSG.

 Robert.





 On Fri, Jul 11, 2008 at 6:57 PM, Judie [EMAIL PROTECTED] wrote:
  Hi,

  I am applying sphere mapping and using GL_TEXTURE_GEN_S  T so that
  osg will generate the texture coordinates automatically. My question
  is: if the object is changed by something like a boolean operation, do
  I need to do anything or will the texture coordinates be regenerated
  correctly because it is set to generate texture coordinates
  automatically through:
  state-setTextureMode(texUnit, GL_TEXTURE_GEN_S,
  osg::StateAttribute::ON);

  Thanks,

  Judie

  ___
  osg-users mailing list
  [EMAIL PROTECTED]
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...

 ___
 osg-users mailing list
 [EMAIL 
 PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...-
  Hide quoted text -

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


Re: [osg-users] Bump mapping question

2008-07-03 Thread Judie
Hi Jon,

Thank you so much for the tip. My maps look very washed out so I need
to change the lighting, material, texture maps, something, but I
think that I am very close now. I will use the Xnormal and see if that
helps. What kind of light do you usually use and what settings and
what material settings do you find work the best?

Thanks,

Judie

On Jul 2, 5:27 pm, Jon Newell [EMAIL PROTECTED] wrote:
 Hi  Judie

 A rarer than hens teeth content question :)
 We just use a standard 24 bit normal maps,  for which we use a few
 different tools,  the least sophisticated or useful of which is the
 Nvidia tool, works but is ugly and output is average.
 Xnormal  www.*xnormal*.net  and Crazybumphttp://www.crazybump.com/are
 the primary ones, of which crazy bump is outstanding for extracting
 normal maps and displacement maps from images  Xnormal is great for
 extracting normal maps from high rez models. X normal  is free,
 Crazybump is not.

 cheers
 Jon





 Judie wrote:
  fyi... I found this link:
 http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDo...

  and I am downloading NVidia's plugins for photoshop now hoping that
  will be what I need.

  On Jul 2, 10:37 am, Judie [EMAIL PROTECTED] wrote:

  Hi,

  I am trying to add bump mapping and I am wondering what the bump map
  format should be (i.e. bmp with 8 bits). Are there any examples? I am
  using osgFX::BumpMapping. I want to know what the format for the map
  in this call should be:
  bump-setOverrideNormalMapTexture( bumpTex );

  Thanks,

  Judie
  ___
  osg-users mailing list
  [EMAIL 
  PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...

  ___
  osg-users mailing list
  [EMAIL PROTECTED]
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...

 ___
 osg-users mailing list
 [EMAIL 
 PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...-
  Hide quoted text -

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


Re: [osg-users] Bump mapping question

2008-07-02 Thread Judie
in the link: 
http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01058.html#_details
it says:

Note that both diffuse and normal map textures must have
corresponding UV maps defined in Geometry objects

Is there a way to generate the UV map programmatically? Can I just use
the osg equivalent to OpenGL's GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T?


On Jul 2, 11:26 am, Judie [EMAIL PROTECTED] wrote:
 fyi... I found this 
 link:http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDo...

 and I am downloading NVidia's plugins for photoshop now hoping that
 will be what I need.

 On Jul 2, 10:37 am, Judie [EMAIL PROTECTED] wrote: Hi,

  I am trying to add bump mapping and I am wondering what the bump map
  format should be (i.e. bmp with 8 bits). Are there any examples? I am
  using osgFX::BumpMapping. I want to know what the format for the map
  in this call should be:
  bump-setOverrideNormalMapTexture( bumpTex );

  Thanks,

  Judie
  ___
  osg-users mailing list
  [EMAIL 
  PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...

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


[osg-users] StateSet issues with parent\child node

2008-07-01 Thread Judie
Hi,

I must be doing something wrong. I have a function that adds a sphere
map and material to a node. When I apply this function to a parent, it
also affects the child. How can I make it just affect the parent and
not the child? Also, if I call the same function with different
settings for the child, it still gets the parent's settings even if I
call the function on the child last. In the algorithm I do the
following:

find the node by name that I want to apply the state to - currNode.

make a new group node (gnode) and insert that between the currNode and
it's parent. I use this gnode to get or create the state. Then I add
my settings to this state. I also give it a unique name.

I have also tried just applying the state to the currNode directly and
I get the same behavior no matter what.

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


Re: [osg-users] StateSet issues with parent\child node

2008-07-01 Thread Judie


On Jul 1, 11:27 am, Fuesz, Matthew [EMAIL PROTECTED] wrote:
 Judie,

 The default behavior is for States/StateSets to be inherited down the
 scene graph, from parent to child. However, in the default
 configuration, setting the StateSet of the child directly should cause
 that child (and any children that it itself has) to use the new StateSet
 parameters. This inheritance method is controlled by the OverrideValue
 flag, which can be set when attributes and modes are enabled or disabled
 on a StateSet.

 It sounds like what you're doing should work (set the state on the
 parent, then reset the state on the child), but I don't understand why
 you're creating and adding another group node in between the parent and
 child, as this is completely unnecessary to manipulate state changes.

OK, I thought someone had told me this needed to be done but that was
a while ago. It works as you say.


 All you need to do is to query the StateSet from the parent (using
 getOrCreateStateSet() ) and make any appropriate changes. Then get the
 StateSet from the child, and remove/reverse any changes (e.g., disable
 materials, or apply 'empty' Programs in the case of shaders).
 Alternatively, you could set the child's OverrideValue to PROTECTED in
 order to prevent the parent's state values from being inherited.

This did the trick!

Thanks,

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


Re: [osg-users] Seeking OSG texture mapping application

2008-06-30 Thread Judie


On Jun 27, 4:53 pm, Ulrich Hertlein [EMAIL PROTECTED] wrote:
 Judie wrote:
  In your .osg file, look for TexCoordArray?

  I want my metal machined piece to look like the cow.osg in the viewer.

 cow.osg uses an environment map so that it looks reflective.

 The texture coordinates are auto-generated, so it doesn't contain texture
 coordinates; look for TexGen with modeSPHERE_MAP.

OK I will try that then. Thank you.

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


Re: [osg-users] Seeking OSG texture mapping application

2008-06-27 Thread Judie


On Jun 26, 4:50 pm, Paul Martz [EMAIL PROTECTED] wrote:
 Hi Judie -- Glad to see you're back with OSG.

 Another modeling option would be output your OSG data as .flt, load it into
 Carbon Graphics Geo, make your changes, then save as .flt (or .geo) and load
 back into your OSG app.

  So now I am trying to find the texture coordinates. I have
  just started on this leg so I won't ask any stupid questions
  until I have more info.

 In your .osg file, look for TexCoordArray?

Yes, I have found out about that from your book, OSG Quck Start Guide.

I want my metal machined piece to look like the cow.osg in the viewer.
I wanted to open the cow.osg in a modeling application so I could
understand the texture mapping applied. I will try the Carbon Graphics
Geo. Or maybe I can figure it out by looking at the cow.osg file in an
ascii reader.

Thanks,

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


Re: [osg-users] Seeking OSG texture mapping application

2008-06-27 Thread Judie


On Jun 27, 5:26 am, Jean-Sébastien Guay [EMAIL PROTECTED]
labs.com wrote:
 Hello Judie,

  Well, I downloaded a 30 day trial of 3DS Max 2009 and it did not have
  an osg importer or exporter.

 There is an exporter, though I have no idea if it's still being
 developed and if it works with recent versions of 3DS Max.

 http://sourceforge.net/projects/osgmaxexp

 There is no importer I know of. Perhaps you can explore using osgconv to
 convert to some format Max can import (perhaps COLLADA, if you can build
 the OSG plugin for that), then do whatever you need in Max and save back
 into .osg (or again, COLLADA might be a good export path, since 3DS Max
 has a native COLLADA reader/writer).

That is a good idea. I will look into it.

Thanks,

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


[osg-users] Seeking OSG texture mapping application

2008-06-26 Thread Judie
Hi,

Can 3D Studio Max import osg, apply texture and export it back to osg?
If not then is there another modeling software that can? I am having
problems generating texture coordinates for a model representing a
machined work peice. If there is an algorithm for apply textures that
would also be appreciated.

Thanks,

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


Re: [osg-users] Seeking OSG texture mapping application

2008-06-26 Thread Judie
Well, I downloaded a 30 day trial of 3DS Max 2009 and it did not have
an osg importer or exporter. But it had an STL importer which is what
my model format is in. So I imported it, generated the texture
coordinates, and then exported it as .3ds which OpenSceneGraph could
read, and then I saved it as a .osg.

So now I am trying to find the texture coordinates. I have just
started on this leg so I won't ask any stupid questions until I have
more info.

Judie

On Jun 26, 7:53 am, Judie [EMAIL PROTECTED] wrote:
 Hi,

 Can 3D Studio Max import osg, apply texture and export it back to osg?
 If not then is there another modeling software that can? I am having
 problems generating texture coordinates for a model representing a
 machined work peice. If there is an algorithm for apply textures that
 would also be appreciated.

 Thanks,

 Judie
 ___
 osg-users mailing list
 [EMAIL 
 PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Need help getting the osg::ColorMask I previously set

2008-06-12 Thread Judie
CODE:


osg::StateSet *stateSet = group-getOrCreateStateSet();


osg::StateSet::AttributeList attributes = stateSet-
getAttributeList();


osg::StateSet::AttributeList::iterator aitr = NULL;


for(aitr= attributes.begin(); aitr!=attributes.end(); ++aitr)
{


osg::StateAttribute::Type temp = (*aitr).first.first;


if(temp == osg::StateAttribute::COLORMASK)
{


osg::ColorMask mask = (*aitr).second.second;


This won't compile. How can I get the osg::ColorMask from the
osg::StateSet::AttributeList::iterator?

Thanks,

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


Re: [osg-users] Depth buffer issue

2008-04-17 Thread Judie
I have to laugh at myself for this brilliant idea! Alpha blending is
mutually exclusive with occlusion. In otherwords, the parts that I
want occluded by the invisible portion, if that invisible portion is
alpha blended, will be visible. However, I want a copy of the
invisible geometry so that I can draw it again as barely visible for
matching the video.

Judie

On Apr 16, 7:57 am, Judie [EMAIL PROTECTED] wrote:
 The application is for augemented reality. Here is an 
 example:http://www.youtube.com/watch?v=P9KPJlA5yds

 I have realized another method. Instead of disabling and enabling the
 color buffer, I will set the transparency to 100% transparent on the
 objects I don't want to be visible.

 Judie

 On Apr 16, 7:23 am, Robert Osfield [EMAIL PROTECTED] wrote:



  Hi Judie,

  On Wed, Apr 16, 2008 at 3:16 PM, Judie [EMAIL PROTECTED] wrote:
    High level explanation of what I am trying to do:

    Replace some of the geometry in the scene with live camera feed. But
    in order to do this, I still need the actual geometry in the scene to
    modify the depth buffer as if it were there even though it is not
    visible.

  What do you mean by replace some geometry in the scene with a live
  camera feed?

  What you say actual geometry what do you mean?

  Higher level please I still have little clue about what you are trying to 
  do.

  The need for this understanding is that I can't see any reason for you
  piling into the code you are using, messing around with lowel level
  stuff like RenderBin/RenderStage/CullVisitor seems incredibly
  premature and very likely inappropriate.  I have no clue why you want
  to go off on do this in your instance.

  So please could you try explaining what type of application you have,
  what type of data your are trying to integrate and the results you are
  after.

  Robert.
  ___
  osg-users mailing list
  [EMAIL 
  PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...

 ___
 osg-users mailing list
 [EMAIL 
 PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...-
  Hide quoted text -

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


Re: [osg-users] Depth buffer issue

2008-04-17 Thread Judie
Hi Frédéric,

Thanks for your advice. The invisible objects are in the scenegraph
before the visible ones so at least I have that going for me. I think
we won't be moving the camera view too much so I think it will be OK.
I just thought it was weird that I would get the expected behavior
until I rotated the camera to some angles and then portions that
should be occluded would become visible.

Judie

On Apr 16, 7:48 am, Frédéric SPEISSER [EMAIL PROTECTED]
wrote:
 Hi Judie,

 What I noticed using colormask is, if you want some invisible objects
 (with a colormask to false) to occlude some other objects you must add
 the invisible  ones before the others in the scenegraph. When I say
 before it is from the scenegraph traversal point of view.

 I don't know if it can help you...

 Frédéric.

 Judie a écrit :





  Hi Robert,

  I am sorry for not providing an adequate description.

  High level explanation of what I am trying to do:

  Replace some of the geometry in the scene with live camera feed. But
  in order to do this, I still need the actual geometry in the scene to
  modify the depth buffer as if it were there even though it is not
  visible.

  The initial set up for the render states of the scene is:

  osgUtil::CullVisitor *pCullVisitor = m_sceneView-getCullVisitor();

  osgUtil::RenderBin *pRenderBin = pCullVisitor-getCurrentRenderBin();

  pRenderBin-setSortMode(osgUtil::RenderBin::SORT_BACK_TO_FRONT);

  osg::StateSet *pStateSet = m_sceneView-getGlobalStateSet();

  pStateSet-setMode(GL_ALPHA_TEST,osg::StateAttribute::OFF);

  osg::CullFace *pCullFace = new osg::CullFace;

  pCullFace-setMode(osg::CullFace::BACK);

  pStateSet-setMode(GL_CULL_FACE, osg::StateAttribute::ON);

  pStateSet-setAttribute(pCullFace, osg::StateAttribute::ON);

  osg::ShadeModel *pShadeMdl = new osg::ShadeModel;

  pShadeMdl-setMode(osg::ShadeModel::FLAT);

  pStateSet-setAttribute(pShadeMdl, osg::StateAttribute::ON);

  osg::Depth *pDepth = new osg::Depth;

  pDepth-setFunction(osg::Depth::LEQUAL);

  pStateSet-setMode(GL_DEPTH_TEST, osg::StateAttribute::ON);

  pStateSet-setAttribute(pDepth, osg::StateAttribute::ON);

  All I do to make some of the geometry not visible and yet still drawn
  to the depth buffer, is disable writes to the color buffer:

  osg::ColorMask *colormaskOff = new osg::ColorMask(false, false, false,
  false);

  osg::StateSet* state = node-getOrCreateStateSet();

  state-setAttribute(colormaskOff);

  At another point in the scene graph, I enable writes to the color
  buffer using the same method except the ColorMask values are all true.
  I never disable depth testing.

  When the scene is rendered, I see my video background and I see my
  objects that should be visible. However, the depth buffer testing does
  not seem to work correctly because some parts of the visible geometry
  that should be occluded by the invisible geometry are showing. But
  this is not uniform. There are times when the visible geometry is
  occluded by the invisible geometry as it should be.

  If I change the sorting to this:

  pRenderBin-setSortMode(osgUtil::RenderBin::SORT_FRONT_TO_BACK);

  then it appears to work until I rotate the camera and then there are
  angles which seem to break the depth testing.

  What doesn't make sense to me is why the behavior should change at all
  just by disabling writes to the color buffer? I have done the same
  with OpenGL code in a different application, where I was not sorting
  (because there was no transparency) and just relying on the graphics
  drivers\hardware to do the Z buffering, and the occlusion of the
  inivisible objects worked fine. So it seems there must be some
  optimization taking place inside the scene graph that is culling
  objects or something. I don't know. It just doesn't make sense to me
  why I can do something in OpenGL and not with OSG.

  What do you think?

  Thanks,

  Judie

  On Apr 16, 1:57 am, Robert Osfield [EMAIL PROTECTED] wrote:

  Hi Judie,

  I'm afraid I've just found it too difficult to work out what you are
  doing to be able to provide any suggestions.  Could you provide a high
  level explanation of what you are trying to do and why to give a bit
  of context.  Then why you provide code snippets could you space them
  better as word wrap has made it extremely difficult to read the code.

  Robert.

  On Tue, Apr 15, 2008 at 11:09 PM, Judie [EMAIL PROTECTED] wrote:

  In my code I have an OSG tree with the following global state
   attributes defined:

                 osgUtil::CullVisitor *pCullVisitor = m_sceneView-
   getCullVisitor();
          osgUtil::RenderBin *pRenderBin = 
  pCullVisitor-getCurrentRenderBin();
          pRenderBin-setSortMode(osgUtil::RenderBin::SORT_BACK_TO_FRONT);
                  osg::StateSet *pStateSet = m_sceneView-
   getGlobalStateSet();
                  pStateSet-setMode(GL_ALPHA_TEST,
   osg::StateAttribute::OFF);
                 osg::CullFace *pCullFace = new osg::CullFace

Re: [osg-users] Using a visitor after a DEEP_COPY_ALL doesn't returnanything

2008-04-17 Thread Judie
Hi Paul,

Does that work on your compiler? I tried that as well, but I got the
following error:

error C2440: 'initializing' : cannot convert from 'class osg::Object
*' to 'class osg::ref_ptrclass osg::Node'
No constructor could take the source type, or constructor
overload resolution was ambiguous


So then I tried using the parent of the node which is a group and
create a group from that using the deep copy:

osg::Ref_Ptrosg::Group CopyAParent = new osg::Group(*AParent,
osg::CopyOp::DEEP_COPY_ALL);

but it still doesn't have any nodes in the list:

osg::Node *test = m_CopyAParent -getChild(0);
findNodeVisitor nv1(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
Geode);
test-accept(nv1);
std::vectorosg::Node* nodeList = nv1.getNodeList();
int length = nodeList.size();

here length is 0.

Thanks,

Judie



On Apr 16, 6:47 pm, Paul Martz [EMAIL PROTECTED] wrote:
 Ha! What a coincidence. I just encountered this exact same thing today.

 When you call new Node, you get a Node. Nodes don't have children, only
 Groups have children. So you don't want to use the copy constructor if you
 want to copy a whole subtree.

 I discovered that OSG offers an alternative to the copy constructor to get
 around just this very issue. Use the clone() method. So, instead, your code
 should look like this:

   osg::ref_ptrosg::Node copyA = A-clone( osg::CopyOp::DEEP_COPY_ALL );

 copyA will be a ref_ptr to a Node, but the actual type of the object
 pointed to will be a clone of A, so if A is a Group (with children), then
 copyA will also be a Group.

 Later,
    -Paul





  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Judie
  Sent: Wednesday, April 16, 2008 2:21 PM
  To: [EMAIL PROTECTED]
  Subject: [osg-users] Using a visitor after a DEEP_COPY_ALL
  doesn't returnanything

  HI,

  I want to make a copy of an existing node and all it's
  children, and then find all the geometry and make it transparent.

  I do something like

  osg::ref_ptrosg::Node copyA = new osg::Node(*A,
  osg::CopyOp::DEEP_COPY_ALL);

  where A is the original Node tree.

  If I try to use the findNodeVisitor:

  findNodeVisitor nv(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
  Geode);
  copyA-accept(nv);
  std::vectorosg::Node* nodeList = nv.getNodeList(); int
  length = nodeList.size();

  then length is 0.

  If I do the same with the original node:

  findNodeVisitor nv(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
  Geode);
  A-accept(nv);
  std::vectorosg::Node* nodeList = nv.getNodeList(); int
  length = nodeList.size();

  then length is 32.

  Also if I try to cast the copyA to a osg::Group* I get a null pointer:

  osg::Group* temp = dynamic_castosg::Group*(copyA);

  temp is a null pointer.

  So did I miss a step somewhere?

  Judie

  ___
  osg-users mailing list
  [EMAIL PROTECTED]
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-opensce
  negraph.org

 ___
 osg-users mailing list
 [EMAIL 
 PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...-
  Hide quoted text -

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


Re: [osg-users] Using a visitor after a DEEP_COPY_ALL doesn't returnanything

2008-04-17 Thread Judie
Hi Serge,

Thanks for that piece of information. I am still not getting a deep
copy of the nodes, however.

I did an experiment and I went to the top level node:

osg::Node* subgraph = m_sceneView-getSceneData();

and I used this one for the deep copy

osg::ref_ptrosg::Node copyA  = static_castosg::Node *(subgraph-
clone(osg::CopyOp::DEEP_COPY_ALL ));

And now I get a few nodes in the new copy. My list now contains 3
items which makes sense because the tree is like:

subgraph
  \
 GroupA
 \
 A
  /   |  \
B   C   D

where A has 32 items.


So there is stoppage at node A and no more copy or else there is a
problem with the visitor.

findNodeVisitor nv(FINDNODETYPE_NODETYPE|
FINDNODETYPE_FINDALL,Geode);

copyA-accept(nv);

std::vectorosg::Node* nodeList = nv.getNodeList();

int length = nodeList.size();

now length is 3 (but at this level it should be 35).

Judie


On Apr 17, 8:04 am, Serge Lages [EMAIL PROTECTED] wrote:
 Hi,

 Just cast the clone() return to an osg::Node * and it should work :

 osg::ref_ptrosg::Node copyA = static_castosg::Node *(A-clone(
 osg::CopyOp::DEEP_COPY_ALL ));





 On Thu, Apr 17, 2008 at 4:54 PM, Judie [EMAIL PROTECTED] wrote:
  Hi Paul,

  Does that work on your compiler? I tried that as well, but I got the
  following error:

  error C2440: 'initializing' : cannot convert from 'class osg::Object
  *' to 'class osg::ref_ptrclass osg::Node'
         No constructor could take the source type, or constructor
  overload resolution was ambiguous

  So then I tried using the parent of the node which is a group and
  create a group from that using the deep copy:

  osg::Ref_Ptrosg::Group CopyAParent = new osg::Group(*AParent,
  osg::CopyOp::DEEP_COPY_ALL);

  but it still doesn't have any nodes in the list:

  osg::Node *test = m_CopyAParent -getChild(0);
  findNodeVisitor nv1(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
  Geode);
  test-accept(nv1);
  std::vectorosg::Node* nodeList = nv1.getNodeList();
  int length = nodeList.size();

  here length is 0.

  Thanks,

  Judie

  On Apr 16, 6:47 pm, Paul Martz [EMAIL PROTECTED] wrote:
   Ha! What a coincidence. I just encountered this exact same thing today.

   When you call new Node, you get a Node. Nodes don't have children,
  only
   Groups have children. So you don't want to use the copy constructor if
  you
   want to copy a whole subtree.

   I discovered that OSG offers an alternative to the copy constructor to
  get
   around just this very issue. Use the clone() method. So, instead, your
  code
   should look like this:

     osg::ref_ptrosg::Node copyA = A-clone( osg::CopyOp::DEEP_COPY_ALL
  );

   copyA will be a ref_ptr to a Node, but the actual type of the object
   pointed to will be a clone of A, so if A is a Group (with children),
  then
   copyA will also be a Group.

   Later,
      -Paul

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Judie
Sent: Wednesday, April 16, 2008 2:21 PM
To: [EMAIL PROTECTED]
Subject: [osg-users] Using a visitor after a DEEP_COPY_ALL
doesn't returnanything

HI,

I want to make a copy of an existing node and all it's
children, and then find all the geometry and make it transparent.

I do something like

osg::ref_ptrosg::Node copyA = new osg::Node(*A,
osg::CopyOp::DEEP_COPY_ALL);

where A is the original Node tree.

If I try to use the findNodeVisitor:

findNodeVisitor nv(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
Geode);
copyA-accept(nv);
std::vectorosg::Node* nodeList = nv.getNodeList(); int
length = nodeList.size();

then length is 0.

If I do the same with the original node:

findNodeVisitor nv(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
Geode);
A-accept(nv);
std::vectorosg::Node* nodeList = nv.getNodeList(); int
length = nodeList.size();

then length is 32.

Also if I try to cast the copyA to a osg::Group* I get a null pointer:

osg::Group* temp = dynamic_castosg::Group*(copyA);

temp is a null pointer.

So did I miss a step somewhere?

Judie

___
osg-users mailing list
[EMAIL PROTECTED]
   http://lists.openscenegraph.org/listinfo.cgi/osg-users-opensce
negraph.org

   ___
   osg-users mailing list
   [EMAIL PROTECTED]://
  lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...- Hide
  quoted text -

   - Show quoted text -
  ___
  osg-users mailing list
  [EMAIL PROTECTED]
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...

 --
 Serge Lageshttp://www.tharsis-software.com

 ___
 osg-users mailing list
 [EMAIL 
 PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...-
  Hide quoted text -

 - Show quoted text

Re: [osg-users] Depth buffer issue

2008-04-16 Thread Judie
Hi Robert,

I am sorry for not providing an adequate description.

High level explanation of what I am trying to do:

Replace some of the geometry in the scene with live camera feed. But
in order to do this, I still need the actual geometry in the scene to
modify the depth buffer as if it were there even though it is not
visible.

The initial set up for the render states of the scene is:

osgUtil::CullVisitor *pCullVisitor = m_sceneView-getCullVisitor();

osgUtil::RenderBin *pRenderBin = pCullVisitor-getCurrentRenderBin();

pRenderBin-setSortMode(osgUtil::RenderBin::SORT_BACK_TO_FRONT);

osg::StateSet *pStateSet = m_sceneView-getGlobalStateSet();

pStateSet-setMode(GL_ALPHA_TEST,osg::StateAttribute::OFF);

osg::CullFace *pCullFace = new osg::CullFace;

pCullFace-setMode(osg::CullFace::BACK);

pStateSet-setMode(GL_CULL_FACE, osg::StateAttribute::ON);

pStateSet-setAttribute(pCullFace, osg::StateAttribute::ON);

osg::ShadeModel *pShadeMdl = new osg::ShadeModel;

pShadeMdl-setMode(osg::ShadeModel::FLAT);

pStateSet-setAttribute(pShadeMdl, osg::StateAttribute::ON);

osg::Depth *pDepth = new osg::Depth;

pDepth-setFunction(osg::Depth::LEQUAL);

pStateSet-setMode(GL_DEPTH_TEST, osg::StateAttribute::ON);

pStateSet-setAttribute(pDepth, osg::StateAttribute::ON);


All I do to make some of the geometry not visible and yet still drawn
to the depth buffer, is disable writes to the color buffer:

osg::ColorMask *colormaskOff = new osg::ColorMask(false, false, false,
false);

osg::StateSet* state = node-getOrCreateStateSet();

state-setAttribute(colormaskOff);

At another point in the scene graph, I enable writes to the color
buffer using the same method except the ColorMask values are all true.
I never disable depth testing.

When the scene is rendered, I see my video background and I see my
objects that should be visible. However, the depth buffer testing does
not seem to work correctly because some parts of the visible geometry
that should be occluded by the invisible geometry are showing. But
this is not uniform. There are times when the visible geometry is
occluded by the invisible geometry as it should be.

If I change the sorting to this:

pRenderBin-setSortMode(osgUtil::RenderBin::SORT_FRONT_TO_BACK);

then it appears to work until I rotate the camera and then there are
angles which seem to break the depth testing.

What doesn't make sense to me is why the behavior should change at all
just by disabling writes to the color buffer? I have done the same
with OpenGL code in a different application, where I was not sorting
(because there was no transparency) and just relying on the graphics
drivers\hardware to do the Z buffering, and the occlusion of the
inivisible objects worked fine. So it seems there must be some
optimization taking place inside the scene graph that is culling
objects or something. I don't know. It just doesn't make sense to me
why I can do something in OpenGL and not with OSG.

What do you think?

Thanks,

Judie








On Apr 16, 1:57 am, Robert Osfield [EMAIL PROTECTED] wrote:
 Hi Judie,

 I'm afraid I've just found it too difficult to work out what you are
 doing to be able to provide any suggestions.  Could you provide a high
 level explanation of what you are trying to do and why to give a bit
 of context.  Then why you provide code snippets could you space them
 better as word wrap has made it extremely difficult to read the code.

 Robert.





 On Tue, Apr 15, 2008 at 11:09 PM, Judie [EMAIL PROTECTED] wrote:
  In my code I have an OSG tree with the following global state
   attributes defined:

                 osgUtil::CullVisitor *pCullVisitor = m_sceneView-
   getCullVisitor();
          osgUtil::RenderBin *pRenderBin = 
  pCullVisitor-getCurrentRenderBin();
          pRenderBin-setSortMode(osgUtil::RenderBin::SORT_BACK_TO_FRONT);
                  osg::StateSet *pStateSet = m_sceneView-
   getGlobalStateSet();
                  pStateSet-setMode(GL_ALPHA_TEST,
   osg::StateAttribute::OFF);
                 osg::CullFace *pCullFace = new osg::CullFace;
          pCullFace-setMode(osg::CullFace::BACK);
          pStateSet-setMode(GL_CULL_FACE, osg::StateAttribute::ON);
          pStateSet-setAttribute(pCullFace, osg::StateAttribute::ON);
                  osg::ShadeModel *pShadeMdl = new osg::ShadeModel;
          pShadeMdl-setMode(osg::ShadeModel::FLAT);
          pStateSet-setAttribute(pShadeMdl, osg::StateAttribute::ON);
                  osg::Depth *pDepth = new osg::Depth;
          pDepth-setFunction(osg::Depth::LEQUAL);
          pStateSet-setMode(GL_DEPTH_TEST, osg::StateAttribute::ON);
          pStateSet-setAttribute(pDepth, osg::StateAttribute::ON);

   The only other time I change the state is when I enable and disable
   the color buffer writes.

   Here is what I am seeing:
   If I render the scene with the color buffer always on, then objects
   that should be occluded by other objects behave correctly and are
   occluded.

   When I render the scene with the color

Re: [osg-users] Depth buffer issue

2008-04-16 Thread Judie
The application is for augemented reality. Here is an example:
http://www.youtube.com/watch?v=P9KPJlA5yds

I have realized another method. Instead of disabling and enabling the
color buffer, I will set the transparency to 100% transparent on the
objects I don't want to be visible.

Judie

On Apr 16, 7:23 am, Robert Osfield [EMAIL PROTECTED] wrote:
 Hi Judie,

 On Wed, Apr 16, 2008 at 3:16 PM, Judie [EMAIL PROTECTED] wrote:
   High level explanation of what I am trying to do:

   Replace some of the geometry in the scene with live camera feed. But
   in order to do this, I still need the actual geometry in the scene to
   modify the depth buffer as if it were there even though it is not
   visible.

 What do you mean by replace some geometry in the scene with a live
 camera feed?

 What you say actual geometry what do you mean?

 Higher level please I still have little clue about what you are trying to do.

 The need for this understanding is that I can't see any reason for you
 piling into the code you are using, messing around with lowel level
 stuff like RenderBin/RenderStage/CullVisitor seems incredibly
 premature and very likely inappropriate.  I have no clue why you want
 to go off on do this in your instance.

 So please could you try explaining what type of application you have,
 what type of data your are trying to integrate and the results you are
 after.

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


[osg-users] Using a visitor after a DEEP_COPY_ALL doesn't return anything

2008-04-16 Thread Judie
HI,

I want to make a copy of an existing node and all it's children, and
then find all the geometry and make it transparent.

I do something like

osg::ref_ptrosg::Node copyA = new osg::Node(*A,
osg::CopyOp::DEEP_COPY_ALL);

where A is the original Node tree.

If I try to use the findNodeVisitor:

findNodeVisitor nv(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
Geode);
copyA-accept(nv);
std::vectorosg::Node* nodeList = nv.getNodeList();
int length = nodeList.size();

then length is 0.

If I do the same with the original node:

findNodeVisitor nv(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
Geode);
A-accept(nv);
std::vectorosg::Node* nodeList = nv.getNodeList();
int length = nodeList.size();

then length is 32.

Also if I try to cast the copyA to a osg::Group* I get a null pointer:

osg::Group* temp = dynamic_castosg::Group*(copyA);

temp is a null pointer.

So did I miss a step somewhere?

Judie






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


Re: [osg-users] More help with state changes

2008-04-15 Thread Judie
Hi Robert,

I had to add in some buffer group nodes ahead of the ones I wanted to
apply a state change to and so now it works great.

Thanks,

Judie

On Apr 14, 11:54 am, Robert Osfield [EMAIL PROTECTED]
wrote:
 Hi Judia,

 What you are trying to do should work, but without the code for setting the
 different stateset to the appropriate nodes I can't say what exactly the
 problem is.  The fact that you refer to NodeCParent  looks suspect, you
 should apply directly to NodeC as NodeCParent is NodeA...

 Robert.

 On Mon, Apr 14, 2008 at 7:36 PM, Judie Stanley [EMAIL PROTECTED]
 wrote:



  This is an exisiting project.
  Here is the basic node structure:

                      Root
                         |
                      NodeA
                       /       \
               NodeB     NodeC

  I want to disable writes to the color buffer before Node A, and then I
  don't want to enable them until Node C. That way, Node A, and Node B are
  drawn but only the depth buffer is updated, but then when Node C is drawn,
  both the color buffer and the depth buffer are updated.

  Here is my code:

  osg::ColorMask *colormaskOff = new osg::ColorMask(false, false, false,
  false);
  osg::ColorMask *colormaskON = new osg::ColorMask(true, true, true, true);

  osg::StateSet* state = NodeAParent-getOrCreateStateSet();
  state-setAttribute(colormaskOff);

   osg::StateSet* state2 = NodeCParent-getOrCreateStateSet();
  state2-setAttribute(colormaskON);

  So you can see my dilema.

  In the code I see that the glColorMask gets called with the correct data,
  however, because of the graph topology, NodeA and NodeB get drawn to the
  color buffer even though I disabled it in the Root (NodeAParent), it gets
  enabled for NodeA (NodeCParent).

  Is it possible to stick come kind of node inbetween NodeA and NodeC? What
  type of node should that be? Can there be a blank node?

  Thanks,

  Judie

  ___
  osg-users mailing list
  [EMAIL PROTECTED]
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...



 ___
 osg-users mailing list
 [EMAIL 
 PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...-
  Hide quoted text -

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


[osg-users] Depth buffer issue

2008-04-15 Thread Judie
In my code I have an OSG tree with the following global state
attributes defined:

   osgUtil::CullVisitor *pCullVisitor = m_sceneView-
getCullVisitor();
osgUtil::RenderBin *pRenderBin = pCullVisitor-getCurrentRenderBin();
pRenderBin-setSortMode(osgUtil::RenderBin::SORT_BACK_TO_FRONT);
osg::StateSet *pStateSet = m_sceneView-
getGlobalStateSet();
pStateSet-setMode(GL_ALPHA_TEST,
osg::StateAttribute::OFF);
   osg::CullFace *pCullFace = new osg::CullFace;
pCullFace-setMode(osg::CullFace::BACK);
pStateSet-setMode(GL_CULL_FACE, osg::StateAttribute::ON);
pStateSet-setAttribute(pCullFace, osg::StateAttribute::ON);
osg::ShadeModel *pShadeMdl = new osg::ShadeModel;
pShadeMdl-setMode(osg::ShadeModel::FLAT);
pStateSet-setAttribute(pShadeMdl, osg::StateAttribute::ON);
osg::Depth *pDepth = new osg::Depth;
pDepth-setFunction(osg::Depth::LEQUAL);
pStateSet-setMode(GL_DEPTH_TEST, osg::StateAttribute::ON);
pStateSet-setAttribute(pDepth, osg::StateAttribute::ON);

The only other time I change the state is when I enable and disable
the color buffer writes.

Here is what I am seeing:
If I render the scene with the color buffer always on, then objects
that should be occluded by other objects behave correctly and are
occluded.

When I render the scene with the color buffer off for some of the
nodes in the beginning of the tree, with it enabled again for ones
later on, I expect that because I DID NOT disable writes to the depth
buffer, that the objects which are occluded by other objects (even
though they were not drawn to the color buffer) should behave
correctly. However, they do not. Some do and some don't and if I
rotate then even ones that behave correctly, begin to misbehave.

Now I have made the following change because I don't need to worry
about transparency anymore:
pRenderBin-setSortMode(osgUtil::RenderBin::SORT_FRONT_TO_BACK);

And this almost fixes the issue except if I rotate to some degree, I
still get parts of objects drawn that should be occluded. I know
because I can toggle the objects visible and invisible.

Is there something internally that can be culling parts of objects
because I have the color buffer masked for them?

Thanks,

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


Re: [osg-users] More help with state changes

2008-04-15 Thread Judie
Because in the osg implementation (that I have anyway), it looks like
the parent of the node is used for setting the state. This seems to be
true in my experimenting. If I just applied the state change to the
node I wanted affected by the state change, it did not seem to work.

void RenderLeaf::render(State state,RenderLeaf* previous)
{
// don't draw this leaf if the abort rendering flag has been set.
if (state.getAbortRendering())
{
//cout  early abortendl;
return;
}

if (previous)
{

// apply matrices if required.
state.applyProjectionMatrix(_projection.get());
state.applyModelViewMatrix(_modelview.get());

// apply state if required.
RenderGraph* prev_rg = previous-_parent;
RenderGraph* prev_rg_parent = prev_rg-_parent;
RenderGraph* rg = _parent;
if (prev_rg_parent!=rg-_parent)
{
RenderGraph::moveRenderGraph(state,prev_rg_parent,rg-
_parent);

// send state changes and matrix changes to OpenGL.
state.apply(rg-_stateset);

}

On Apr 15, 3:07 pm, Thrall, Bryan [EMAIL PROTECTED]
wrote:
 Judie wrote on Tuesday, April 15, 2008 4:58 PM:

  I had to add in some buffer group nodes ahead of the ones I wanted to
  apply a state change to and so now it works great.

 Out of curiosity, why couldn't you just add the state change to NodeC instead 
 of adding buffer group nodes?





  On Apr 14, 11:54 am, Robert Osfield [EMAIL PROTECTED]
  wrote:
  What you are trying to do should work, but without the code for
  setting the
  different stateset to the appropriate nodes I can't say what exactly
  the
  problem is.  The fact that you refer to NodeCParent  looks suspect,
  you
  should apply directly to NodeC as NodeCParent is NodeA...

  On Mon, Apr 14, 2008 at 7:36 PM, Judie Stanley
  [EMAIL PROTECTED]
  wrote:

  This is an exisiting project.
  Here is the basic node structure:

                      Root
                         |
                      NodeA
                       /       \
               NodeB     NodeC

  I want to disable writes to the color buffer before Node A, and
  then I don't want to enable them until Node C. That way, Node A,
  and Node B are drawn but only the depth buffer is updated, but then
  when Node C is drawn, both the color buffer and the depth buffer
  are updated.

 --
 Bryan Thrall
 FlightSafety International
 [EMAIL PROTECTED]
 ___
 osg-users mailing list
 [EMAIL 
 PROTECTED]://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph...-
  Hide quoted text -

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


[osg-users] More help with state changes

2008-04-14 Thread Judie Stanley
This is an exisiting project.
Here is the basic node structure:

Root
   |
NodeA
 /   \
 NodeB NodeC

I want to disable writes to the color buffer before Node A, and then I don't
want to enable them until Node C. That way, Node A, and Node B are drawn but
only the depth buffer is updated, but then when Node C is drawn, both the
color buffer and the depth buffer are updated.

Here is my code:

osg::ColorMask *colormaskOff = new osg::ColorMask(false, false, false,
false);
osg::ColorMask *colormaskON = new osg::ColorMask(true, true, true, true);

osg::StateSet* state = NodeAParent-getOrCreateStateSet();
state-setAttribute(colormaskOff);

 osg::StateSet* state2 = NodeCParent-getOrCreateStateSet();
state2-setAttribute(colormaskON);

So you can see my dilema.

In the code I see that the glColorMask gets called with the correct data,
however, because of the graph topology, NodeA and NodeB get drawn to the
color buffer even though I disabled it in the Root (NodeAParent), it gets
enabled for NodeA (NodeCParent).

Is it possible to stick come kind of node inbetween NodeA and NodeC? What
type of node should that be? Can there be a blank node?

Thanks,

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


[osg-users] Examples for using image as a background

2008-04-10 Thread Judie Stanley
Trying to add video capture as the background to a scene.

I am not very familiar with osg and am working in an existing code base. The
render loop calls SceneView::Draw which apparently does all the traversal.
Unfortunately for me, it also clears the color buffer so I don't see my
video capture if I enable this call, but then if I disable it, I only see
my video capture - drawn using OpenGL, because of course, the scene is not
drawn.

Is there a way to disable clearing the color buffer?

Another way would be if I could set the video capture as the background.

I have searched and see there is such a thing as a osg::ImageBackground
object. However, I searched the osg solution (osg 2.0) and nothing was found
has the name changed?
http://www.opensg.org/doc-1.6.0/classosg_1_1ImageBackground.html

Does anybody know of some sample code?

Thanks,

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


[osg-users] Can I disable color buffer writes before a certain node and enable it after?

2008-04-10 Thread Judie Stanley
Hi,

Can I do this?

I want to insert a state node in the scene graph before and after a certain
node (that has geometry) that will disable color buffer writes and then
enable them.

flow like this:

start-disable color buffer writes - draw node -enable color buffer writes
- draw next node

Is this possible?

Thanks,

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


Re: [osg-users] Need Build Support OSG 2.2.0\STLPort 4.5\VC 6

2008-04-03 Thread Judie Stanley
Hi Robert,

I am a new user. I newly downloaded OSG 2.2.0.. I read the documentation and
followed the instructions for VS6. It did not work so I figured I had missed
something. It was not a flame! I work for a Japanese company in the USA and
I have only worked here for 5 months and they use VS6 for this monolithic
code base. So I am currently trying to port it to VS8 (as of yesterday). It
requires a lot of changes and Japan has to approve every code change (with
no body who will take responsibility).

Anyway, I was mislead by the installation documentation to believe that I
could install STLPort 4.5 and OSG 2.2.0 would work with VS6.

Thanks,

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


[osg-users] Need Build Support OSG 2.2.0\STLPort 4.5\VC 6

2008-04-01 Thread Judie Stanley
\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
NodeTrackerCallback.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
OperationThread.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Program.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\src\osg
\Program.cpp(2283) : error C2086: 'itr' : redefinition
ShadowVolumeOccluder.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Generating Code...
Compiling...
ShapeDrawable.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
StateSet.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Switch.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\src\osg
\Switch.cpp(210) : error C2374: 'pos' : redefinition; multiple
initialization
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\src\osg
\Switch.cpp(193) : see declaration of 'pos'
TexMat.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Texture.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Texture1D.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Texture2D.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Texture2DArray.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Texture3D.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
TextureCubeMap.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
TextureRectangle.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
TransferFunction.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Transform.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
View.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
dxtctool.cpp
C:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include\osg/
OperationThread(35) : error C2437: 'Referenced' : already initialized
Generating Code...
Error executing cl.exe.

ALL_BUILD - 58 error(s), 0 warning(s)

I hope this looks familiar to somebody and I can get a quick fix.

Thanks,

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