|
目前在STM32上还没有找到一个完整的开源3D引擎,因此我决定继续完成大学时的梦想,从零写一个3D引擎。 渲染采用了通用的三角形渲染方法,既三点确定一个面信息,与四边形渲染法的优势在于,三角形渲染法在复杂模型上更节约内存。也是目前所通用的一种渲染方法,显卡里有个指标叫三角形填充率,就是指这个。 既然要运行在单片机上,就要精简掉一些功能。比如贴图。。。因此我写的这个不支持贴图功能,只能进行指定颜色填充。 给大家看看我开发的3D引擎的大致思路:
最后进行光栅化处理就能显示到LCD屏幕上了,其实3D引擎的开发主要是连线,将空间上的点连成三角形,然后去填充这些三角形,最后投影到LCD上。 旋转矩阵计算方式:
单片机选用了STM32F407ZET6,cortex-m4内核有浮点单元(但是为了兼容性,我没使用) 整个代码优化了浮点,但是渲染精度很差,还需要继续优化。 给大家看看单片机显示效果:
实际模型:
动态旋转效果我发到优酷上了,优酷上搜索“STM32F407单片机3D模型渲染显示-流畅15帧”可以观看 代码先不放出了,有厂家想要这个代码,我看以后写个简单的版本,再放出来。 |
不错,下次可以写个俄罗斯方块玩 |
| 不错,感谢分享! |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版