Star-ScatteringFunctions Simulate scattering effects at surfaces and in volumes

Star-SF 0.6 is available

Star-ScatteringFunctions is a C library that provides abstraction to describe scattering effects at a surface through Bidirectional Scattering Distribution Functions (BSDF), microfacet distributions and fresnel terms, and in a volume with phase functions. The main target of Star-SF are programmers that have to evaluate or sampled these scattering effects.

Phase function
2D illustration of a phase function: probability to scatter in any direction

The Star-SF API makes no reference to the implementation of the aforementionned data structures. In addition, it publicly exposes their interface. Consequently, the user can not only switch the BSDF, microfacet distribution, fresnel term or phase function without any impact on the application source code, but also he can provide its own implementations of these structures while still relying on Star-SF in its simulation code.

Beyond the legacy specular and lambertion reflections, Star-SF implements several scattering functions, from the ones simulating glossy reflections through microfacet distributions to BSDFs that handle specular effects of an interface between dieliectric media. For volumetric scattering, Star-SF provides built-in implementation of the Henyey & Greenstein and Rayleigh phase functions.

Release notes

Version 0.6

Version 0.5

Version 0.4

Version 0.3

Version 0.2


Copyright © 2016-2018 |Meso|Star>. Star-ScatteringFunctions is free software released under the GPL v3+ license: GNU GPL version 3 or later. You are welcome to redistribute it under certain conditions; refer to the license for details.