Описание тега directxmath

The DirectXMath API provides SIMD-friendly C++ types and functions for common linear algebra and graphics math operations common to DirectX applications.
1 ответ

Как shared_ptr может нарушить выравнивание

Я читаю документы по DirectXMath и наткнулся на следующий отрывок: В качестве альтернативы принудительному выравниванию в вашем классе C++ путем перегрузки new/delete вы можете использовать идиому pImpl. Если вы убедитесь, что ваш класс Impl выровне…
05 июл '15 в 08:49
1 ответ

DirectXMath и Win8 SDK в проекте VS2010

Я работал над движком в Visual Studio 2012, который поддерживает рендеринг с Direct3D 9 и Direct3D 11. Однако я привлекаю новых людей для помощи в проекте, и они предпочли бы работать в Visual Studio 2010, потому что это версия, которую они владеть …
18 авг '13 в 08:00
2 ответа

16-байтовая проблема выравнивания

Я использую DirectXMath, создавая XMMatrix а также XMVector в классах. Когда я звоню XMMatrixMultiply это бросает необработанное исключение на это. Я обнаружил в Интернете, что это проблема с байтовым соединением, так как DirectXMath использования S…
14 окт '13 в 18:55
1 ответ

Каковы последствия такого наследования?

Я работаю с библиотекой DirectXMath (или XNAMath) (определенной в заголовке DirectXMath.h пакета Windows SDK), так как она кажется действительно производительной и предлагает все, что необходимо для физики и рендеринга. Однако я нашел его довольно м…
17 сен '16 в 10:40
0 ответов

Расчет пересечения 3D World

Как бы я рассчитал точку пересечения на местности в мире с миром, матрицами вида и проекции. Теперь допустим, что точка пересечения должна быть рассчитана по моим 2D координатам курсора, а часть местности за моим курсором должна быть точкой пересече…
10 июл '14 в 17:45
1 ответ

Умножение матриц с DirectXMath

Я сделал учебник http://3dgep.com/introduction-to-directx-11. В уроке 3 матрицы (проекция, вид и мировая матрица) отправляются в вершинный шейдер и там умножаются. Я хочу умножить 3 матрицы, чтобы получить только одну, которую я должен отправить вер…
07 янв '15 в 11:50
1 ответ

Как можно получить значение с плавающей точкой из XMVECTOR? (DirectXMath)

Я хотел бы получить скалярное произведение двух трехмерных векторов в плавающей точке. Но, к сожалению, результатом является вектор, а не число с плавающей точкой. Я пытался получить доступ к его элементам, используя vector4_f32, но я получаю ошибку…
21 окт '17 в 12:42
1 ответ

Есть ли способ конвертировать кватернион в углы?

У меня есть (мировая) матрица, и она применяет перевод, вращение и масштабирование в трехмерный объект. Он создан с функцией XMMatrixTransformation (DirectXMath) и параметр RotationQuaternion сделан вызовом XMQuaternionRotationRollPitchYaw, Затем он…
30 май '15 в 00:07
1 ответ

Работает ли DirectXMath на OSX и Linux с OpenGL?

Является ли библиотека DirectXMath кроссплатформенной? Можно ли использовать его с OpenGL и / или в OSX и Linux?
06 апр '14 в 07:52
3 ответа

Выравнивание 16 не соблюдается при использовании ключевого слова auto?

Компилируя с VS2012 и работая с библиотекой DirectXMath, я столкнулся с проблемой, когда оказалось, что компилятор не выравнивает мой XMMATRIX. Я упростил вопрос до следующего. #include <DirectXMath.h> using namespace DirectX; int _tmain(int a…
1 ответ

AccessViolation только в оптимизированной сборке Win32 (XMMATRIX)

