directxmath

    0熱度

    2回答

    下面的代碼將一行從8位蒼白格式轉換爲32-RGBA。 在我嘗試實現它之前,我想知道下面的代碼是否適合用Direct-Math或ARM Neon intrinsics或內聯彙編進行優化。我第一次看文檔並沒有發現任何可以涵蓋查表部分的內容。 void CopyPixels(BYTE *pDst, BYTE *pSrc, int width, const BYTE mask, Color* p

    0熱度

    2回答

    有什麼好的方法來轉儲XMMATRIX和XMVECTOR? XMMATRIX mx = XMMatrixScaling(...) * XMMatrixTranslation(...); DumpMatrix(mx); // printf the 4x4 matrix member 我想DumpMatrix喜歡的功能。我在DirectMath.h。並找到 typedef __m128 XMVE

    14熱度

    3回答

    使用VS2012編譯並使用DirectXMath庫時,遇到了編譯器未對齊我的XMMATRIX的問題。我將問題簡化爲以下內容。 #include <DirectXMath.h> using namespace DirectX; int _tmain(int argc, _TCHAR* argv[]) { auto m1 = XMMatrixIdentity(); auto

    3熱度

    1回答

    我一直在使用Visual Studio 2012中的引擎工作,該引擎支持使用Direct3D 9和Direct3D 11進行渲染。但是,我收到了一些新人幫助完成項目,他們更願意在Visual Studio 2010上工作,因爲這是他們擁有和使用的版本。所以我決定用VS2010的v100平臺工具集來構建項目。 我越來越接近它的工作,但我不能包括DirectXMath.h,DirectXTK和我正在使

    0熱度

    1回答

    如何進行兩個3d向量的分量乘法?看起來MS並沒有在DirectXMath.h中提供這樣的功能,那麼微軟在那裏做什麼?在舊的SDK(DX 10/9)中,我可以直接生成兩個向量的產品: v3 = v1 * v2; 或由類似的標量乘的載體: V2 = V1 * 1.0F; 但是現在,XMVECTOR類型沒有操作符*,所以我不能這樣做。所以我需要手動製作產品: v3 =(v1.x * v2.x + v1.

    1熱度

    2回答

    我正在使用DirectXMath,在類中創建XMMatrix和XMVector。 當我打電話給XMMatrixMultiply它會引發未處理的異常。 我在網上發現它是字節清除的問題,因爲DirectXMath使用SIMD指令集,導致錯誤的堆分配。 建議的解決方案之一是使用XMFLOAT4X4變量,然後在需要時將它們更改爲臨時XMMatrix,但它不是最好和最快的解決方案。 另一個是使用_align

    2熱度

    1回答

    我一直在嘗試使用XMVECTOR作爲邊界框的類成員,因爲我做了大量的計算,但每幀只使用一次XMFLOAT3,所以邊界框有一個方法,它給了我它的中心一個XMFLOAT3,否則停留在XMVECTOR;該類delcared與__declspec(對齊(16)),並在釋放模式調試mode.However作品崩潰的一瞬間,我將它設置爲東西: Box& Box::operator=(const Box& bo

    0熱度

    1回答

    我已經做了一個簡單的3D剛體模擬,我已經付出了一點,我需要的對象之間處理衝突。到目前爲止,使用新的DirectXMath和DirectXTK的SimpleMath一直是巨大的幫助。 我一直在使用DirectXCollision庫中的BoundingBox和BoundingOrientedBox類,它們非常適合確定兩個對象是否相交,但除此之外不提供任何其他信息。我需要能夠檢索接觸點和交叉點的法線,以