This function defines the color definition of any material instance.
Syntax
//
// Strong typing definition
//
static inline void SetMaterialColor(
OwlInstance owlInstanceMaterial,
uint32_t ambient,
uint32_t diffuse,
uint32_t emissive,
uint32_t specular
)
{
assert(IsInstanceOfClass(owlInstanceMaterial, "Material"));
int64_t * values = nullptr, card = 0;
GetObjectProperty(
owlInstanceMaterial,
GetPropertyByName(
GetModel(owlInstanceMaterial),
"color"
),
&values,
&card
);
SetColor(
(card == 1) ?
values[0] :
CreateInstance(
GetClassByName(
GetModel(owlInstanceMaterial),
"color"
)
),
ambient,
diffuse,
emissive,
specular
);
}
//
// Weak typing definition
//
static inline void SetMaterialColor(
int64_t owlInstanceMaterial,
uint32_t ambient,
uint32_t diffuse,
uint32_t emissive,
uint32_t specular
)
{
assert(IsInstanceOfClass(owlInstanceMaterial, "Material"));
int64_t * values = nullptr, card = 0;
GetObjectProperty(
owlInstanceMaterial,
GetPropertyByName(
GetModel(owlInstanceMaterial),
"color"
),
&values,
&card
);
SetColor(
(card == 1) ?
values[0] :
CreateInstance(
GetClassByName(
GetModel(owlInstanceMaterial),
"color"
)
),
ambient,
diffuse,
emissive,
specular
);
}
Property owlInstanceMaterial
Size: 64 bit / 8 byte (value)
The handle of the Material instance.
Property ambient
Size: 32 bit / 4 byte (value)
Defines the ambient color as a 32 bit value; the 32 bit value is build up as 8 : 8 : 8 : 8 bits representing RGBA (or sometimes called RGBW), i.e. Red, Green, Blue, Alpha (transparency) each defined as a unsigned char value 0 .. 255.
Property diffuse
Size: 32 bit / 4 byte (value)
Defines the diffuse color as a 32 bit value; the 32 bit value is build up as 8 : 8 : 8 : 8 bits representing RGBA (or sometimes called RGBW), i.e. Red, Green, Blue, Alpha (transparency) each defined as a unsigned char value 0 .. 255.
Property emissive
Size: 32 bit / 4 byte (value)
Defines the emissive color as a 32 bit value; the 32 bit value is build up as 8 : 8 : 8 : 8 bits representing RGBA (or sometimes called RGBW), i.e. Red, Green, Blue, Alpha (transparency) each defined as a unsigned char value 0 .. 255.
Property specular
Size: 32 bit / 4 byte (value)
Defines the specular color as a 32 bit value; the 32 bit value is build up as 8 : 8 : 8 : 8 bits representing RGBA (or sometimes called RGBW), i.e. Red, Green, Blue, Alpha (transparency) each defined as a unsigned char value 0 .. 255.