hi,
for all poor owners of an ATI card, good news: (quoted from rev 2851):
Eventually the splatting renderer works on ATI too. Well the driver
still contains
a lot of bugs, so there is no high quality, and it is rather slow. So
the drivers bugs are:
- gl_FragCoords does not work with point primitive => quite expensive
workaround
to retrieve the coordinates of the fragments
- blending + floating point buffers => values are clamped to [0:1]
=> the buffer might overflow if too many splats accumulate on the same pixel
=> no deferred shading (because the normals have to be signed)
Anyway it is still better than nothing !
cheers,
gael.
On Sat, Oct 18, 2008 at 12:05 PM, Gael Guennebaud
<gae...@gm...> wrote:
> thanks a lot for the fix.
>
> actually I put the initialization of the leaf attribute with the
> initialization of other ones so that everything is done in the same
> place. (committed in rev 2816)
>
> gael.
>
> 2008/10/18 bshu <bs...@ic...>:
>> gael,
>>
>> thanks for the reply. I have found the cause of the crash of the MLS plugin,
>> seems problem from the rebuild function of the balltree:
>>
>> template<typename _Scalar>
>> void BallTree<_Scalar>::rebuild(void)
>> {
>> delete mRootNode;
>>
>> mRootNode = new Node();
>> IndexArray indices(mPoints.size());
>> AxisAlignedBoxType aabb;
>> aabb.Set(mPoints[0]);
>> for (unsigned int i=0 ; i<mPoints.size() ; ++i)
>> {
>> indices[i] = i;
>> aabb.min = Min(aabb.min, CwiseAdd(mPoints[i], -mRadii[i]*mRadiusScale));
>> aabb.max = Max(aabb.max, CwiseAdd(mPoints[i], mRadii[i]*mRadiusScale));
>> }
>> mRootNode->leaf = 0; // shall we add this line
>> to set the root node to a none leaf? because if not the root leaf's indices
>> will be wrong
>> buildNode(*mRootNode, indices, aabb, 0);
>>
>> mTreeIsUptodate = true;
>> }
>>
>> I added that line and the problem solved, could you please have a look at it
>> ? thanks!
>>
>> ________________________________
>> 2008-10-18
>> shubo
>> ________________________________
>> 发件人: Gael Guennebaud
>> 发送时间: 2008-10-17 15:17:56
>> 收件人: Meshlab development list
>> 抄送:
>> 主题: Re: [Meshlab-devel] point based stuff
>> 2008/10/17 bshu <bs...@ic... >
>>>
>>> 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?
>>
>> yes you need the radius property, so currently there is only one
>> filter which do this : Point Set - > Compute radius from density
>>
>>
>>> 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!
>>
>> ah weird, that's probably a buffer overflow, I'll check that. thanks
>> for the report.
>>
>> gael.
>>
>>> 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.
>>>
>>> -------------------------------------------------------------------------
>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>>> Grand prize is a trip for two to an Open Source event anywhere in the world
>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>> _______________________________________________
>>> Meshlab-devel mailing list
>>> Mes...@li...
>>> https://lists.sourceforge.net/lists/listinfo/meshlab-devel
>>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> Meshlab-devel mailing list
>> Mes...@li...
>> https://lists.sourceforge.net/lists/listinfo/meshlab-devel
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great
>> prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> Meshlab-devel mailing list
>> Mes...@li...
>> https://lists.sourceforge.net/lists/listinfo/meshlab-devel
>>
>>
>
|