3ds Max C++ API Reference
|
Provides the components of the Illuminate function to Shaders, Materials and Render Elements. More...
#include <object.h>
Public Member Functions | |
IlluminateComponents () | |
CoreExport | ~IlluminateComponents () |
int | nUserIllumChannels () |
const MCHAR * | GetUserIllumName (int n) |
Returns the name of the index in channels name array. More... | |
CoreExport int | FindUserIllumName (const MCHAR *name) |
Returns the index associated with a name. More... | |
void | SetUserIllumOutput (int n, Color &out) |
Set the output illumination color to indexed channel. More... | |
Color | GetUserIllumOutput (int n) |
Get the output illumination color of indexed channel. More... | |
void | Reset () |
It sets to black all the output colors. More... | |
Public Member Functions inherited from BaseInterfaceServer | |
UtilExport BaseInterface * | GetInterface (Interface_ID id) override |
virtual UtilExport int | NumInterfaces () const |
virtual UtilExport BaseInterface * | GetInterfaceAt (int i) const |
virtual UtilExport | ~BaseInterfaceServer () |
Public Member Functions inherited from InterfaceServer | |
virtual UtilExport | ~InterfaceServer () |
Destructor. More... | |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Public Attributes | |
Point3 | L |
Light Vector. More... | |
float | NL |
N dot L, N and L are normalized. More... | |
float | geometricAtten |
The contrast applied to N.L... More... | |
float | shapeAtten |
attenuation fraction due to cone(s) or rect falloff More... | |
float | distanceAtten |
Attenuation due to distance falloff. More... | |
float | shadowAtten |
The composite attenuation due to all shadowing objects transparent objects may supply some shadowAtten as well as filterAtten. More... | |
float | ambientAtten |
light control over ambitient shading components. More... | |
float | diffuseAtten |
light control over diffuse shading components. More... | |
float | specularAtten |
light control over specular shading components. More... | |
Color | rawColor |
Raw light color or mixed with light map value, unattenuated by shape, distance, or shadow. More... | |
Color | filteredColor |
Light color modulated by map value, then filtered by a transparent object, raw color * filterAtten, otherwise unattenuated. More... | |
Color | shadowColor |
Shadow color, attenuated by shape, distance and shadow fraction. More... | |
Color | lightAmbientColor |
Ambient color due to light, attenuated, without shadow color. More... | |
Color | lightDiffuseColor |
Diffuse color due to light, attenuated, without shadow color. More... | |
Color | lightSpecularColor |
Specular color due to light, attenuated, without shadow color. More... | |
Color | finalColor |
Equivalent to 4.0 final illumination color, with and without shadows. More... | |
Color | finalColorNS |
Equivalent to finalColor, but with no shadow attenuation applied and no shadow. More... | |
int | nUserIllumOut |
The number of user illumination channels, returned by nUserIllumChannels() More... | |
const MCHAR ** | userIllumNames |
Pointer to shared name array, never destroyed. More... | |
Color * | userIllumOut |
The user illumination color array, created and deleted with the class. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from MaxHeapOperators | |
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... | |
Protected Attributes inherited from BaseInterfaceServer | |
Tab< BaseInterface * > | interfaces |
Provides the components of the Illuminate function to Shaders, Materials and Render Elements.
The interface to lights to return the illumination as a set of components. This interface separates the illumination into various components as well as the final result.
|
inline |
Returns the name of the index in channels name array.
n | The element in the userIllumNames array |
CoreExport int FindUserIllumName | ( | const MCHAR * | name | ) |
Returns the index associated with a name.
name | The channel name in the userIllumNames array |
Set the output illumination color to indexed channel.
n | The channel index in the userIllumOut array |
out | The illumination color to set |
Get the output illumination color of indexed channel.
n | The channel index in the userIllumOut array |
|
inline |
It sets to black all the output colors.
float NL |
N dot L, N and L are normalized.
float geometricAtten |
The contrast applied to N.L...
this is equivalent to the diffCoef returned by standard illuminate
float shapeAtten |
attenuation fraction due to cone(s) or rect falloff
float distanceAtten |
Attenuation due to distance falloff.
float shadowAtten |
The composite attenuation due to all shadowing objects transparent objects may supply some shadowAtten as well as filterAtten.
0 for all shadow, 1 for all light. light control over basic shading components
float ambientAtten |
light control over ambitient shading components.
0 = no ambient, 1 = all ambient
float diffuseAtten |
light control over diffuse shading components.
0 = no diffuse, 1 = all diffuse
float specularAtten |
light control over specular shading components.
0 = no specular, 1 = all specular
Color rawColor |
Raw light color or mixed with light map value, unattenuated by shape, distance, or shadow.
Color filteredColor |
Light color modulated by map value, then filtered by a transparent object, raw color * filterAtten, otherwise unattenuated.
Color shadowColor |
Shadow color, attenuated by shape, distance and shadow fraction.
Color lightAmbientColor |
Ambient color due to light, attenuated, without shadow color.
Color lightDiffuseColor |
Diffuse color due to light, attenuated, without shadow color.
Color lightSpecularColor |
Specular color due to light, attenuated, without shadow color.
Color finalColor |
Equivalent to 4.0 final illumination color, with and without shadows.
Color finalColorNS |
Equivalent to finalColor, but with no shadow attenuation applied and no shadow.
int nUserIllumOut |
The number of user illumination channels, returned by nUserIllumChannels()
const MCHAR** userIllumNames |
Pointer to shared name array, never destroyed.
Color* userIllumOut |
The user illumination color array, created and deleted with the class.