返回介绍

编写相机、网格和设备对象的核心逻辑​

发布于 2025-02-18 12:46:40 字数 944 浏览 0 评论 0 收藏 0

我非常乐意通过一系列教程和大家分享如何建立所谓的 3D 软件渲染引擎。软件渲染引擎 意味着我们将只使用 CPU 建立一个 3D 引擎,完全不使用 GPU。(请不要忘记毁灭你的 80386?)

我将与你分享 C#、TypeScript 以及 JavaScript 三种版本的代码。在这三者中,你应该可以找到自己喜欢的语言,或者至少比较接近你所喜欢的语言。这样做是为了让你更容易从语法中抽身,把重点放在概念和实现上以及你最喜欢的编程环境中。代码在文章末尾可以下载到。

那么,为什么要建立一个 3D 软件渲染引擎呢?嗯……这只是因为它确实有助于理解现代化的 3D 实现以及 GPU 处理器原理。

事实上,我非常感谢 David Catuhe 在微软内部研讨会中提供的 3D 基础知识。他已经掌握 3D 知识非常之久,矩阵运算就像是硬编码一样刻在了他的脑子里。我在年轻的时候,就一直梦想着能写这样的引擎,但是这对我来说太复杂了。但是最后,你会发现这并不复杂。你只是需要一个人帮你理解基本原理以及最简单的实现方式。

通过本系列教程,你将学习到如何在 2D 屏幕中绘制一些 3D 顶点(X,Y,Z)、如何绘制每个点之间的线段、如何填充一些三角形、处理灯光、材质等。

这第一篇教程就先只告诉你如何显示 8 个顶点组成一个立方体以及如何在 3D 虚拟世界中进行移动。

如果按照完整的系列教程学习,你就会 知道如何建立自己的 3D 软件渲染引擎 !引擎将会描绘一些线框,然后光栅化,再进行高氏着色,最后应用纹理。

点击图片查看阶段演示,在本系列教程中我们将讨论如何从线框到最终的纹理。

点击 运行代码 后,你将看到学习本章节将会实现 8 个点的效果。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文