[vtkusers] re: Try again - merging
Sean McInerney
seanm at nmr.mgh.harvard.edu
Thu Aug 19 14:48:51 EDT 2004
Uhh ... yeah ... that was my point ... but perhaps I was too detailed.
If you want to texture map to a sphere without artifact, you cannot
merge ... period. BTW, you will still need to do the suggested
offsetting to avoid a singularity at the north pole ... and the
subsequent cataclysmic explosion ;-)
I have attached your code minus merges and plus offsetting fixes.
Rock on.
-Sean
Jared Cohen wrote:
> Well, I tried using the offset, and the back-and-forth transform series.
> But once it passed through the CleanPolyData filter, it STILL gave me
> the band-o'-crap down the side. I'm starting to reach the same
> conclusion that I had reached the last time I tried this -- namely, that
> merging the points just isn't worth the headache. ;-)
>
> Sean McInerney wrote:
>
>> Jared,
>>
>> You'll notice that the band of crap on your sphere is actually your
>> entire texture mirror mapped onto that single strip of polygons ...
>> not just from the center as I said previously ... unless that strip is
>> 1 pixel wide ;-)
>>
>> -Sean
>>
>> Sean McInerney wrote:
>>
>>> Hi Jared,
>>>
>>> Actually, I think that I do understand your problem. If you merge
>>> the non-polar points along the edges of the plane mapped to the
>>> sphere, what are the texture coordinates of those points? Get it?
>>> Before the merge, they're zero (0) on one side, one (1) on the other.
>>> After the merge, you are getting an interpolation between 0 and 1 /
>>> thetaRes - 1 (i.e. some crap from the center of your image being
>>> placed along that border). Furthermore, by using the offsetting that
>>> I suggest, as well as going back and forth with the transform, you'll
>>> avoid having a black hole at the north pole (you'll see what I mean).
>>> The bottom line is that, for you, the only points worth merging are
>>> probably the poles. Even then, you'll end up with texture artifact
>>> that won't show up with merging.
>>>
>>> So, this doesn't solve the *grand* merging debate, but it may solve
>>> yours ;-)
>>>
>>> -Sean
>>>
>>> Jared Cohen wrote:
>>>
>>>> Thanks, but I don't think you understand the problem. I can close
>>>> the gap just fine, but the two edges will overlap without being
>>>> merged together. It's when I merge them using a CleanPolyData filter
>>>> that I get the warping effect.
>>>>
>>>>
>>>>
>>>>> Hi Jared,
>>>>>
>>>>> I have some C++ code based on the spherical Tcl example that I
>>>>> think solves your problem. It avoids a singularity at the Z axis by
>>>>> offsetting the plane by a very small amount. I am attaching the
>>>>> source file 'spherical.cxx'. It takes any valid 2D vtkImageReader2
>>>>> input and maps it to a sphere in the manner that you describe.
>>>>>
>>>>> The Cmake configuration stuff is as follows:
>>>>>
>>>>> ADD_EXECUTABLE (spherical spherical.cxx)
>>>>> TARGET_LINK_LIBRARIES (spherical vtkRendering vtkIO vtkGraphics)
>>>>>
>>>>> -Sean
>>>>>
>>> _______________________________________________
>>> This is the private VTK discussion list. Please keep messages
>>> on-topic. Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: spherical.py
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20040819/e7623845/attachment.asc>
More information about the vtkusers
mailing list