IntersectAnySO

Performs occlusion tests for block of rays with the single origin.

Syntax

IppStatus ipprIntersectAnySO_32f(IppPoint3D_32f originEye, const Ipp32f* const pDirection[3] Ipp32s* pOccluder, Ipp32s* pMask, IppiSize blockSize, const IpprIntersectContext* pContext);

Parameters

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.

Description

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.

Return Values

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.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.