Thanks Dahlia! That level of detail provides a lot of insight into this issue.
Thanks for that part which you did implement, some functionality is always better than none ;) Also thank you for your willingness to support those who might move the work forward. Cheers! James On Feb 26, 2014 3:43 PM, "Dahlia Trimble" <dahliatrim...@gmail.com> wrote: > FWIW... > > I'm the one who wrote most of the collision geometry code in > OpenSimulator. Someone else wrote llCastRay(). From my understanding and > from memory of past conversations, the author(s) of llCastRay implemented > what they could given the constraints of object accessibility in the core > OpenSimulator and timing needs of llCastRay. Bounding boxes are easier to > get to than the geometry, which is usually passed to the physics engine of > choice from a manager object which is generally inaccessible. There is a > way to ask ODE to do a raycast against geometry, however, it requires a > time delay between physics frames as the requests must be queued and the > responses retrieved on the next frame. I was told this is an unacceptable > delay although I did not research it any further to see if this is really > the case. I'm not sure if Bullet has the same capability but I'd be > surprised if it didn't. > > I'm not sure about other devs, but in my case the reason I have not > implemented a more accurate llCastRay() is that I don't get paid for my > contributions to OpenSimulator and hence I usually don't implement anything > unless I need it and nobody else will do it. Often (but not always) when I > do implement such features I choose to share them with the community by > committing them to core, as I believe this is how open source works: many > people contribute and the whole becomes greater than the sum of the parts. > Unfortunately I have no need for llCastRay() at this time and I am pretty > busy so I probably wont be considering improving it for quite some time, if > ever. However, I am willing to share my insights about collision geometry > with others who would endeavor to implement it. > > > On Wed, Feb 26, 2014 at 6:07 AM, James Stallings II < > james.stalli...@gmail.com> wrote: > >> My apologies if you found my contribution discouraging; my intent was >> exactly the opposite. To be quite explicit, I encourage anyone who can >> improve this functionality to do so; for the rest of us, we must have faith >> that those who can contribute to the improvement of the code, eventually >> will. >> >> My experience has been that some things are more difficult than others to >> accomplish; and OpenSim devs, despite myth and appearances, are human too >> ;) >> >> Implementations of these things often happen in stages. First some >> groundwork is laid, and then improvements are added incrementally. I rather >> suspect that will be and has been the case as concerns llCastRay. First the >> framework is established simply with bounding boxes; then projection of the >> bounding box intersection onto the mesh, etc. It's even fairly likely that >> one will finish what another has begun, though it is not always the case. >> >> I think the point is, we all know what the ideal functionality of >> llCastRay is; and we all know it's desirable to have that functionality. My >> message is, it will eventually happen, and if we are not in a position to >> do it ourselves (I know I'm not in such a position), the best we can do is >> have a little faith, note the current behavior, and watch for improvements. >> >> A well phrased mantis is always good, as it keeps the need for >> improvement in view of the devs; but complaints about lack of functionality >> on mailing lists rarely do more than rub people the wrong way; the very >> people who will likely improve the code. This is something that has taken >> me YEARS to get through my thick skull; which is why I rarely post to this >> list these days ;) >> >> In any case, don't let me slow your roll :) >> >> >> Cheers >> >> James >> >> >> On Feb 26, 2014 7:26 AM, "Dr Ramesh Ramloll" <r.raml...@gmail.com> wrote: >> >>> Hi James, >>> It is important for user to make their needs known. Often optimization >>> decisions for invisible underlying important stuff are made that may impact >>> user needs at the top. It is crucial here for users not to be discouraged >>> to voice their opinions in a civil way (which I think we were doing). Some >>> things may be needed at the top user level but can cannot be implemented >>> because it would mess up underlying thing that is important. I do >>> understand that, designing complex systems is almost always about comprise. >>> In this case, a bounding box may have been opted for may be because it is >>> faster for scenes containing large number of objects (and less error prone >>> than for complex shapes)... and it could be that a decision was made to >>> sacrifice precision of values returned by llCastRay for speed and that >>> would be understandable. In short, most people are mature enough to know >>> that competing concerns arise often and is typical, BUT stakeholders have >>> the right to try to influence direction and motivate development ... >>> hopefully statements in that regard would not be viewed as a sign of >>> "impatience". >>> Hence the need for conversation... certainly 'keep quiet while we work >>> patiently in the background' or 'why don't YOU do it?' is not a feature of >>> a lively and thriving community. >>> Sorry for the rant man, when llCastRay works, we found some really >>> beautiful things happening... >>> Ramesh >>> >>> >>> On Wed, Feb 26, 2014 at 7:46 AM, James Stallings II < >>> james.stalli...@gmail.com> wrote: >>> >>>> The key point being missed here is that OpenSim code is not 'frozen' or >>>> 'static' in any way. The llCastRay function is not exceptional in this >>>> respect; it could readily be extended (by someone knowledgeable in the >>>> subject area) to support the behavior that is anticipated based on the >>>> implementation in SL. >>>> >>>> Whether or not anyone participating in this discussion meets that >>>> description, it is quite likely that this will eventually happen; all >>>> that's required is a bit of patience and/or coding skill (depending on who >>>> you might be ;) >>>> >>>> Not to put too fine a point on it, but "...patches are welcome." For >>>> the rest of us, that translates as "Be patient." >>>> >>>> >>>> Cheers! >>>> James >>>> >>>> >>>> On Tue, Feb 25, 2014 at 10:20 PM, Dahlia Trimble < >>>> dahliatrim...@gmail.com> wrote: >>>> >>>>> OpenSimulator currently only uses bounding boxes for llCastRay(), >>>>> regardless of the physics engine selected. Other collisions are computed >>>>> in >>>>> the physics engine, and in the case of BulletSIm or ODE, are computed >>>>> against mesh triangles or convex hulls, and are usually quite accurate. >>>>> >>>>> >>>>> On Tue, Feb 25, 2014 at 7:46 PM, Dr Ramesh Ramloll < >>>>> r.raml...@gmail.com> wrote: >>>>> >>>>>> Hello, are we to assume that opensim will only use bounding boxes >>>>>> for llCastRay or when detecting collisions? There are a lot of >>>>>> compelling >>>>>> applications that require the data for the point at which the ray hits >>>>>> the >>>>>> surface of a mesh object or for the point of collision on a mesh object. >>>>>> Is >>>>>> this one area where Second Life is definitely ahead because of Havok4? I >>>>>> am >>>>>> not very familiar with the underlying opensim infrastructure, so would be >>>>>> glad to hear more about this. >>>>>> Thanks >>>>>> R >>>>>> >>>>>> >>>>>> On Tue, Feb 25, 2014 at 12:00 PM, Chris <mewtwo0...@gmail.com> wrote: >>>>>> >>>>>>> If I recall correctly, the default physics engine was switched to >>>>>>> BulletSim some time ago although I can't recall when. Assuming recent >>>>>>> code >>>>>>> is being used and also assuming the physics engine hadn't been switched >>>>>>> from default I would venture to say that BulletSim is likely being used, >>>>>>> but, that is just a guess on my part based on what I've seen and >>>>>>> experimented with myself; I have no idea what setup OSGrid is using >>>>>>> since >>>>>>> it has been a while since I've ran a sim connected there. >>>>>>> >>>>>>> I haven't had a chance to test this myself on BulletSim but I have >>>>>>> noticed some slight quirkiness with cast ray on some surfaces >>>>>>> (especially >>>>>>> angled prims). I've not given it a full run on tests as I haven't used >>>>>>> the >>>>>>> cast ray functions all that much in my scripting. >>>>>>> >>>>>>> >>>>>>> On 2/25/2014 10:48 AM, Handy Low wrote: >>>>>>> >>>>>>>> Gwyneth Llewelyn <gwyneth.llewelyn <at> gwynethllewelyn.net> >>>>>>>> writes: >>>>>>>> >>>>>>>> Hi Handy, >>>>>>>>> >>>>>>>>> Just for the sake of completeness, did you test with ODE or >>>>>>>>> BulletSim? I >>>>>>>>> >>>>>>>> believe the implementation might be >>>>>>>> >>>>>>>>> slightly different (or, then again, it's just my not-so-precise >>>>>>>>> testing). >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> - Gwyn >>>>>>>>> >>>>>>>>> On 25/02/2014, at 16:09, Handy Low wrote: >>>>>>>>> >>>>>>>>> Currently it seems that the OpenSim implementation of llCastRay() >>>>>>>>>> gives >>>>>>>>>> coordinates on a target object that lie on the bounding box of the >>>>>>>>>> >>>>>>>>> object >>>>>>>> >>>>>>>>> rather than on the face of the prim itself. >>>>>>>>>> >>>>>>>>>> For example, casting a ray at a pair of linked cubes in OpenSim >>>>>>>>>> will >>>>>>>>>> >>>>>>>>> generate >>>>>>>> >>>>>>>>> coordinates that lie on the cuboid bounding box that constrains >>>>>>>>>> both >>>>>>>>>> >>>>>>>>> cubes. >>>>>>>> >>>>>>>>> Likewise, casting a ray at a sphere will generate a point on the >>>>>>>>>> >>>>>>>>> sphere's >>>>>>>> >>>>>>>>> cubic bounding box. >>>>>>>>>> >>>>>>>>>> In SL, the same tests will both return points on the prim >>>>>>>>>> surfaces. >>>>>>>>>> >>>>>>>>>> Is this expected behaviour? >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> >>>>>>>>> Thanks to Michael and Gwen for the fast replies. >>>>>>>> >>>>>>>> Off the top of my head, I don't know which physics engine they were >>>>>>>> using, >>>>>>>> or how I can find out - the tests I've been doing have been in >>>>>>>> OSGrid >>>>>>>> (Sandbox Plaza) and in Kitely, if that's any help. >>>>>>>> >>>>>>>> -- >>>>>>>> Handy >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Opensim-users mailing list >>>>>>>> Opensim-users@lists.berlios.de >>>>>>>> https://lists.berlios.de/mailman/listinfo/opensim-users >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> OpenSim: 10 Region Standalone on 0.7.6 Dev >>>>>>> Physics: Open Dynamics Engine >>>>>>> OS: Windows 7 (x64) >>>>>>> CPU: AMD Phenom II X4 840 3.2 GHz >>>>>>> Memory: 11 GB DDR3 >>>>>>> Database: MySQL 5.1.63 (x64) >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Opensim-users mailing list >>>>>>> Opensim-users@lists.berlios.de >>>>>>> https://lists.berlios.de/mailman/listinfo/opensim-users >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 'Consider how the lilies grow. They do not labor or spin.' >>>>>> *Rameshsharma Ramloll* PhD, CEO CTO DeepSemaphore LLC, Affiliate >>>>>> *Research >>>>>> Associate Professor*, Idaho State University, Pocatello, ID 83209 >>>>>> Tel: 208-240-0040 >>>>>> LinkedIn <http://www.linkedin.com/in/rameshramloll>, DeepSemaphore >>>>>> LLC <http://www.deepsemaphore.com>, RezMela <http://www.rezmela.com> >>>>>> , Google+ profile<https://plus.google.com/103652369558830540272/about> >>>>>> >>>>>> _______________________________________________ >>>>>> Opensim-users mailing list >>>>>> Opensim-users@lists.berlios.de >>>>>> https://lists.berlios.de/mailman/listinfo/opensim-users >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Opensim-users mailing list >>>>> Opensim-users@lists.berlios.de >>>>> https://lists.berlios.de/mailman/listinfo/opensim-users >>>>> >>>> >>>> >>>> >>>> -- >>>> =================================== >>>> http://osgrid.org/ >>>> http://simhost.com >>>> http://twitter.com/jstallings2 >>>> >>>> >>>> _______________________________________________ >>>> Opensim-users mailing list >>>> Opensim-users@lists.berlios.de >>>> https://lists.berlios.de/mailman/listinfo/opensim-users >>>> >>> >>> >>> >>> -- >>> 'Consider how the lilies grow. They do not labor or spin.' >>> *Rameshsharma Ramloll* PhD, CEO CTO DeepSemaphore LLC, Affiliate *Research >>> Associate Professor*, Idaho State University, Pocatello, ID 83209 Tel: >>> 208-240-0040 >>> LinkedIn <http://www.linkedin.com/in/rameshramloll>, DeepSemaphore >>> LLC<http://www.deepsemaphore.com>, >>> RezMela <http://www.rezmela.com>, Google+ >>> profile<https://plus.google.com/103652369558830540272/about> >>> >>> _______________________________________________ >>> Opensim-users mailing list >>> Opensim-users@lists.berlios.de >>> https://lists.berlios.de/mailman/listinfo/opensim-users >>> >> >> _______________________________________________ >> Opensim-users mailing list >> Opensim-users@lists.berlios.de >> https://lists.berlios.de/mailman/listinfo/opensim-users >> > > > _______________________________________________ > Opensim-users mailing list > Opensim-users@lists.berlios.de > https://lists.berlios.de/mailman/listinfo/opensim-users >
_______________________________________________ Opensim-users mailing list Opensim-users@lists.berlios.de https://lists.berlios.de/mailman/listinfo/opensim-users