我在DirectX项目中使用光线拾取做了一些工作,我只是想知道是否有一个实际的光线'对象类型? (而不仅仅是存储方向/原点变量)
我知道我可以创建像
这样的东西struct ray
{
D3DXVECTOR3 direction
D3DXVECTOR3 origin
};
但是有什么事情已经存在吗?我目前在DX9工作,但我很乐意在较新版本的DirectX中找到答案。
答案 0 :(得分:1)
您应该考虑DirectXMath,而不是使用旧版D3DXmath,尽管该库也只是采用原点位置和方向向量来表示BoundingSphere
,BoundingBox
,{的光线。 {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;
类。