From: doug s. <hig...@ho...> - 2014-09-05 23:14:07
|
Seems to be an old bug -in the last release- and it might be about ROUTING or node updates, or VF_Sensitive/upd_ray,getRayHit etc. If you drag the plane to one side with mouse down, then mouseup, then mousedown and do a tiny drag, it jumps. Not every time. http://dug9.users.sourceforge.net/web3d/tests/sensors/Plane.x3d -Doug more.. I checked in a few features: - AFFINE matrix ops - instead of doing full 4x4 matmultiply and inverse on a homogenous transform, if you know the matrix is affine (meaning no perspectives, the last column is 0,0,0) then you can cut your FLOPs in half. - GLU_UNPROJECT() is a brute and if you do it separately on 3 points, your rack up 588 FLOPS, by using affine functions, and doing the heavy matrix inversion once for a cluster of points to transform, you can save FLOPS. On a gigahertz processor doing one double every 2 cycles, or every cycle, you can barely see the difference. maybe on an ARM, or if its a monster scene. webgl is not bad for small widget scenes. Native code web3d viewers may extend their lifecycle serving the monster scene niche. - MBB (minimum bounding box/extent) check on touchsensor passes: if the pickray is outside the geometry's extent, skip the rendray() function. |