2

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

我知道我可以创造类似的东西

struct ray
{
    D3DXVECTOR3 direction
    D3DXVECTOR3 origin
};

但是有什么东西已经存在了吗?我目前在 DX9 工作,但我愿意接受较新版本的 DirectX 中的答案。

4

1 回答 1

1

与其使用传统的 D3DXmath,不如考虑DirectXMath,尽管该库也只使用原点位置和方向向量来表示BoundingSphereBoundingBoxBoundingOrientedBoxBoundingFrustum类的射线以及TriangleTests命名空间

bool Intersects( _In_ FXMVECTOR Origin, _In_ FXMVECTOR Direction, _Out_ float& Dist ) const;

请参阅 MSDN 上的DirectXMath 编程指南,尤其是使用 D3DXMath

您还可以使用DirectX Tool Kit中的SimpleMath包装器,它定义了一个类。Ray

于 2015-01-09T18:57:53.497 回答