HitPoint3DEpsMO

Calculates coordinates of the hit points for a block of rays from the multiple origins.

Syntax

IppStatus ipprHitPoint3DEpsMO_32f_M(const Ipp32f* const pOrg[3], const Ipp32f* const pDirection[3], const Ipp32f* pDistance, const Ipp32s* pMask, Ipp32f* pSurfHit[3], int len, Ipp32f eps);

Parameters

pOrg

Pointer to the array of pointers to separate coordinate (x, y, z) planes of the origin points.

pDirection

Pointer to the array of pointers to separate coordinate (x, y, z) planes of the ray's directions.

pDistance

Pointer to the generalized distance from origin to intersection point.

pMask

Pointer to the array of masks.

pSurfHit

Pointer to the array of pointers to a separate coordinate (x, y, z) planes of the intersection points.

len

Number of rays in the block.

eps

Tolerance value.

Description

The function ipprHitPoint3DEpsMO is declared in the ippr.h file. For an array of rays from the multiple origins pOrg this function calculates the explicit coordinates of the intersection points where the pMask[ i] is greater than or equal to 0. The array of mask is the array of indexes of the triangles that intersect with the ray.

The tolerance value eps help to avoid the numerical imprecision in the intersection defining.

For example, for reflected rays value eps = 0.999f, and for refracted and transparency rays value eps = 1.001f.

pSurfHit[i][0] = pOrg[i][0] + pDirection [i][0] * eps * pDistance[i][0]

pSurfHit[i][1] = pOrg[i][1] + pDirection [i][1] * eps * pDistance[i][1]

pSurfHit[i][2] = pOrg[i][2] + pDirection [i][2] * eps * pDistance[i][2]

where i = 0..(len - 1).

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.