Skip to content

some sprites filled with a color on alpha pixels to truecolors png #129

Description

@MyFriendPKMN

guys a user reported me an issue on my mod but i think is something with voxel loading sprites with 3d battle on with true color png

when the sprite has just one pixel or 2 of distance in the line and close this line it seems fills or apply some AA to the image(even if AA IS OFF on menu) and create something that dont exists on the back trainer png during the battle

an example filling (i deleted the image arround due its an original character from the player and the artist dont want share those sprites with everyone.

back.png is the original sprite with true colors applied, and the image.png is a print that i put an arrow to show where it fill

Image Image

another POC example, the transparent area closed to the strange form is filled by something to reproduce on another image and check if isnt a corrupted image or something else
battlestyle a
Image
battlestyle b
Image

sprite
Image
if 3d battle off
Image

some suggestions to investigate:

  1. Alpha Bleeding
    Even with Anti-Aliasing (AA) disabled in the settings, the voxel generation routine might be performing improper texture sampling. When a 100% transparent pixel is tightly "squeezed" between colored pixels, the internal texture filter can blend the values, causing the transparent pixel to gain a slight amount of opacity (e.g., the alpha value shifts from 0.0 to 0.1). If the voxel generation code relies on a binary check (e.g., if pixel.alpha > 0 then create_solid_block), this minor bleeding creates "ghost blocks" precisely within those narrow gaps.

  2. Greedy Meshing
    To maintain a steady FPS, voxel algorithms rarely render every single cube individually. Instead, they often employ optimization techniques to merge adjacent blocks into larger polygons. It is quite possible that the other developer's algorithm includes a "geometry simplification" rule that ignores very thin gaps (1 pixel wide) to reduce the 3D mesh's triangle count, effectively merging the two edges into a single solid block.

  3. Marching Cubes or "Shell" Algorithms
    If the mod attempts to create an outline or give the original sprite a more rounded volume, 1-pixel gaps can cause conflicts during the generation of the 3D model's normals. The system attempts to "close" the model, resulting in the creation of these unwanted web-like artifacts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions