UpdateInstanceTransformationBuffer

This function should be preceded by the function CalculateInstances(), the only allowed other API functions in between are UpdateVertexBuffer() and UpdateIndexBuffer().
It is expected to be called with a buffer vertexBuffer of at least the size as given by CalculateInstances().
If not called for the first time it will expect to contain the same content as from previous call, even is size is changed. This can be overruled by the function ClearedExternalBuffers().

Syntax

public const string EngineDLL = @"engine.dll";[DllImport(EngineDLL, EntryPoint = "UpdateInstanceTransformationBuffer")]
public static extern Int64 UpdateInstanceTransformationBuffer(Int64 owlInstance, out double transformationBuffer);

[DllImport(EngineDLL, EntryPoint = "UpdateInstanceTransformationBuffer")]
public static extern Int64 UpdateInstanceTransformationBuffer(Int64 owlInstance, double[] transformationBuffer);    

Property owlInstance

Size: 64 bit / 8 byte (value)
The handle to the specific instance in the design tree. The instance handle is static within one open model but is most probably different when the same instance is opened in another model. The instance is always exactly of one unique class.

Property transformationBuffer

Size: 32 bit / 4 byte (reference)
The calculated size that is required for the transformation buffer. This only returns a value if it has a non-zero input value.