FFSeamFixer
During rasterization, only pixels are drawn, which center points lie withing a triangle. This means, that pixels of the texture, which lie barely outside of an UV island, are not drawn during paining/decal projection, but can be visible during rendering of the model. This will be visible as artifacts at UV seams of the mesh.
The FFSeamFixer
solves this problem, by expanding the color at the border of the UV islands outwards a few pixels.
Note! when using fluid simulation, these seam artifacts are fixed for the fluid TextureChannel
by the FFSimulator
automatically, or FFEffects
when using a FFParticleSimulator
Performance
The FFSeamFixer
only fixes seams on targeted Texture Channels
which have been marked as updated by the FFCanvas
.
You can manually mark a Texture Channel
as modified by calling the MarkModified(textureChannel);
method.
When using the CUSTOM
update mode, call the FixModifiedChannels()
method, to trigger an update manually.
Cache
For finding the UV islands' borders, the Surfaces
have to be rendered to an internal RenderTexture
first.
The Use Cache
field allows to cache this internal texture for future use, instead of regenerating it each update.
This requires some memory on the GPU, but reduces drawcalls/overhead of fixing seam.