|
HDK
|
#include <MaterialXRender/Export.h>#include <MaterialXRender/Image.h>#include <MaterialXRender/Types.h>
Include dependency graph for Harmonics.h:Go to the source code of this file.
Classes | |
| class | ShCoeffs< C, B > |
Typedefs | |
| using | Sh3ScalarCoeffs = ShCoeffs< double, 3 > |
| Double-precision scalar coefficients for third-order spherical harmonics. More... | |
| using | Sh3ColorCoeffs = ShCoeffs< Color3d, 3 > |
| Double-precision color coefficients for third-order spherical harmonics. More... | |
Functions | |
| MX_RENDER_API Sh3ColorCoeffs | projectEnvironment (ConstImagePtr env, bool irradiance=false) |
| MX_RENDER_API ImagePtr | normalizeEnvironment (ConstImagePtr env, float envRadiance, float maxTexelRadiance) |
| MX_RENDER_API void | computeDominantLight (ConstImagePtr env, Vector3 &lightDir, Color3 &lightColor) |
| MX_RENDER_API ImagePtr | renderEnvironment (const Sh3ColorCoeffs &shEnv, unsigned int width, unsigned int height) |
| MX_RENDER_API ImagePtr | renderReferenceIrradiance (ConstImagePtr env, unsigned int width, unsigned int height) |
Spherical harmonics functionality
Definition in file Harmonics.h.
| using Sh3ColorCoeffs = ShCoeffs<Color3d, 3> |
Double-precision color coefficients for third-order spherical harmonics.
Definition at line 62 of file Harmonics.h.
| using Sh3ScalarCoeffs = ShCoeffs<double, 3> |
Double-precision scalar coefficients for third-order spherical harmonics.
Definition at line 59 of file Harmonics.h.
| MX_RENDER_API void computeDominantLight | ( | ConstImagePtr | env, |
| Vector3 & | lightDir, | ||
| Color3 & | lightColor | ||
| ) |
Compute the dominant light direction and color of an environment map.
| env | An environment map in lat-long format. |
| lightDir | Returns the dominant light direction of the environment. |
| lightColor | Returns the color of the light from the dominant direction. |
| MX_RENDER_API ImagePtr normalizeEnvironment | ( | ConstImagePtr | env, |
| float | envRadiance, | ||
| float | maxTexelRadiance | ||
| ) |
Normalize an environment to the given radiance.
| env | An environment map in lat-long format. |
| envRadiance | The radiance to which the environment map should be normalized. |
| maxTexelRadiance | The maximum radiance allowed for any individual texel of the map. |
| MX_RENDER_API Sh3ColorCoeffs projectEnvironment | ( | ConstImagePtr | env, |
| bool | irradiance = false |
||
| ) |
Project an environment map to third-order SH, with an optional convolution to convert radiance to irradiance.
| env | An environment map in lat-long format. |
| irradiance | If true, then the returned signal will be convolved by a clamped cosine kernel to generate irradiance. |
| MX_RENDER_API ImagePtr renderEnvironment | ( | const Sh3ColorCoeffs & | shEnv, |
| unsigned int | width, | ||
| unsigned int | height | ||
| ) |
Render the given spherical harmonic signal to an environment map.
| shEnv | The color signal of the environment encoded as third-order SH. |
| width | The width of the output environment map. |
| height | The height of the output environment map. |
| MX_RENDER_API ImagePtr renderReferenceIrradiance | ( | ConstImagePtr | env, |
| unsigned int | width, | ||
| unsigned int | height | ||
| ) |
Render a reference irradiance map from the given environment map, using brute-force computations for a slow but accurate result.
| env | An environment map in lat-long format. |
| width | The width of the output irradiance map. |
| height | The height of the output irradiance map. |