d3d9.dllComputeVolumeSamples
Microsoft DirectX 9.0 SDK Update (October 2004)

ID3DXPRTEngine::ComputeVolumeSamples Method


Computes a projection of the direct lighting from the previous light bounce into spherical harmonic (SH) basis vectors that represent incident radiance at specified locations.

Syntax

HRESULT ComputeVolumeSamples(      

    LPD3DXPRTBUFFER pSurfDataIn,     UINT Order,     UINT NumVolSamples,     const D3DXVECTOR3 *pSampleLocs,     LPD3DXPRTBUFFER pDataOut );

Parameters

pSurfDataIn
[in] Pointer to an input ID3DXPRTBuffer object that represents the 3-D object from the previous light bounce.
Order
[in] Order of the SH evaluation. Must be in the range of D3DXSH_MINORDER to D3DXSH_MAXORDER, inclusive. The evaluation generates Order2 coefficients. The degree of the evaluation is Order - 1.
NumVolSamples
[in] Number of sample locations.
pSampleLocs
[in] Position for each sample.
pDataOut
[in, out] Pointer to an output ID3DXPRTBuffer object that projects the direct lighting from the previous light bounce into SH basis vectors. This buffer must have the proper number of color channels allocated for the simulation.

Return Value

If the method succeeds, the return value is D3D_OK.

If the method fails, the return value can be one of the following:

D3DERR_INVALIDCALLThe method call is invalid. For example, a method's parameter may have an invalid value.
E_OUTOFMEMORYMicrosoft Direct3D could not allocate sufficient memory to complete the call.


Remarks

This method computes how the light from the source radiance function is reflected off the surface that represents the scene (pSurfDataIn) and arrives at each point in space specified by pSampleLocs. The SH coefficients represent the mapping, at each pSampleLocs point, of source radiance to transferred incident radiance.

To use this method successfully, you must set sampling over a sphere with UseSphere = TRUE and UseCosine = FALSE in ID3DXPRTEngine::SetSamplingInfo; otherwise, this method will return an error with D3DERR_INVALIDCALL.

See Also

ID3DXPRTEngine::ComputeVolumeSamples


© 2004 Microsoft Corporation. All rights reserved.
Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center.