This function defines the color definition of any material instance.
Syntax
public const string enginedll = @"engine.dll";
public static void SetMaterialColor(Int64 owlInstanceMaterial, UInt32 ambient, UInt32 diffuse, UInt32 emissive, UInt32 specular)
{
Int64 card = 0;
IntPtr valuesPtr = IntPtr.Zero;
GetObjectProperty(owlInstanceMaterial, GetPropertyByName(GetModel(owlInstanceMaterial), "color"), out valuesPtr, out card);
if (card == 1)
{
Int64[] values = new Int64[card];
System.Runtime.InteropServices.Marshal.Copy(valuesPtr, values, 0, (int) card);
SetColor(values[0], ambient, diffuse, emissive, specular);
}
else
{
SetColor(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.