Skip to content

[Bounty: $250] Coherent noise fuzzy skin support #7467

@Arachnid

Description

@Arachnid

Is there an existing issue for this feature request?

  • I have searched the existing issues

Is your feature request related to a problem?

The existing support for fuzzy skin uses a naive approach that generates random displacements for the skin. The result looks better than printing artefacts, but still a long way from looking like the textured surfaces commonly found on injection moulded parts.

Which printers will be beneficial to this feature?

All

Describe the solution you'd like

Implement fuzzy skin generation using a coherent noise library such as libnoise. This should be fairly straightforward to do; libnoise lets you sample noise anywhere in a 3-dimensional space, so the existing fuzzy skin code can be modified to interpolate each affected perimeter at fixed intervals, then sample the noise function at the interpolated coordinates to determine the displacement for each point. The main complexity appears to be getting the current z-height inside the perimeter generation functionality.

Libnoise provides several configurable parameters, documented here; it would make sense to expose the octave count, frequency, and persistence values as configurable parameters to users, alongside the existing distance and thickness metrics, which remain relevant.

Describe alternatives you've considered

I considered applying perlin noise as a surface texture prior to importing it to the slicer, but this increases the size of the model and adds workflow steps, while making it less accessible to people.

Additional context

I'd love to have access to this functionality, but I'm unfamiliar with CMake and the codebase, so I'll happily pay $250 - via PayPal or in stablecoins - to anyone who's prepared to implement this and can get their PR accepted by the OrcaSlicer devs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions