LuxCoreRender Hair and Fur

From LuxCoreRender Wiki
Revision as of 20:03, 14 December 2017 by Piita (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

LuxCoreRender includes a strand primitive to allow for efficient rendering of large collections of thin strands, such as hair, fur, grass, etc. It loads sets of curves in the cemyuskel hair format and tessellates them at load time. Since the strands produce actual geometry, they can use materials and support all lighting effects, including reflections, refractions, shadows, and global illumination, including from each other (for example, self-shadowing)


Tessellation options

The strand primitive includes several different methods for tessellating the hairs into the final shape, as follows:

Ribbon

This mode renders the strands as simple ribbons made of triangles. The primitive includes data of the camera position, allowing all ribbons to face towards the camera. This mode can be memory intensive so the adaptive-ribbon mode should be used instead. It will give similar results with a fraction of the memory use.

Adaptive Ribbon

This mode builds the strands as curves, then tessellates them into ribbons of triangles. Like the simple ribbon mode, it includes data on the position of the camera and will use that to ensure all ribbons face the camera. In addition, this mode will automatically adjust the polygon count of each ribbon to keep avoid building unnecessary geometry. This mode is recommended for large numbers of very fine strands, such as hair, fur, or grass.

Options

  • Max depth
    • Maximum tesselation depth for strands. If the render shows hairs with sharp corners instead of smooth curves, try increasing this value.
  • Max error
    • Maxiumum error tolerance during tesselation. Smaller values use more memory, but can prevent patchy or broken hair. If the render shows hairs with sharp corners instead of smooth curves, try decreasing this value.

Solid

Solid builds the hairs into mesh cylinders. This mode is very realistic, but also very memory intensive. In most cases, the adaptive solid mode should give similar results with a fraction of the memory useage.

Options

  • Side count
    • Number of sides of each cylinder. Higher values are smoother, but use more memory.
  • Cap bottom
    • Enables or disables caps on the roots of the strands
  • Cap top
    • Enables or disables caps on the tips of the strands

Adaptive Solid

Adaptive solid builds hairs into cylinders and adaptively tessellates them base on camera position. This mode works well for small numbers of thick hairs, such as porcupine quills.

Options

  • Side count
    • Number of sides of each cylinder. Higher values are smoother, but use more memory.
  • Cap bottom
    • Enables or disables caps on the roots of the strands
  • Cap top
    • Enables or disables caps on the tips of the strands
  • Max depth
    • Maximum tesselation depth for strands. If the render shows hairs with sharp corners instead of smooth curves, try increasing this value.
  • Max error
    • Maxiumum error tolerance during tesselation. Smaller values use more memory, but can prevent patchy or broken hair. If the render shows hairs with sharp corners instead of smooth curves, try decreasing this value.