У меня возникли проблемы с установкой двух переменных типа XMMATRIX** в функции. Прототип функции выглядит так: bool ViewportFactory::CreateViewport(CanvasHandle* canvasHandlePtr, ViewportHandle** outViewportHandlePtr, DirectX::XMMATRIX** outProject…
19 июн '14 в 16:08
1 ответ

Используйте XMVECTOR в качестве члена класса

Я знаю, что XMVECTOR должен быть выровнен по 16 байтов и, следовательно, не должен быть членом класса (если я не гарантирую выравнивание). Тем не менее, я могу сделать что-то подобное? class A { public: XMVECTOR vect; }; void fun(void) { A a; XMVECT…
04 янв '14 в 13:03
1 ответ

Используя XMMatrixLookAtLH - пытаетесь столкнуться с точкой, но не работает / падает?

Я использую этот код для моего класса Entity: void Entity::Face(FXMVECTOR target) { XMVECTOR up = XMVectorSet(0.0f, 1.0f, 0.0f, 0.0f); up = XMVector3Transform(up, Rotation); Rotation = XMMatrixLookAtLH(Translation, target, up); //Rotation is a XMMAT…
27 дек '13 в 00:29
1 ответ

DirectX::XMMATRIX ошибка C2719: __declspec(align('16')) не будет выровнен

Итак, я работаю над своей собственной платформой DirectX. Все учебные пособия по созданию инфраструктуры DirectX устарели и используют устаревшие материалы, поэтому я просто создал свою собственную, хотя я кое-что взял из старых учебников и обновил …
1 ответ

Работа с DirectXMath и D3DXMath

Еще в D3DXMath у нас была возможность умножать, добавлять или вычитать даже делить векторные типы, которые были структурами D3DXVECTOR2, D3DXVECTOR3, D3DXVECTOR4..... Теперь в воплощении DirectXMath у нас есть XMFLOAT2, XMFLOAT3, XMFLOAT4 и XMVECTOR…
21 ноя '17 в 09:16
1 ответ

Worldviewpoj Range

Сегодня я отладил свой код и увидел, что мой worldviewproj был огромен (извините, он не читается): {4.91479736e + 010, -6.29708390e + 010, -863636224, 432034112} Это первая строка, и я пытаюсь отладить свой код, потому что мое приложение ничего не о…
06 сен '14 в 07:42
1 ответ

Не могу умножить XMVECTOR с помощью float

Я получил эти строки из учебника по DirectX, который прекрасно компилируется в учебнике: DirectX::XMFLOAT4 vLightDirs[2] = { DirectX::XMFLOAT4(-0.577f, 0.577f, -0.577f, 1.0f), DirectX::XMFLOAT4(0.0f, 0.0f, -1.0f, 1.0f), }; for (int m = 0; m < 2; …
29 мар '15 в 23:27
1 ответ

Нет оператора = Соответствует операнду - DX11

Я пытаюсь умножить два набора значений вместе в DX11. void Update() { rot += 0.0005f; if (rot > 6.26f) rot = 0.0f; cube1 = XMMatrixIdentity(); XMVECTOR rotaxis = XMVectorSet(0.0f, 1.0f, 0.0f, 0.0f); Rotation = (rotaxis, rot); Translation = XMMatr…
22 окт '18 в 19:00
1 ответ

Не могу правильно создать матрицу ViewProjection

У меня есть класс камеры, который использует DirectXMath API: __declspec(align(16)) class Camera { public: XMVECTOR Translation; XMMATRIX Rotation; XMVECTOR Scale; XMMATRIX Transform; XMFLOAT3 RotAngles; XMMATRIX ProjectionMatrix; float Width; float…
26 дек '13 в 02:41
1 ответ

DirectXCollision - любой способ получить больше информации о пересечении?

Я занимался простым трехмерным симулятором твердого тела и пришел к тому моменту, когда мне нужно обрабатывать столкновения между объектами. До сих пор использование нового DirectXMath вместе с DirectXTK SimpleMath было огромной помощью. Я использов…