![]() |
![]() |
![]() |
Mesh.Intersect Method |
Language: |
Determines whether a ray intersects with a mesh.
Visual Basic .NET Public Function Intersect( _
ByVal rayPos As Vector3, _
ByVal rayDir As Vector3, _
ByRef closestHit As IntersectInformation _
) As BooleanC# public bool Intersect(
Vector3 rayPos,
Vector3 rayDir,
out IntersectInformation closestHit
);Managed C++ public: bool Intersect(
Vector3 rayPos,
Vector3 rayDir,
IntersectInformation *closestHit
);JScript .NET public function Intersect(
rayPos : Vector3,
rayDir : Vector3,
closestHit : IntersectInformation
) : boolean;
rayPos Microsoft.DirectX.Vector3. A Vector3 structure that specifies the origin coordinate of the ray. rayDir Microsoft.DirectX.Vector3. A Vector3 structure that specifies the direction of the ray. closestHit Microsoft.DirectX.Direct3D.IntersectInformation. An IntersectInformation object that describes the closest intersection between the array and the mesh.
System.Boolean . Value that is true if the ray intersects a triangular face on the mesh; otherwise, the value is false.
The Intersect method provides a way to understand points in and around a triangle, independent of where the triangle is actually located. This method returns the resulting point by using the following equation:
V1 + U(V2-V1) + V(V3-V1)Any point in the plane V1V2V3 can be represented by the barycentric coordinate (U,V). The U parameter controls how much V2 gets weighted into the result, and the V parameter controls how much V3 gets weighted into the result. Lastly, 1-U-V controls how much V1 gets weighted into the result.
Barycentric coordinates are a form of general coordinates. In this context, using them represents a change in coordinate systems. What holds true for Cartesian coordinates also holds true for barycentric coordinates.
Exceptions
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value. OutOfMemoryException Microsoft® Direct3D® could not allocate sufficient memory to complete the call.
Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center