directx12 3d+vs2022游戏开发第一章 笔记三 向量代数

ops/2025/2/1 14:38:23/

一、向量类型

1.局部变量或全局变量用XMVECTOR 类型。
2. 对于类中的数据成员, 使用XMFLOAT2(2d向量)、XMFLOAT3(3d向量)和XMFLOAT4(4d向量) 类型。
3. 在运算之前, 通过加载函数将XMFLOATn类型转换为 XMVECTOR 类型。

 // 创建 XMFLOAT2  XMFLOAT2 float2( 2.0f, 3.0f);// 将 XMFLOAT2 转换为 XMVECTOR  XMVECTOR vector2 = XMLoadFloat2(&float2);// 创建 XMFLOAT3  XMFLOAT3 float3(1.0f, 2.0f, 3.0f);// 将 XMFLOAT3 转换为 XMVECTOR  XMVECTOR vector3 = XMLoadFloat3(&float3);// 创建 XMFLOAT4  XMFLOAT4 float4(1.0f, 2.0f, 3.0f, 4.0f);// 将 XMFLOAT4 转换为 XMVECTOR  XMVECTOR vector4 = XMLoadFloat4(&float4);


4. 用XMVECTOR 实例来进行运算。
5. 通过存储函数将 XMVECTOR 类型转换为 XMFLOATn类型。

 XMVECTOR vector = XMVectorSet(1.0f, 2.0f, 3.0f, 4.0f);// 将 XMVECTOR 存储到 XMFLOAT2  XMFLOAT2 float2;XMStoreFloat2(&float2, vector);// 将 XMVECTOR 存储到 XMFLOAT3  XMFLOAT3 float3;XMStoreFloat3(&float3, vector);// 将 XMVECTOR 存储到 XMFLOAT4  XMFLOAT4 float4;XMStoreFloat4(&float4, vector);

6.书中的XM_CALLCONV 是DirectX Math库中用于指定函数调用约定的一个宏。加在函数名之前,它会根据编译器的版本确定出对应的调用约定属性。

二、参数的传递

传递XMVECTOR 参数的规则如下:
1. 前3个XMVECTOR 参数应当用类型 FXMVECTOR;
2. 第4个XMVECTOR 参数应当用类型 GXMVECTOR;
3. 第5、6个XMVECTOR 参数应当用类型 HXMVECTOR;
4. 其余的XMVECTOR 参数应当用类型 CXMVECTOR。

三、DirectXMath的函数使用

1.官网函数手册:DirectXMath 库函数 - Win32 apps | Microsoft Learn


http://www.ppmy.cn/ops/154771.html

相关文章

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.18 逻辑运算引擎:数组条件判断的智能法则

1.18 逻辑运算引擎:数组条件判断的智能法则 1.18.1 目录 #mermaid-svg-QAFjJvNdJ5P4IVbV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QAFjJvNdJ5P4IVbV .error-icon{fill:#552222;}#mermaid-svg-QAF…

蓝桥杯3518 三国游戏 | 排序

题目传送门 这题的思路很巧妙,需要算出每个事件给三国带来的净贡献(即本国士兵量减其他两国士兵量)并对其排序,根据贪心的原理累加贡献量直到累加结果不大于0。最后对三国的胜利的最大事件数排序取最值即可。 n int(input()) a …

PPT添加与管理批注的操作指南

​​​ 批注是PPT中一个非常实用的功能,它不仅能帮助我们在演讲和设计过程中记录想法,还能与他人协作时提供有价值的反馈。无论是团队讨论、审稿,还是个人思考,批注的运用都能让我们的PPT更加完善和高效。我会详细介绍如何在PPT中…

扣子平台音频功能:让声音也能“智能”起来。扣子免费系列教程(14)

在数字化时代,音频内容的重要性不言而喻。无论是在线课程、有声读物,还是各种多媒体应用,音频都是传递信息、增强体验的关键元素。扣子平台的音频功能,为开发者和内容创作者提供了一个强大而灵活的工具,让音频的使用和…

新鲜速递:DeepSeek-R1开源大模型本地部署实战—Ollama + MaxKB 搭建RAG检索增强生成应用

在AI技术快速发展的今天,开源大模型的本地化部署正在成为开发者们的热门实践方向。最火的莫过于吊打OpenAI过亿成本的纯国产DeepSeek开源大模型,就在刚刚,凭一己之力让英伟达大跌18%,纳斯达克大跌3.7%,足足是给中国AI产…

fatal error C1083: ޷[特殊字符]ļ: openssl/opensslv.h: No such file or directory

一、环境 1. Visual Studio 2017 2. edk2:202305 3. Python:3.11.4 二、 fatal error C1083: ޷򿪰ļ: openssl/opensslv.h: No such file or directory 上图出现这个警告,不用管。 出现Done,说明编译成功。 执行上…

研发的护城河到底是什么?

0 你的问题,我知道! 和大厂朋友聊天,他感叹原来努力干活,做靠谱研发,积累职场经验,干下来,职业发展一般问题不大。而如今大厂“年轻化”,靠谱再不能为自己续航,企业似乎…

大数据相关职位 职业进阶路径

大数据相关职位 & 职业进阶路径 📌 大数据相关职位 & 职业进阶路径 大数据领域涵盖多个方向,包括数据工程、数据分析、数据治理、数据科学等,每个方向的进阶路径有所不同。以下是大数据相关职位的详细解析及其职业进阶关系。 &#…