自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 将Simulink仿真模型代码化

Simulink Coder 是一个可以将 Simulink 模型转换为可执行代码的工具,能够生成高效、可移植的代码。的新模型,接着添加了正弦波发生器、增益模块和示波器,设置了增益模块的参数,最后连接了这些模块,并且打开了模型。Simulink 支持将模型转换为 C、C++ 等编程语言的代码,这个过程叫做代码生成。Simulink 提供了使用 MATLAB 代码来创建和配置模型的功能。在这个示例中,首先创建了一个名为。

2025-04-03 13:27:40 454

原创 Python代码做成API接口,并且可以在directx12 3d+vs2022开发中使用

调用时windows.web.http windows.data.json ppltasks需要修改的设置。在 Visual Studio 2022 中开发 DirectX 12 应用时,我们可以使用。是一个轻量级的 Web 框架,易于使用和部署。命名空间来发送 HTTP 请求。框架来创建一个简单的 API 接口。我们可以使用 Python 的。

2025-04-03 13:23:51 345

原创 XMStoreFloat4x4(&rightSphereRitem->TexTransform, XMMatrixScaling(8.0f, 8.0f, 8.0f));

这行代码的主要功能是创建一个纹理缩放矩阵,然后将该矩阵存储到结构体的成员中。下面对代码中的各个部分进行详细解释。

2025-04-03 13:17:27 354

原创 .m3d 文件

例如,在某些游戏开发中使用的.m3d 文件,可能会针对游戏引擎的需求,在文件中加入特定的碰撞体信息、光照烘焙数据等。在三维建模软件中创建的.m3d 文件,可能会包含与建模软件内部操作相关的一些编辑历史记录等信息。

2025-04-03 13:12:47 513

原创 屏幕空间环境光遮蔽(Screen Space Ambient Occlusion)效果SSAO

SSAO 效果即屏幕空间环境光遮蔽(Screen Space Ambient Occlusion)效果,是一种用于在计算机图形中实时实现近似环境光遮蔽效果的渲染技术。

2025-04-03 13:10:59 970

原创 AI普遍运用的时代 对个人发展的影响

随着AI的进步,越来越多的人不再执着于声明自己工作的独特性,而是向AI学习,去提升自己。1.摆脱对他人的依赖,即脱离公司、企业等等购买你劳动力的组织,去寻找自我的可能性。你可以雇佣AI帮你做出你想做而不能做的哪些事,你可以建立你理想中的公司,打破你所认为的不合理。对于个人的发展来说,我们只能拥抱变化,多去思考自我的可能性,摆脱依靠和依赖的思想。在这个时代,AI作为一种新型的劳动力出现在我们面前,而且这个劳动力不知疲倦,他的雇佣成本也随着技术的进步,不断下降。这样的情况下,我们只能努力去成为AI的管理者。

2025-03-01 14:44:39 219

原创 directx12 3d开发过程中出现的报错 十三

0x00007FF6C5284857 处(位于 Ssao.exe 中)引发的异常: 0xC0000005: 写入位置 0x0000000000000000 时发生访问冲突。

2025-02-22 21:54:42 409

原创 directx12 3d+vs2022游戏开发第六章 笔记十一

有专门用于更新阴影变换、主渲染通道、阴影渲染通道和 SSAO 常量缓冲区的函数,以及绘制场景到阴影图、绘制法线和深度的函数;构建了两个根签名(普通和 SSAO),描述符范围和根参数设置与 SSAO 相关;执行多个渲染步骤,包括阴影映射、法线和深度绘制、SSAO 计算和主渲染;则侧重于动画,尤其是骨骼动画的实现,定义了特定模型的动画关键帧和插值。在初始化时构建了 SSAO 相关的资源,如设置 PSOs;更新与光照、阴影、SSAO 相关的变换和常量缓冲区;更新动画时间、头骨动画,以及相关的常量缓冲区。

2025-02-22 21:54:14 351

原创 基于stm32英语背词器

按键控制OLED屏显示英文和汉字,也可控制蜂鸣器静音或者取消静音,按键按下时蜂鸣器发声led灯亮或灭。

2025-02-19 08:00:00 209

原创 基于STM32单片机制作 四键电子琴+控制PWM灯闪烁+oled显示

按键控制pwm控制的led灯闪烁,蜂鸣器发声和OLED屏显示。

