thanks for the plugins, I have tried them. but I found some problems:
1. I used the splatrenderer, found it works on the chameleon4k.pts dataset, but when I tried my own created ply models (which including vertex positions, normals and colors), it does not work, when I select the splatting menu, the model just does not show, does your plugin need the model to have any properties?
2. I tried the MLS plugin too, but it does not work, using the chameleon4k.pts dataset, the program crash on
template<typename _Scalar>
void BallTree<_Scalar>::queryNode(Node& node, Neighborhood<Scalar>* pNei) const
{
if (node.leaf)
{
for (unsigned int i=0 ; i<node.size ; ++i)
{
int id = node.indices[i];
Scalar d2 = vcg::SquaredNorm(mQueryPosition - mPoints[id]); //crash on this line ( seems the id is wrong, the value is -104333106....
Scalar r = mRadiusScale * mRadii[id];
if (d2<r*r)
pNei->insert(id, d2);
}
}
could you figure it out? thanks!
shubo
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Hi all,
to keep everybody up to date, I think it is time to present a bit the point based related stuffs I recently added in meshlab, so here you go:
1 - a high quality splatting renderer to quickly render point clouds equipped with normals. (in meshlabplugins/splatrenderer)
It implements a perspective accurate splatting algorithm with deferred shading for high quality phong shading. You can scale the size of the splats, as usual, with alt+wheel.
To try it, open src/sample/chameleon4k.pts or src/sample/bunny16.pts, and select Render->Shaders->splatting (those two models are very sparse, so no high quality here ! ).
As any piece of code which highly relies on somewhat advanced hardware features, it is likely to not work on any systems yet. So I'll be happy to get feedback on systems other than Linux + nvidia 8x00 (which should work well) and Linux + ATI (which does not work because of a 5 years old bug in ATI cards/drivers).
2 - MLS based surface reconstruction and smoothing. (in meshlabplugins/mlsfilter)
These filters are in Filters->Point Set and they implement APSS which is based on spherical fit (it can also do plane fit by setting the spherical parameter to 0). The other one called ##### is experimental.
To try it, open src/sample/chameleon4k.pts, look a bit at the very low sampling density of the model, do a marching cube extraction with APSS and change the parameters to:
- Filter scale = 2.1
- grid resolution = 750 (here we need a dense grid to capture the fine parts of the model)
and wait a couple of seconds... It also work very well at noise removal. In that case you'll have to increase the filter scale parameter to increase the smoothness (and computation time !).
The "projection" filter project a mesh/points onto the MLS surface. You can project a mesh/points on itself but in that case the initial MLS surface is lost (because after the projection the points/vertices define a different surface). So in practice is is better to first clone the model.
cheers,
gael.
|