Performs occlusion tests for block of rays with the single origin.
IppStatus ipprIntersectAnySO_32f(IppPoint3D_32f originEye, const Ipp32f* const pDirection[3] Ipp32s* pOccluder, Ipp32s* pMask, IppiSize blockSize, const IpprIntersectContext* pContext);
originEye |
Coordinate of the origin point of rays. All rays have the same origin (input). |
pDirection |
Array of pointers to the vectors of directions, they should not be normalized (input). |
pOccluder |
Pointer to the array of occluders (otput). |
pMask |
Pointer to the array of masks (input/output). |
pContext |
Pointer to the intersection context. |
blockSize |
Total number of the rays. |
The function ipprIntersectAnySO is declared in the ippr.h file. This function performs occlusion tests - it checks if the scene triangle lays between the ray's origin and the ray's projection on the surface. Only rays for which value pMask[i][j] is greater than -1 are considered. Indexes of such triangles - occluders - are stored in the array pOccluder. If such triangle does not exist for a given ray, its index is set to -1, and the corresponding element of pMask is set to -1. It means that the ray is not included in the further consideration.
ippStsNoErr |
Indicates no error. Any other value indicates an error or a warning. |
ippStsNullPtrErr |
Indicates an error condition if one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.