DirectX中是否有指定的Ray对象

时间:2015-01-08 19:57:18

标签: c++ directx ray-picking

我在DirectX项目中使用光线拾取做了一些工作,我只是想知道是否有一个实际的光线'对象类型? (而不仅仅是存储方向/原点变量)

我知道我可以创建像

这样的东西
struct ray
{
    D3DXVECTOR3 direction
    D3DXVECTOR3 origin
};

但是有什么事情已经存在吗?我目前在DX9工作,但我很乐意在较新版本的DirectX中找到答案。

1 个答案:

答案 0 :(得分:1)

您应该考虑DirectXMath,而不是使用旧版D3DXmath,尽管该库也只是采用原点位置和方向向量来表示BoundingSphereBoundingBox,{的光线。 {1}}和BoundingOrientedBox类以及BoundingFrustum命名空间

TriangleTests

请参阅MSDN上的DirectXMath Programming Guide,尤其是Working with D3DXMath

您还可以使用SimpleMath中的DirectX Tool Kit包装器,其中定义了bool Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const; 类。