3ds Max C++ API Reference
|
Encapsulates the set of shading parameters for the Physical Sun & Sky. More...
#include <IPhysicalSunSky.h>
Public Member Functions | |
ShadingParameters () | |
Public Attributes | |
float | horizon_height |
Horizon height, as the sine of the angle offset for the horizon. More... | |
float | horizon_blur |
Horizon blur range, as the sine of the angle over which the horizon is blurred. More... | |
Color | global_multiplier |
Global multiplier, applied to the entire environment map (both sun and sky, as well as night color). May include tinting. More... | |
Color | sun_illuminance |
The total illuminance of the sun (the integral of the contribution of the entire sun and sun glow). More... | |
Color | sun_luminance |
The luminance of the sun. More... | |
float | sun_glow_intensity |
Multiplier used in the intensity of the sun glow. More... | |
float | sky_contribution_multiplier |
Multiplier for the sky contribution. More... | |
Color | sky_ground_contribution |
The (approximated) integral of the sky contribution over the entire environment, used in illuminating the procedural ground plane. More... | |
float | sun_disc_angular_radius |
Angular radius, in radians, of the sun disc. More... | |
float | sun_smooth_angular_radius |
Angular radius, in radians, of smoothing/blur between the sun disc and sun glow. More... | |
float | sun_glow_angular_radius |
Angular radius, in radians, of the sun glow region. More... | |
float | color_saturation |
Saturation adjustment for the environment (both sun and sky). More... | |
Color | color_tint |
Color adjustment (multiplier) for the environment (both sun and sky). More... | |
Color | ground_color |
Color for the procedural/fake ground plane. More... | |
float | night_falloff |
Multiplier for the sky color, to take into account that the sun has dipped below the horizon and that the sky should progressively get dimmer. More... | |
Color | night_luminance |
Luminance for the night sky, used as a floor value for the sky luminance. In cd/m^2. More... | |
Point3 | sun_direction |
The sun direction (pointing towards the sun). More... | |
Point3 | sun_direction_for_sky_contribution |
This is the sun direction used when calculating the sky contribution. More... | |
Point3 | perez_A |
The Perez coefficients used in calculating the brightness and color of the sky. More... | |
Point3 | perez_B |
The Perez coefficients used in calculating the brightness and color of the sky. More... | |
Point3 | perez_C |
The Perez coefficients used in calculating the brightness and color of the sky. More... | |
Point3 | perez_D |
The Perez coefficients used in calculating the brightness and color of the sky. More... | |
Point3 | perez_E |
The Perez coefficients used in calculating the brightness and color of the sky. More... | |
Point3 | perez_Z |
The Perez coefficients used in calculating the brightness and color of the sky. More... | |
Additional Inherited Members | |
![]() | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new (size_t size, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void | operator delete (void *ptr) |
Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. More... | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. More... | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. More... | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. More... | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More... | |
Encapsulates the set of shading parameters for the Physical Sun & Sky.
These are the parameters which have been derived from the UI parameters, many of them pre-computed to optimize the shader at run-time. These parameters may be used directly with the shading function compute_sunsky_env_color(), which is defined in PhysSunSky.rtsl and included through PhysicalSunSkyShader.h, in maxsdk/samples/systems/sunlight.
|
inline |
float horizon_height |
Horizon height, as the sine of the angle offset for the horizon.
float horizon_blur |
Horizon blur range, as the sine of the angle over which the horizon is blurred.
Color global_multiplier |
Global multiplier, applied to the entire environment map (both sun and sky, as well as night color). May include tinting.
Color sun_illuminance |
The total illuminance of the sun (the integral of the contribution of the entire sun and sun glow).
This is used to fake lighting on the procedural ground plane.
Color sun_luminance |
The luminance of the sun.
This is the value which, when multiplied with the sun/glow distribution function, gives us how much light is emitted (by the sun/glow) from a point in the sky.
float sun_glow_intensity |
Multiplier used in the intensity of the sun glow.
float sky_contribution_multiplier |
Multiplier for the sky contribution.
Color sky_ground_contribution |
The (approximated) integral of the sky contribution over the entire environment, used in illuminating the procedural ground plane.
float sun_disc_angular_radius |
Angular radius, in radians, of the sun disc.
float sun_smooth_angular_radius |
Angular radius, in radians, of smoothing/blur between the sun disc and sun glow.
float sun_glow_angular_radius |
Angular radius, in radians, of the sun glow region.
float color_saturation |
Saturation adjustment for the environment (both sun and sky).
This is applied before the night color is added (and therefore doesn't affect the night color).
Color color_tint |
Color adjustment (multiplier) for the environment (both sun and sky).
This is applied before the night color is added (and therefore doesn't affect the night color). This is applied after the saturation adjustment, making it possible to add some coloring back after removing saturation.
float night_falloff |
Multiplier for the sky color, to take into account that the sun has dipped below the horizon and that the sky should progressively get dimmer.
This is applied to the sky contribution, before the night color is added.
Color night_luminance |
Luminance for the night sky, used as a floor value for the sky luminance. In cd/m^2.
Point3 sun_direction |
The sun direction (pointing towards the sun).
This direction is already adjusted to compensate for the horizon height; If the horizon is raised, then the sun is also raised such that it still sets at the horizon.
Point3 sun_direction_for_sky_contribution |
This is the sun direction used when calculating the sky contribution.
This direction may differ from sun_direction: when the sun nears the horizon, this value is adjusted (with a smooth falloff) to avoid that the sky go directly to black after the sun reaches the horizon.
Point3 perez_A |
The Perez coefficients used in calculating the brightness and color of the sky.
They are expressed as triplets:
Point3 perez_B |
The Perez coefficients used in calculating the brightness and color of the sky.
They are expressed as triplets:
Point3 perez_C |
The Perez coefficients used in calculating the brightness and color of the sky.
They are expressed as triplets:
Point3 perez_D |
The Perez coefficients used in calculating the brightness and color of the sky.
They are expressed as triplets:
Point3 perez_E |
The Perez coefficients used in calculating the brightness and color of the sky.
They are expressed as triplets:
Point3 perez_Z |
The Perez coefficients used in calculating the brightness and color of the sky.
They are expressed as triplets: