Hi osgUsers, We have created huge forests using shapefiles to preprocess textures with positions where trees should be located. Then we instance all the trees using a shader, this works very well and we can have over 100000 trees without any framerate drop.
Because all the trees are instanced on the GPU we have no way of using intersection, because the geometry doesn't really exist. To solve this problem we decided to use a camera as a form of intersection. By setting the camera at a certain location and pointing it in the direction you want to intersect we render the scene, but instead of rendering an image of the scene we use a shader to save the positions for everything rendered, then we do a simple inverse view matrix on the position in the texture (center position) and we have a collision hitpoint in world coordinates. This works very well too, but but but.... because the camera is in it's own thread (multithreading) we are always a frame or two out of sync. So this is not a good solution for realtime :( we could of course change to single threaded,,.. by why? Is there another method of intersecting with instanced geometry in the GPU? any suggestions, anyone, regards, Peter Wraae Marino -- Bellinge Gymnasterne: http://www.bellingegymnasterne.dk Power Tumbling: http://www.powertumbling.dk OSG-Help: http://osghelp.com http://code.google.com/p/sigmaosg/
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org