2025-02-19 08:00:00 232

原创 MATLAB 中遇到 “未定义与 ‘cell‘ 类型的输入参数相对应的函数 ‘plus‘” 错误

元胞数组是一种特殊的数据类型,它可以包含不同类型的数据,如数值、字符串、结构体等。加法运算符在 MATLAB 中通常用于数值数组的加法运算,而不能直接用于元胞数组。% 错误:尝试对元胞数组使用加法运算符。

2025-02-18 08:00:00 280

原创 matlab 使用load函数报错

报错:此类型的变量不支持使用点进行索引。先看看你自己把路径或者访问数组的名称写对了没。

2025-02-18 08:00:00 771

原创 Simulink 配置参数中指定的设置创建 out.mat 文件时遇到了问题

如果指定的保存路径是一个软链接,而该软链接指向的目录不存在,就会出现此问题。里指定的保存路径不存在,MATLAB 就无法创建文件。然后在 Simulink 的配置参数中把保存路径修改为这个已存在的目录。文件正在被另一个仿真或程序使用,MATLAB 就无法对其进行写入操作。如果磁盘空间不足或者达到了磁盘配额限制,就无法创建新文件。这个文件夹并不存在。

2025-02-17 08:00:00 1254

原创 Simulink 生成一个可执行文件时报错

