Как избежать DirectXMath XMStore / загрузить

Я ранее сделал OpenGL и сейчас учусь DirectX11, Одна из особенностей новой математической библиотеки — наличие методов Load / Store для векторов и матриц (например, http://msdn.microsoft.com/en-us/library/ee415635(v=vs.85).aspx).

Для меня это очень странно для меня — хранить / загружать каждый вектор и матрицу, когда я хочу их использовать — много громоздкого кода — и мне было интересно, есть ли хорошие, чистые альтернативы процедурам загрузки / хранения?

5

Решение

Вы могли бы посмотреть на simplemath если это поможет Теперь это часть DirectXTK.

Со ссылочного сайта:

Зачем оборачивать DirectXMath?
DirectXMath предоставляет высокооптимизированные векторные и матричные математические функции, которые используют преимущества SSE SIMD
при компиляции для x86 / x64 или при установке инструкции ARM NEON, когда
скомпилирован для платформы ARM, такой как Windows RT или Windows Phone.
Недостатком разработки для эффективного использования SIMD является то, что
DirectXMath может быть несколько сложным для работы. Разработчики должны
знать о правильном использовании типа (понимая разницу между
Типы регистров SIMD, такие как XMVECTOR, и типы памяти, такие как
XMFLOAT4), необходимо позаботиться о поддержании правильного выравнивания для кучи SIMD
распределения, и должны тщательно структурировать свой код, чтобы избежать
доступ к отдельным компонентам из регистра SIMD. Это сложность
необходимо для оптимальной производительности SIMD, но иногда вы просто хотите
чтобы все работало без особых хлопот!

Вы должны использовать SimpleMath, если вы:

  • Ищите математическую библиотеку C ++ с API, похожим на типы CNA XNA
  • Портирование существующего кода XNA с C # на C ++
  • Желание оптимизировать эффективность работы программиста (простота, удобочитаемость, скорость разработки) за счет времени выполнения
    эффективность

Вам следует перейти непосредственно к API DirectXMath, если вы:

  • Хотите создать максимально быстрый код
  • Наслаждайтесь латеральным мышлением, необходимым для выражения алгоритмов в сыром SIMD
6

Другие решения


По вопросам рекламы [email protected]