i've committed two more fixes - it now draws in the texture in the extra
space at the top of the tiled image when drawing from the bottom, and
calculates the adjusted V coordinate from the bottom, not the top
it looks like it's getting the right part of the image, but not exactly the
right coordinates
i'm going to do another test switching negative uv coords to positive and
see if they look the same
imran
On Wed, Jul 23, 2008 at 10:07 AM, skunkwerk <sku...@gm...> wrote:
> fixed the problem with uvs outside the 0-1 range. paolo, could you confirm
> that the rect_packer returns the position of the top-left corner of each
> texture?
>
> thanks,
>
> imran
>
> On Tue, Jul 22, 2008 at 9:06 PM, skunkwerk <sku...@gm...> wrote:
>
>> my test box has negative uv coords, and even though i try to correct for
>> them i end up with uv coords outside the 0-1 range. could someone confirm
>> the following negative to positive u/v coordinate equivalencies?
>>
>> thanks
>>
>> correcting negative: -1.89619 to
>> 1.10381
>>
>> correcting negative: -0.211469 to
>> 0.788531
>>
>> correcting negative: -0.211469 to
>> 0.788531
>>
>> correcting negative: -0.211469 to
>> 0.788531
>>
>> correcting negative: -1.89619 to
>> 1.10381
>>
>> correcting negative: -1.89619 to
>> 1.10381
>>
>> correcting negative: -1.89619 to
>> 1.10381
>>
>> correcting negative: -0.211469 to
>> 0.788531
>>
>> correcting negative: -1.89619 to
>> 1.10381
>>
>> correcting negative: -0.211469 to
>> 0.788531
>>
>> correcting negative: -1.89619 to
>> 1.10381
>>
>> correcting negative: -0.211469 to
>> 0.788531
>>
>> correcting negative: -0.379878 to
>> 0.620122
>>
>> correcting negative: -2.48578 to
>> 2.51422
>>
>> correcting negative: -2.48578 to
>> 2.51422
>>
>> correcting negative: -2.48578 to
>> 2.51422
>>
>> correcting negative: -0.379878 to
>> 0.620122
>>
>> correcting negative: -0.379878 to
>> 0.620122
>>
>> On Tue, Jul 22, 2008 at 8:11 PM, skunkwerk <sku...@gm...> wrote:
>>
>>> i made two more fixes to make the filter work, one of which was the order
>>> in which the textures were drawn into the atlas: i was starting at 0,0 at
>>> the top-left, whereas i believe meshlab wants 0,0 at the bottom-left.
>>>
>>> it works fine with this modified file:
>>> www.akbars.net/TextureDoublex2.ply
>>>
>>> but still not on my box...
>>>
>>> imran
>>>
>>>
>>> On Tue, Jul 22, 2008 at 6:06 PM, skunkwerk <sku...@gm...> wrote:
>>>
>>>> i've committed a fix that should now make the texturedouble.ply generate
>>>> correct UV coords...
>>>> however models with more complex texturing still don't work properly...
>>>>
>>>> any suggestions on how to debug this? i think i'll take the same
>>>> texturedouble.ply and try doubling the original uv coords to see how it
>>>> handles that...
>>>>
>>>> imran
>>>>
>>>>
>>>> On Tue, Jul 22, 2008 at 4:49 PM, skunkwerk <sku...@gm...> wrote:
>>>>
>>>>> paolo,
>>>>> you're correct, the assert was happening on a null image, even
>>>>> though i've put in a check to not do anything on null images... but i don't
>>>>> think any changes are necessary.
>>>>>
>>>>> i'll test out the texturedouble.ply and report back my findings
>>>>>
>>>>> i have been testing out this model (a simple cube with a different
>>>>> texture on every face):www.akbars.net/boxAtlasbig.zip
>>>>>
>>>>> the texture atlas is generated fine, but the resulting model does not
>>>>> look right. i looked through the debug output, and as far as i can see,
>>>>> each material's uvs are offset to the correct part of the texture atlas (i
>>>>> did this by comparing the material number of that face and its uvs to the
>>>>> position of that material in the atlas. the second division is the final uv
>>>>> that's saved):
>>>>> ------------------
>>>>>
>>>>> material 0 position: 805 , 1073
>>>>>
>>>>> U: 1.10381 V: 1.98863
>>>>>
>>>>> new (first division) U: 0.839221 new V: 0.740719
>>>>>
>>>>> new (second division) U: 0.955932 new V: 0.769647
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 0 position: 805 , 1073
>>>>>
>>>>> U: 0.788531 V: 0.303902
>>>>>
>>>>> new (first division) U: 0.599517 new V: 0.113197
>>>>>
>>>>> new (second division) U: 0.897179 new V: 0.593546
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 0 position: 805 , 1073
>>>>>
>>>>> U: 0.788531 V: 1.98863
>>>>>
>>>>> new (first division) U: 0.599517 new V: 0.740719
>>>>>
>>>>> new (second division) U: 0.897179 new V: 0.769647
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 0 position: 805 , 1073
>>>>>
>>>>> U: 0.788531 V: 0.303902
>>>>>
>>>>> new (first division) U: 0.599517 new V: 0.113197
>>>>>
>>>>> new (second division) U: 0.897179 new V: 0.593546
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 0 position: 805 , 1073
>>>>>
>>>>> U: 1.10381 V: 1.98863
>>>>>
>>>>> new (first division) U: 0.839221 new V: 0.740719
>>>>>
>>>>> new (second division) U: 0.955932 new V: 0.769647
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 0 position: 805 , 1073
>>>>>
>>>>> U: 1.10381 V: 0.303902
>>>>>
>>>>> new (first division) U: 0.839221 new V: 0.113197
>>>>>
>>>>> new (second division) U: 0.955932 new V: 0.593546
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 3 position: 0 , 1073
>>>>>
>>>>> U: 1.98863 V: 0
>>>>>
>>>>> new (first division) U: 0.740719 new V: 0
>>>>>
>>>>> new (second division) U: 0.555712 new V: 0.56178
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 3 position: 0 , 1073
>>>>>
>>>>> U: 0.303902 V: 1.00833
>>>>>
>>>>> new (first division) U: 0.113197 new V: 0.502075
>>>>>
>>>>> new (second division) U: 0.084924 new V: 0.720026
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 3 position: 0 , 1073
>>>>>
>>>>> U: 0.303902 V: 0
>>>>>
>>>>> new (first division) U: 0.113197 new V: 0
>>>>>
>>>>> new (second division) U: 0.084924 new V: 0.56178
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 3 position: 0 , 1073
>>>>>
>>>>> U: 0.303902 V: 1.00833
>>>>>
>>>>> new (first division) U: 0.113197 new V: 0.502075
>>>>>
>>>>> new (second division) U: 0.084924 new V: 0.720026
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 3 position: 0 , 1073
>>>>>
>>>>> U: 1.98863 V: 0
>>>>>
>>>>> new (first division) U: 0.740719 new V: 0
>>>>>
>>>>> new (second division) U: 0.555712 new V: 0.56178
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 3 position: 0 , 1073
>>>>>
>>>>> U: 1.98863 V: 1.00833
>>>>>
>>>>> new (first division) U: 0.740719 new V: 0.502075
>>>>>
>>>>> new (second division) U: 0.555712 new V: 0.720026
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 2 position: 805 , 1609
>>>>>
>>>>> U: 1.10381 V: 0
>>>>>
>>>>> new (first division) U: 0.839221 new V: 0
>>>>>
>>>>> new (second division) U: 0.905876 new V: 0.842408
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 2 position: 805 , 1609
>>>>>
>>>>> U: 0.788531 V: 1.00833
>>>>>
>>>>> new (first division) U: 0.599517 new V: 0.502075
>>>>>
>>>>> new (second division) U: 0.86142 new V: 0.921531
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 2 position: 805 , 1609
>>>>>
>>>>> U: 1.10381 V: 1.00833
>>>>>
>>>>> new (first division) U: 0.839221 new V: 0.502075
>>>>>
>>>>> new (second division) U: 0.905876 new V: 0.921531
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 2 position: 805 , 1609
>>>>>
>>>>> U: 0.788531 V: 1.00833
>>>>>
>>>>> new (first division) U: 0.599517 new V: 0.502075
>>>>>
>>>>> new (second division) U: 0.86142 new V: 0.921531
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 2 position: 805 , 1609
>>>>>
>>>>> U: 1.10381 V: 0
>>>>>
>>>>> new (first division) U: 0.839221 new V: 0
>>>>>
>>>>> new (second division) U: 0.905876 new V: 0.842408
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 2 position: 805 , 1609
>>>>>
>>>>> U: 0.788531 V: 0
>>>>>
>>>>> new (first division) U: 0.599517 new V: 0
>>>>>
>>>>> new (second division) U: 0.86142 new V: 0.842408
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 5 position: 310 , 1675
>>>>>
>>>>> U: 0.620122 V: 0
>>>>>
>>>>> new (first division) U: 0.214271 new V: 0
>>>>>
>>>>> new (second division) U: 0.346621 new V: 0.876963
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 5 position: 310 , 1675
>>>>>
>>>>> U: 2.51422 V: 1.26042
>>>>>
>>>>> new (first division) U: 0.86874 new V: 0.557604
>>>>>
>>>>> new (second division) U: 0.522895 new V: 0.942942
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 5 position: 310 , 1675
>>>>>
>>>>> U: 2.51422 V: 0
>>>>>
>>>>> new (first division) U: 0.86874 new V: 0
>>>>>
>>>>> new (second division) U: 0.522895 new V: 0.876963
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 5 position: 310 , 1675
>>>>>
>>>>> U: 2.51422 V: 1.26042
>>>>>
>>>>> new (first division) U: 0.86874 new V: 0.557604
>>>>>
>>>>> new (second division) U: 0.522895 new V: 0.942942
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 5 position: 310 , 1675
>>>>>
>>>>> U: 0.620122 V: 0
>>>>>
>>>>> new (first division) U: 0.214271 new V: 0
>>>>>
>>>>> new (second division) U: 0.346621 new V: 0.876963
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 5 position: 310 , 1675
>>>>>
>>>>> U: 0.620122 V: 1.26042
>>>>>
>>>>> new (first division) U: 0.214271 new V: 0.557604
>>>>>
>>>>> new (second division) U: 0.346621 new V: 0.942942
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 4 position: 0 , 1675
>>>>>
>>>>> U: 0.264336 V: 0
>>>>>
>>>>> new (first division) U: 0.0851076 new V: 0
>>>>>
>>>>> new (second division) U: 0.0245884 new V: 0.876963
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 4 position: 0 , 1675
>>>>>
>>>>> U: 2.37024 V: 1.26042
>>>>>
>>>>> new (first division) U: 0.76314 new V: 0.557604
>>>>>
>>>>> new (second division) U: 0.220478 new V: 0.942942
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 4 position: 0 , 1675
>>>>>
>>>>> U: 0.264336 V: 1.26042
>>>>>
>>>>> new (first division) U: 0.0851076 new V: 0.557604
>>>>>
>>>>> new (second division) U: 0.0245884 new V: 0.942942
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 4 position: 0 , 1675
>>>>>
>>>>> U: 2.37024 V: 1.26042
>>>>>
>>>>> new (first division) U: 0.76314 new V: 0.557604
>>>>>
>>>>> new (second division) U: 0.220478 new V: 0.942942
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 4 position: 0 , 1675
>>>>>
>>>>> U: 0.264336 V: 0
>>>>>
>>>>> new (first division) U: 0.0851076 new V: 0
>>>>>
>>>>> new (second division) U: 0.0245884 new V: 0.876963
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 4 position: 0 , 1675
>>>>>
>>>>> U: 2.37024 V: 0
>>>>>
>>>>> new (first division) U: 0.76314 new V: 0
>>>>>
>>>>> new (second division) U: 0.220478 new V: 0.876963
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 1 position: 0 , 0
>>>>>
>>>>> U: 1.89619 V: 0.303902
>>>>>
>>>>> new (first division) U: 0.70629 new V: 0.113197
>>>>>
>>>>> new (second division) U: 0.70629 new V: 0.0635917
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 1 position: 0 , 0
>>>>>
>>>>> U: 0.211469 V: 1.98863
>>>>>
>>>>> new (first division) U: 0.0787676 new V: 0.740719
>>>>>
>>>>> new (second division) U: 0.0787676 new V: 0.416121
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 1 position: 0 , 0
>>>>>
>>>>> U: 0.211469 V: 0.303902
>>>>>
>>>>> new (first division) U: 0.0787676 new V: 0.113197
>>>>>
>>>>> new (second division) U: 0.0787676 new V: 0.0635917
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 1 position: 0 , 0
>>>>>
>>>>> U: 0.211469 V: 1.98863
>>>>>
>>>>> new (first division) U: 0.0787676 new V: 0.740719
>>>>>
>>>>> new (second division) U: 0.0787676 new V: 0.416121
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 1 position: 0 , 0
>>>>>
>>>>> U: 1.89619 V: 0.303902
>>>>>
>>>>> new (first division) U: 0.70629 new V: 0.113197
>>>>>
>>>>> new (second division) U: 0.70629 new V: 0.0635917
>>>>>
>>>>> ------------------
>>>>>
>>>>> material 1 position: 0 , 0
>>>>>
>>>>> U: 1.89619 V: 1.98863
>>>>>
>>>>> new (first division) U: 0.70629 new V: 0.740719
>>>>>
>>>>> new (second division) U: 0.70629 new V: 0.416121
>>>>>
>>>>> global: 1073 , 1910
>>>>>
>>>>> inserted texture 0 into atlas at position: 805 1073
>>>>>
>>>>> inserted texture 1 into atlas at position: 0 0
>>>>>
>>>>> inserted texture 2 into atlas at position: 805 1609
>>>>>
>>>>> inserted texture 3 into atlas at position: 0 1073
>>>>>
>>>>> inserted texture 4 into atlas at position: 0 1675
>>>>>
>>>>> inserted texture 5 into atlas at position: 310 1675
>>>>>
>>>>>
>>>>> On Tue, Jul 22, 2008 at 4:30 PM, Paolo Cignoni <
>>>>> pao...@is...> wrote:
>>>>>
>>>>>> skunkwerk wrote:
>>>>>> > Hey Sebastian,
>>>>>> > this one worked for me: www.akbars.net/10.zip
>>>>>> > i've been testing with collada models from
>>>>>> > sketchup.google.com/3dwarehousebut that's because my version of the
>>>>>> > collada importer works ok with the
>>>>>> > textures - i don't think the one in subversion has been fixed yet...
>>>>>> >
>>>>>> > try increasing the size of the texture atlas until i can get the
>>>>>> resampled
>>>>>> > tiles working. i'm going to test out the results on a simple box
>>>>>> today
>>>>>> >
>>>>>> > paolo, the rect_packer.cpp has a bunch of asserts in it... i'd like
>>>>>> to
>>>>>> > change them to return false, so that the atlas will fail, but not
>>>>>> crash
>>>>>> > whenever some of the images are null, etc. the other way would be
>>>>>> to try to
>>>>>> > do those checks in the filter itself. which would you recommend?
>>>>>> >
>>>>>> > imran
>>>>>> >
>>>>>> > On Tue, Jul 22, 2008 at 3:25 AM, Sebastian Herholz <
>>>>>> > seb...@go...> wrote:
>>>>>> >
>>>>>> >
>>>>>>
>>>>>> I have tried too the atlas builder but it failed to build a correct
>>>>>> mesh
>>>>>> (but without crashing :) ) on the very very simple model
>>>>>> texturedouble.ply that you can find among the meshlab sample models.
>>>>>>
>>>>>> This model is composed by just two squares, each one of them textured
>>>>>> with a different texture.
>>>>>> your filter builds a correct atlas texture but it assigns wrong tex
>>>>>> coords to the mesh.
>>>>>>
>>>>>>
>>>>>> About the rect packer what are exactly the asserts that worry you?
>>>>>> From what i could see you they trigger on very trashy situations that
>>>>>> should be cleaned before (zero sized textures and so on). I could have
>>>>>> missed some, so what assert()'s did you refer to?
>>>>>>
>>>>>> cheers
>>>>>>
>>>>>> --
>>>>>> Paolo Cignoni -- Senior Researcher
>>>>>> Visual Computing Laboratory - ISTI - CNR
>>>>>> http://vcg.isti.cnr.it/~cignoni <http://vcg.isti.cnr.it/%7Ecignoni>
>>>>>>
>>>>>> ISTI - CNR
>>>>>> Via Moruzzi 1,
>>>>>> 56124 Pisa
>>>>>> ITALY
>>>>>>
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------
>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
|