下,而 Simulink 不允许在 MATLAB 安装区域内进行修改操作 ,需要你将工作文件夹切换到一个不在 MATLAB 安装区域内的文件夹,然后重新执行之前的命令。这个错误提示的意思是你当前的工作文件夹位于 MATLAB 的安装目录(

2025-02-17 08:00:00 615

原创 将 Simulink 模型做成可执行文件(.exe)

这两个工具可以帮助将 Simulink 模型转换为 C/C++ 代码并生成可执行文件。可以在 MATLAB 的 “附加功能” 中搜索并安装这两个工具。在运行模型之前,确保你的 Simulink 模型已经正确配置,包含了所有必要的模块和参数设置。同时,需要为模型设置合适的仿真时间和求解器选项。

2025-02-15 22:01:09 517

原创 obj文件里的l

在 OBJ 文件格式中,l表示线(Line),用于定义模型中的线条元素。

2025-02-15 08:00:00 345

原创 std::string 类型转换为 UINT(即 unsigned int)类型

是 C++ 标准库中的一个函数,它能够把字符串转换为无符号长整型。是 C 标准库中的函数,同样可用于将字符串转换为无符号长整型。是 C++17 引入的一个函数,用于将字符序列转换为数值类型。类型容纳,就可将其赋值给。

2025-02-14 08:00:00 327

原创 用blender减少模型顶点,但不改变大致形状

网格简化” 修改器是一种快速减少模型顶点数量且保持形状的有效工具,以下是具体操作步骤:这种方法结合了三角化和塌陷操作,能更精细地控制顶点的减少,具体步骤如下:TabCtrl + TTab“网格清理” 工具可以帮助你去除模型中不必要的顶点和边,进一步优化模型,操作步骤如下:TabTab。

2025-02-14 08:00:00 1190

原创 directx12 3d开发过程中出现的报错 十二

如果变量的初始化依赖于某些条件,要保证在使用该变量之前,这些条件都能正确地对变量进行初始化。在编写循环时,若没有对循环计数器进行初始化,就会出现此错误。在条件判断语句里使用未初始化的变量,也会触发该错误。表明你在代码里使用了一个未初始化的变量。在使用变量之前,要确保对其进行初始化。这个运行时检查失败错误。

2025-02-13 19:03:34 157

原创 fin自动关闭的情况

对象期间抛出了异常,只要对象在栈上创建,那么在异常处理机制展开栈的过程中,对象的析构函数同样会被调用,文件也会自动关闭。是一个类,当它创建的对象离开其作用域时,析构函数会被自动调用,进而关闭与之关联的文件。对象的生命周期也就结束了,此时析构函数会被调用,文件会自动关闭。离开作用域时,它会自动销毁所管理的对象,从而关闭文件。对象,同样能保证在对象不再被使用时,文件会自动关闭。的行,就会抛出一个异常。对象会被销毁,其关联的文件会自动关闭。在这个例子中,若读取到内容为。

2025-02-13 19:01:41 750

原创 .obj 文件中,v、vn、vt、f含义

obj是一种常见的三维模型文件格式,它以纯文本形式存储三维模型的几何信息和材质信息。在.obj文件中,vvnvtf。

2025-02-12 08:00:00 728

原创 .obj 文件里 usemtl diffuse_255_255_255_255 的含义以及 f 面定义中出现四个向量的情况

在.obj文件里,f关键字用于定义面。通常一个面由三个顶点构成三角形面,格式为,这里的v是顶点索引,vt是纹理坐标索引,vn是顶点法线索引。

2025-02-12 08:00:00 252

原创 VertexList(顶点列表)里的 normal(法线)

计算公式如下: \(I_d = k_d \times I_l \times \max(0, \vec{N} \cdot \vec{L})\) 其中,\(I_d\) 是漫反射光照强度,\(k_d\) 是漫反射系数,\(I_l\) 是入射光的强度,\(\vec{N}\) 是表面法线,\(\vec{L}\) 是光线方向。在渲染三角形时,会根据三个顶点的法线对三角形内部的每个像素的法线进行插值计算,然后使用插值后的法线进行光照计算,从而实现平滑的光照效果。对于平面来说,平面上所有顶点的法线方向是相同的;

2025-02-11 20:04:37 539

原创 Visual Studio 2022 中使用DirectX Headers

项目的文件下载到本地。完成上述配置后,你可以尝试编译和运行你的项目,确保一切正常。在你的代码中,你可以包含所需的头文件并使用相关功能。是你项目中可执行文件或库的目标名称。

2025-02-11 08:00:00 467

原创 directx12 3d开发过程中出现的报错 十

来明确表示这是 DirectX 12 根签名的版本 1。随着 DirectX 体系的发展,为了提高代码的通用性和兼容性,让代码在不同的 DirectX 版本或者模块中能够更方便地复用,微软引入了更为通用的。如果你在维护一个旧项目,且使用的是较旧的 SDK 版本,那么继续使用。也是可行的,但如果后续要升级 SDK,就需要对代码进行相应的修改。如果你在使用较新的 Windows SDK 进行开发,建议使用。早期的 DirectX 12 API 中使用的是。这个枚举包含了不同的根签名版本定义,

2025-02-10 08:00:00 204

原创 directx12 3d开发过程中出现的报错 十一

警告:从“size_t”转换到“UINT”,可能丢失数据这个警告提示的是从size_t类型转换到UINT类型时可能会丢失数据。size_t是一种无符号整数类型,通常用于表示对象的大小或数组的长度,其宽度与平台有关,在 64 位系统上通常是 64 位的,而UINT是 32 位无符号整数类型。当size_t的值超出UINT所能表示的范围时,转换就会丢失数据。

2025-02-10 08:00:00 238

原创 unity3d 某对象四元数获取和控制

【代码】unity3d 某对象四元数获取和控制。

2025-02-08 08:00:00 184

原创 directx12 3d开发过程中出现的报错 九

中的某些参数存在问题。调用返回 “参数错误” 时,意味着传递给该函数的。

2025-02-08 08:00:00 538

原创 directx12 3d开发过程中出现的报错 七

这个错误通常是链接器在寻找程序入口点时出现问题。在 Windows 编程中,对于 GUI 应用程序,入口点一般是。对于控制台应用程序,入口点是。在你提供的代码里使用的是。

2025-02-07 08:00:00 365

原创 directx12 3d开发过程中出现的报错 八

在某些情况下,项目的配置可能会影响文件的查找路径,例如设置了自定义的工作目录。文件根本就没有被正确添加到项目中,或者在编译和运行过程中被意外删除了。替换为实际的项目目录。

2025-02-07 08:00:00 350

原创 directx12 3d开发过程中出现的报错 五

顶点着色器负责将顶点从模型空间转换到裁剪空间,如果转换矩阵设置不正确或者顶点数据传递有误,可能会使所有顶点都被裁剪掉,最终导致白屏。着色器负责处理顶点和像素的渲染逻辑,如果着色器代码有误,可能会导致渲染结果不符合预期,出现白屏现象。视口和裁剪矩形定义了渲染的区域,如果设置不正确,可能会导致模型不在可见区域内,从而出现白屏。裁剪矩形定义了渲染的有效区域,如果裁剪矩形设置不正确,可能会导致模型被裁剪掉,从而出现白屏。如果模型数据加载失败或者数据格式不正确,可能会导致无法正确渲染模型,从而出现白屏。

2025-02-06 08:00:00 496

原创 directx12 3d开发过程中出现的报错 六

调用失败并返回 “参数错误” 时,通常是由于传递给该函数的参数存在问题。虽然在创建常量缓冲区时需要进行内存对齐,但顶点缓冲区通常不需要。不过,还是要确保传递的大小和偏移量是有效的。的值无效(比如为 0),就会引发创建资源失败。你可以添加一些调试输出,确认。通常是用于上传缓冲区的正确设置,但还是要确保这些设置与你的需求相符。函数中添加调试输出,确认模型是否正确加载。在调用此函数之前已经成功创建。

2025-02-06 08:00:00 211

原创 directx12 3d开发过程中出现的报错 三

如果你的系统中没有安装该库,编译器自然无法找到对应的库文件。库版本与你的编译器、操作系统以及项目的目标平台(如 x86 或 x64)兼容。如果不确定,可以尝试下载最新版本的库并重新配置项目。名字不对“assimp.lib”应该改成你自己的库名,例如:assimp-vc140-mt.lib。库,但如果没有将库文件所在的路径添加到编译器的库搜索路径中,编译器仍然无法找到。库文件版本与你的项目不兼容,也可能会导致链接错误。文件是否存在拼写错误,或者文件本身是否损坏。如果还是不行,按以下方法尝试解决。

2025-02-05 08:00:00 1528

原创 directx12 3d开发过程中出现的报错 四

正在被操作系统或其他程序使用,编译器就无法对其进行写入操作,因为文件在使用过程中处于锁定状态。进行写入” 的问题。如果问题仍然存在,请提供更多的错误信息和项目环境信息,以便进一步排查。除了正在运行的程序外,某些安全软件、文件同步工具或其他第三方程序可能会锁定。文件进行写入操作,这可能是由于文件所在文件夹的权限设置不当导致的。文件可能已经损坏,或者被某个进程异常占用,导致无法正常写入。通过以上步骤,应该可以解决 “无法打开。文件,从而阻止编译器对其进行写入。当前用户可能没有足够的权限对。

2025-02-05 08:00:00 439

原创 directx12 3d开发过程中出现的报错 二

在调用device->CreateCommittedResource函数时,对CD3DX12_HEAP_PROPERTIES和CD3DX12_RESOURCE_DESC::Buffer这两个函数调用的返回值取地址,而这些返回值是临时对象(右值),&操作符要求操作数是左值(有具体内存地址、可以被赋值的对象)。你需要将这些临时对象存储到局部变量中,然后再取这些局部变量的地址,这样就可以避免对右值取地址的问题。函数在代码里被重复定义了。通常是因为头文件被重复包含,或者在多个源文件中重复定义了该函数。

2025-02-04 20:53:48 373

原创 directx12 3d开发过程中出现的报错 一

报错:“&”要求左值要求左值” 这个错误通常是因为你在尝试获取一个临时对象或者右值的地址,而运算符只能用于左值(即可以放在赋值语句左边的表达式,代表一个可以被引用的内存位置)。

2025-02-04 20:37:09 230

原创 directx12 3d+vs2022游戏开发第六章 笔记九 优化绘制流程

CPU 和 GPU 在渲染过程中是并行工作的,CPU 负责构建并提交命令列表,同时还执行其他必要的工作,而 GPU 则负责处理命令队列中的各种命令。在没有使用帧资源的情况下,每帧都需要等待 GPU 处理完所有命令后,CPU 才能更新常量缓冲区和构建新的命令列表,这导致 CPU 和 GPU 的利用率较低。而使用帧资源后,CPU 可以在 GPU 处理当前帧的同时,更新下一帧所需的常量缓冲区数据,如角色的新位置信息,并构建好下一帧的命令列表。接着可以在当前帧资源中更新相关资源,如常量缓冲区。,用于创建命令列表;

2025-02-03 08:00:00 510

原创 directx12 3d+vs2022游戏开发第六章 笔记十 渲染项与常量数据管理

这样做的好处是,在渲染过程中只需要更新一次这个缓冲区,而不需要为每个物体单独更新这些常量,从而减少了数据更新的频率和开销。例如,在一个游戏场景中,摄像机的位置和视角在一段时间内可能不会发生变化,那么将摄像机相关的常量数据存储在每次传递常量缓冲区中,可以避免在每一帧都对这些数据进行重复更新。例如,在绘制一个复杂的建筑物模型时,可能需要多个渲染项来分别绘制建筑物的不同部分,每个渲染项都关联到相应的几何体。例如,在一个 3D 游戏场景中,当角色移动时,其对应的渲染项的世界矩阵会根据角色的新位置和姿态进行更新。

2025-02-03 08:00:00 992

原创 directx12 3d+vs2022游戏开发第六章 笔记八 绘制几何体

它接收来自顶点缓冲区的顶点数据,根据预设的算法对顶点的位置、颜色、法线等属性进行计算和转换,然后将处理后的顶点数据输出到渲染流水线的下一阶段。例如,通过矩阵变换,可以将顶点的局部坐标转换为世界坐标,再结合摄像机的位置和方向,将世界坐标转换为观察坐标,最后通过投影矩阵将观察坐标转换为裁剪坐标。在这个过程中,顶点着色器还可以对顶点的颜色进行光照计算,考虑光源的位置、强度和方向等因素,计算出每个顶点在当前光照条件下的最终颜色。在上述代码中,首先设置了顶点缓冲区视图,将顶点缓冲区绑定到渲染流水线的输入装配阶段。

2025-01-31 20:51:28 1336

原创 directx12 3d+vs2022游戏开发第五章 笔记七 渲染

这个结构体定义了顶点的位置和颜色信息。其中,是顶点缓冲区的大小,可通过计算顶点数量和每个顶点的大小得到。接着,使用nullptr,这里创建的是一个上传堆类型的顶点缓冲区上传器,用于将顶点数据从 CPU 内存复制到 GPU 显存。最后,在渲染时,通过方法将顶点缓冲区视图设置到输入装配阶段。nullptr,在渲染时,通过方法将索引缓冲区视图设置到输入装配阶段。纹理资源1.纹理创建这里设置了纹理的尺寸、格式、层级等属性。然后使用nullptr,

2025-01-31 08:00:00 1303

curl8.12.1文件最新

cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。

2025-03-09

有源蜂鸣器的仿真+代码

有源蜂鸣器

2025-03-04

MATLAB Simulink对P、PI、PID控制器分别进行仿真,调整比例度、积分时间和微分时间等参数,分析不同控制策略下系统的动态响应

MATLAB Simulink对P、PI、PID控制器分别进行仿真,调整比例度、积分时间和微分时间等参数,分析不同控制策略下系统的动态响应

2025-02-16

在MATLAB上实现基于Hankel矩阵的系统辨识

在MATLAB上实现基于Hankel矩阵的系统辨识

2025-02-16

基于STM32单片机制作 四键电子琴+控制PWM灯闪烁+oled显示

基于STM32单片机制作 四键电子琴+控制PWM灯闪烁+oled显示 按键控制pwm控制的led灯闪烁,蜂鸣器发声和OLED屏显示

2025-02-16

基于stm32英语背词器

基于stm32英语背词器 按键控制OLED屏显示英文和汉字,也可控制蜂鸣器静音或者取消静音,按键按下时蜂鸣器发声led灯亮或灭。

2025-02-16

基于c# TCP 网络编程 教师公共服务学时统计系统

本篇文章仅作为引导,讲解一种设计思路。软件较为初级,作为接触网络编程的新手来说比较容易理解。 系统实现采用tcp编程实现双端口交互,软件整体分为server和lclient两个.exe程序。

2025-02-16

stm32 输入捕获模式测量频率+仿真

stm32 输入捕获模式测量频率+仿真

2025-02-16

stm32 PWM驱动LED呼吸灯+仿真

stm32 PWM驱动LED呼吸灯

2025-02-16

PWMI模式测量频率和占空比

PWMI模式测量频率和占空比

2025-01-31

stm32PWM呼吸灯实验

stm32PWM呼吸灯实验

2025-01-30

一些directx12 3d标准库和例程

标准库和例程

2025-01-24

基于stm32单片机的超声波测距的代码,pcb和proteus仿真

基于stm32单片机的超声波测距的代码,pcb和proteus仿真

2025-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除