2015-08-01 1 views
4

.NET framework 4.6 ввел новые классы в пространстве имен System.Numerics, включая Matrix4x4. Он также представил новые статические вспомогательные методы для 3D-компьютерной графики, например CreateLookAt или CreatePerspectiveFieldOfView.Передача методов матрицы Matrix4x4

Так как DirectX и OpenGL отличаются «хиральность» (DirectX использует LEF-передал координаты, а OpenGL правые координаты), как правило, такие интерфейсы доступны в обоих вариантах и ​​аннотированный либо RH или LH во избежание путаницы. Это не относится к System.Numerics, где у нас есть только одна версия каждого метода.

Мой вопрос в том, что такое ручность новых методов System.Numerics?

+1

Нативная система координат в OpenGL фактически левая. Большинство людей предпочитают указывать свою геометрию в правой руке и использовать перспективную матрицу, которая переворачивает ручность. –

+0

@RetoKoradi Согласен. В эпоху шейдеров и спад трубопровода с фиксированной функцией вы можете выполнять оба LH в RH в DirectX и OpenGL. Это просто, что большинство учебников/статей в Интернете используют LH в DirectX и RH в OpenGL, поэтому с ним легче работать, если вы изучаете трехмерную графику. – ghord

ответ

3

Как ни странно, все методы используют правые координаты, в отличие от собственного DirectX от Microsoft.