当前位置: 首页 > news >正文

从零开始物理引擎(六)- 重构完成与MVP理解

完成重构,搭建起物理引擎基础框架,包含碰撞检测与移动方式以及物理量基类。

本篇借助重构进一步探索MVP矩阵理解(model->view->projection)

重构

Common

该项目以dll形式注入启动项目,主要包含通用操作如全局上下文,配置类,日志以及引擎所需接口如窗口接口,控制台接口,渲染类接口等

Console

控制台实现项目,以dll形式注入,通过实现CommoncreateConsole供主启动类创建出控制台。借助imgui实现

MainWindowUi

窗口实现项目,以dll形式注入,通过实现CommoncreateWindow供主启动类创建出主窗口。借助win32api实现

Renderer

渲染器,由dx11负责渲染,主要封装了dx11渲染操作。通过实现CommoncreateDx11供主启动类创建出渲染器实例。


这里不过多介绍代码实现,主要针对渲染器重构部分详解MVP矩阵概念。

渲染器重构

原有渲染是将每个形状作为渲染的主体,例如圆形三角形等分别做成不同的类,类中包含位置数据与移动所需movement对象。
现有渲染将位置数据搭配movement对象作为渲染主体,其中movement对象包含速度加速度质量,通过其他物理量计算出’物体’受力,进而计算出加速度,借助半隐式欧拉积分根据加速度计算出速度从而改变物体位置
再次回顾物体如何被渲染到屏幕上,渲染管线部分此处不赘述,从实现角度来讲,我们需要配置顶点数据将形状绘制出来。那么顶点MVP矩阵的含义与关系分别是什么。
可以这么理解,以我们现实世界来看,顶点代表一个物体的形状,这个形状存在于概念层面,即我们想象中的形状。举个例子,我们想象一个人,那么它的形状会在脑海中浮现,这个就是顶点,它定义出了物体在抽象意义上的形状。但要将抽象意义中的物体放在现实世界中,我们需要它的位置大小姿态(旋转)。

相关文章:

  • 济南通过首个备案生活服务大模型,打造行业新标杆
  • MCP协议在纳米材料领域的深度应用:从跨尺度协同到智能研发范式重构
  • 详解STM32时基单元中参数 TIM_ClockDivision 的含义
  • 水位传感器详解(STM32)
  • clickhouse数据导出导入
  • 解锁健康生活:养生新主张
  • 基础数学知识-概率论
  • 使用fast-crud插件的扩展包fast-extends实现图片上传 一:cropper-uploader(裁剪上传)
  • 设计模式每日硬核训练 Day 15:享元模式(Flyweight Pattern)完整讲解与实战应用
  • 专业热度低,25西电光电工程学院(考研录取情况)
  • 9.Rust+Axum 测试驱动开发与性能优化全攻略
  • 使用Pydantic优雅处理几何数据结构 - 前端输入验证实践
  • MCP系列之架构篇:深入理解MCP的设计架构
  • 自定义 el-menu
  • 计算机网络——应用层
  • 基于SpringBoot成绩管理系统设计与实现(源码+文档+部署讲解)
  • STM32 基本GPIO控制
  • 鸿蒙NEXT开发键盘工具类(ArkTs)
  • 基于linux 设置无线网卡Monitor模式 sniffer抓包
  • C++面向对象
  • 五粮液一季度净利增长5.8%,今年营收与宏观经济指标保持一致
  • 潘功胜:一季度中国经济开局良好,金融市场展现出较强韧性
  • 牛市早报|商务部:目前中美之间未进行任何经贸谈判
  • 新华视点丨广西抗旱一线调查
  • 5月1日起,涉外婚姻登记将在上海市16区全面铺开
  • 神二十发射取得圆满成功