Re: [osg-users] Draw Instanced intersections

2017-01-03 Thread Sebastian Messerschmidt

Hi Bruno,

There is simply no geometry in the scenegraph to intersect (or strictly 
speaking there is only one drawable)


Instancing takes away the load from the CPU to the GPU,which on the 
OSG-side means to put the instanced geometries into one drawable 
containing the instancing information.


You could use two scenes representing the rendered scene using the 
instances and another using  multiple drawables for intersection 
determination. If it is rather static, KD-Trees will help with 
performance on the intersection-set.



Apart from this, you could overwrite the intersections of DrawArrays 
with some method that takes instances into account, but that might get 
tricky as there are many different ways to realize instancing. I'd go 
with two scenes, using different node-masks for the intersection and the 
"draw"-scene, as it is the easiest approach.


Cheers
Sebastian




Hi, Oliveira,

there maybe many reasons that why no intersection. I cannot give you
advise without more information. u can check about examples within OSG
source code, e.g. "osgintersection".

--
Cheers,
---
TianZJ




At 2017-01-03 17:55:02, "Bruno Oliveira"
> wrote:

Hi TianZJ, Thanks for the quick answer.

I checked the intersector, but intersector->getIntersections()
returns no intersections at all.



2017-01-03 9:32 GMT+00:00 tianzjyh >:

Hi, Oliveira,
You can check the intersections of your intersector(e.g.
LineSegmentIntersector::Intersection), and you will find they
contain an "osg::NodePath", which means the whole path of the
node(e.g. matrix transform nodes upon the drawable instance).


--


Cheers,
---
TianZJ

At 2017-01-03 16:58:16, "Bruno Oliveira"
> wrote:

Hello,

I'm implementing a draw instanced optimized scene. This is
for drawing a set of polygons.

Previously I was creating a drawable for each polygon, but
now I am using draw instancing. With one drawable per
polygon I can easily use osg intersectors for computing
scene intersections. But how can I perform scene
intersections with draw instanced objects and get, for
instance, intersected instance IDs?






___
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


Re: [osg-users] Draw Instanced intersections

2017-01-03 Thread tianzjyh
Hi, Oliveira,


there maybe many reasons that why no intersection. I cannot give you advise 
without more information. u can check about examples within OSG source code, 
e.g. "osgintersection".


--

Cheers, 
---
TianZJ






At 2017-01-03 17:55:02, "Bruno Oliveira"  
wrote:

Hi TianZJ, Thanks for the quick answer.


I checked the intersector, but intersector->getIntersections() returns no 
intersections at all.





2017-01-03 9:32 GMT+00:00 tianzjyh :

Hi, Oliveira,
You can check the intersections of your intersector(e.g. 
LineSegmentIntersector::Intersection), and you will find they contain an 
"osg::NodePath", which means the whole path of the node(e.g. matrix transform 
nodes upon the drawable instance).



--





Cheers, 
---
TianZJ

At 2017-01-03 16:58:16, "Bruno Oliveira"  
wrote:

Hello,


I'm implementing a draw instanced optimized scene. This is for drawing a set of 
polygons.


Previously I was creating a drawable for each polygon, but now I am using draw 
instancing. With one drawable per polygon I can easily use osg intersectors for 
computing scene intersections. But how can I perform scene intersections with 
draw instanced objects and get, for instance, intersected instance IDs?






 


___
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] Draw Instanced intersections

2017-01-03 Thread Bruno Oliveira
Hi TianZJ, Thanks for the quick answer.

I checked the intersector, but intersector->getIntersections() returns no
intersections at all.



2017-01-03 9:32 GMT+00:00 tianzjyh :

> Hi, Oliveira,
> You can check the intersections of your intersector(e.g.
> LineSegmentIntersector::Intersection), and you will find they contain an
> "osg::NodePath", which means the whole path of the node(e.g. matrix
> transform nodes upon the drawable instance).
>
>
> --
>
>
> Cheers,
> ---
> TianZJ
>
> At 2017-01-03 16:58:16, "Bruno Oliveira" 
> wrote:
>
> Hello,
>
> I'm implementing a draw instanced optimized scene. This is for drawing a
> set of polygons.
>
> Previously I was creating a drawable for each polygon, but now I am using
> draw instancing. With one drawable per polygon I can easily use osg
> intersectors for computing scene intersections. But how can I perform scene
> intersections with draw instanced objects and get, for instance,
> intersected instance IDs?
>
>
>
>
>
> ___
> 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] Draw Instanced intersections

2017-01-03 Thread tianzjyh
Hi, Oliveira,
You can check the intersections of your intersector(e.g. 
LineSegmentIntersector::Intersection), and you will find they contain an 
"osg::NodePath", which means the whole path of the node(e.g. matrix transform 
nodes upon the drawable instance).



--





Cheers, 
---
TianZJ

At 2017-01-03 16:58:16, "Bruno Oliveira"  
wrote:

Hello,


I'm implementing a draw instanced optimized scene. This is for drawing a set of 
polygons.


Previously I was creating a drawable for each polygon, but now I am using draw 
instancing. With one drawable per polygon I can easily use osg intersectors for 
computing scene intersections. But how can I perform scene intersections with 
draw instanced objects and get, for instance, intersected instance IDs?

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