Share via


PrtEngine.ComputeBounce(PrtBuffer,PrtBuffer,PrtBuffer) Method (Microsoft.DirectX.Direct3D)

Computes the source radiance resulting from a single bounce of interreflected light. This method can be used for any lit scene, including a spherical harmonic (SH)-based precomputed radiance transfer (PRT) model.

Definition

Visual Basic Public Sub ComputeBounce( _
    ByVal bufferIn As PrtBuffer, _
    ByVal bufferOut As PrtBuffer, _
    ByVal dataComputed As PrtBuffer _
)
C# public void ComputeBounce(
    PrtBuffer bufferIn,
    PrtBuffer bufferOut,
    PrtBuffer dataComputed
);
C++ public:
void ComputeBounce(
    PrtBufferbufferIn,
    PrtBufferbufferOut,
    PrtBufferdataComputed
);
JScript public function ComputeBounce(
    bufferIn : PrtBuffer,
    bufferOut : PrtBuffer,
    dataComputed : PrtBuffer
);

Parameters

bufferIn Microsoft.DirectX.Direct3D.PrtBuffer
A PrtBuffer object that represents the 3-D object from the previous light bounce. This input buffer must have the proper number of color channels allocated for the simulation.
bufferOut Microsoft.DirectX.Direct3D.PrtBuffer
A PrtBuffer object that models a single bounce of the interreflected light. This output buffer must have the proper number of color channels allocated for the simulation.
dataComputed Microsoft.DirectX.Direct3D.PrtBuffer
A PrtBuffer object that is the running sum of all previous bufferOut outputs.

Remarks

The output does not include albedo, and only incoming light is integrated in the simulator. By not multiplying the albedo, you can model albedo variation at a finer scale than the source radiance, thereby yielding more accurate results from compression.

Call PrtEngine.MultiplyAlbedo to multiply each PRT vector by the albedo.

Exceptions

InvalidCallException

The method call is invalid. For example, a method's parameter might contain an invalid value.

OutOfMemoryExceptionLeave Site

Microsoft Direct3D could not allocate sufficient memory to complete the call.