Click or drag to resize
Ab4d.SharpEngine logo

HitTesterHitTest(Ray, PositionNormalTextureVertex, Int32, Int32, Int32, Boolean, Boolean, Single) Method

Hit test a ray against the mesh with specified vertex and index buffer.

Namespace: Ab4d.SharpEngine.Utilities
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 4.0.9584+ba1aaa26d4181dd3fa8ed7b6398391d1affa36c8
Syntax
C#
public static RayHitTestResult? HitTest(
	 in Ray? localRay,
	PositionNormalTextureVertex[]? vertexBufferArray,
	int[]? indexBufferArray,
	int startTriangleIndicesIndex,
	int triangleIndicesCount,
	bool hitOnlyFrontFacingTriangles,
	bool getOnlyNextHitTest,
	float zeroTolerance = 1E-07f
)

Parameters

localRay  Ray
ray transformed to local coordinate system
vertexBufferArray  PositionNormalTextureVertex
vertex buffer as array of PositionNormalTexture
indexBufferArray  Int32
index buffer
startTriangleIndicesIndex  Int32
index in the TriangleIndices array where the hit testing will begin
triangleIndicesCount  Int32
number of TriangleIndices that will be checked
hitOnlyFrontFacingTriangles  Boolean
When true then only triangles that have normals (calculated from triangle positions) oriented in the opposite direction as the ray are returned (because ray is usually created from the camera's position this returns only triangles that are facing the camera).
getOnlyNextHitTest  Boolean
when true, then the next hit result is returned; when false all hit results are get and only the closest to the ray origin is returned.
zeroTolerance  Single  (Optional)
optional float that defines the zero tolerance - if value is smaller that this value, then it is considered zero. It is recommended that this value is based on the mesh's size. Default value is 1e-7.

Return Value

RayHitTestResult
DXRayHitTestResult when ray hits the mesh otherwise null is returned
See Also