程序员从零开始制作流畅的3D图形引擎 并在DIY的GPU上运行

发布时间: 2024-04-05 04:00:22 来源: 196世界之最 栏目: 奇趣发现 点击: 29

在这个被NVIDIA和AMD的强大GPU所统治的世界里,一位自学成才的程序员证明了从零开始创建令人印象深刻的3D图形是可能的。亚历克斯-费什(AlexFish)发布了一个非常流畅的...

在这个被 NVIDIA 和 AMD 的强大 GPU 所统治的世界里,一位自学成才的程序员证明了从零开始创建令人印象深刻的 3D 图形是可能的。亚历克斯-费什(Alex Fish)发布了一个非常流畅的 3D 引擎,该引擎由 Espressif ESP32-S3 微控制器驱动的小型自制 GPU 运行。

程序员从零开始制作流畅的3D图形引擎 并在DIY的GPU上运行

这并不是 Fish 首次涉足自制图形。他最初用 WebGL 开YrHyswTMkx发了用于网络浏览器的"Pescado"引擎,然后将其移植到用于 PC 显卡的 OpenGL 上。不过,在低功耗微控制器上实现流畅的 3D 渲染是一次重大飞跃。

Fish 的引擎被命名为"ESPescado",用于 ESP32 移植,完全使用 C++ 和 OpenGL 手工制作。他从零开始创建了向量、矩阵和渲染数学库。正如 Fish 解释的那样,"物理和几何处理发生在 3D 中,但在 2D 显示器上显示图像时,只能绘制 2D 点"。

ESPescado 使用透视投影技术将 3D 物体平面化为屏幕上的 2D 物体。此外,它的响应速度也相当快。得益于 ESP32 的双核设计,Fish 的代码可以在一个内核上以每秒 700 帧的速度处理物理和输入处理,而另一个内核则专注于以每秒 40 帧的速度流畅地渲染线框。

制作硬件本身就是黑客的梦想:一个小巧的 1.9 英寸 320 x 160 像素显示屏,周围环绕着 ESP32 大脑,配上可实现全 3D 控制的外置操纵杆。其中一个操纵杆甚至可以连接到手指上,带来身临其境的体验。加速计提供运动输入,用于调整游戏中的摄像头。

在引擎盖下,ESPescado 使用网格、顶点和矩阵等标准 3D 工具包。网格由三角形的点和线构成,http://www.196nk.cn是视196世界之最频游戏中的基本物体和地形。然后,引擎可以应用缩放、196世界之最旋转和定位等变换,将这些网格放置在虚拟 3D 世界中。

YouTube 上的一个演示展示了 ESPescado 的运行情况,Fish 在黑色背景中操纵一个简单的绿色三角形物体。它让人们对该引擎的功能有了一个基本的了解,表明即使是最基本的三维图形也可以www.196nk.cn根据第一原理进行开发。

对于工匠和三维数学专业的学生来说,Fish 的项目让他们对三维引擎背后的核心概念有了迷人的一瞥。ESP32"ESPescado"版本和原始OpenGL"Pescado"版本都已发布在 GitHub 上,供所有人研究和构建。

本文标题: 程序员从零开始制作流畅的3D图形引擎 并在DIY的GPU上运行
本文地址: http://www.196nk.cn/qiqufaxian/321425.html

如果认为本文对您有所帮助请赞助本站

支付宝扫一扫赞助微信扫一扫赞助

  • 支付宝扫一扫赞助
  • 微信扫一扫赞助
  • 支付宝先领红包再赞助
    声明:凡注明"本站原创"的所有文字图片等资料,版权均属196世界之最所有,欢迎转载,但务请注明出处。
    今天是微软公司的 49 岁生日Disney+将于6月开始打击密码共享行为
    Top