阅读视图
This Week In Moeif 28
This Week In Moeif 27
又是一周结束了,时间过的好快啊。这周在焦虑和烦躁中度过。上海也开启了冬天模式,很冷,还没有取暖设备,买了一个取暖器,也做不到整屋加热,不过还好距离过年也就剩一个多月了,可以回北方了。好像已经两个周没有出去跑步了…
This Week In Moeif 26
对于下一个游戏产品,有了一点点的方向,还没有深入去考虑。
This Week In Moeif 25
Rust 光线追踪 14: 最终汇总效果
Rust 光线追踪 13: 散焦模糊
散焦模糊,通俗来讲就是在聚焦区域外的东西,都是模糊的。通常这种效果被称为 Depth Of Field(DOF),也就是景深。最终效果如下
Rust 光线追踪 12: 正交相机
Rust 光线追踪 11: 折射
This Week In Moeif 24
Rust 光线追踪 10: 材质
在前面的文章中,我们渲染出来的图片使用的是漫反射的材质。不同的材质,可以简单理解为对于光线的影响不同,这里的影响包括如何吸收,如何散射等。在这一节,我们将加入另一种材质,金属材质。
最终的渲染图如下
编译 Apple Silicon 版本 Aseprite
编译苹果 M1 芯片版本的 Aseprite,步骤如下
Rust 光线追踪 09: 理想散射
Rust 光线追踪 08: 漫反射和伽马校正
漫反射的通俗理解是,当一个光线打到某一个物体的某一个点上,这条光线一部分会被吸收,一部分会被随机的反射出去,而反射出去的光线,又可能会打到另一个物体面上的一个点,然后又会被吸收,以及随机的反射出去。现实中的光线可能会无限递归下去,但是我们在程序中实现,不可能无限递归,会设置一个反射次数,达到了那个次数,就停止。
This Week In Moeif 23
这个周主要在做夜莺号的记忆这个项目,30号要交付一个版本,到今天为止,所有的逻辑已经搞完了,明天修一下问题基本上就可以了。这个周继续输出了三篇关于Rust及光线追踪的博客以及公众号和知乎,关注和阅读的人也在增加,下个周继续。
Rust 光线追踪 07: 抗锯齿和相机抽象
将上一节生成的图放大来看,可以看到球体的边缘与存在着很明显的锯齿,这一节我们首先将相机的代码进行抽象,写在一个 Camera 结构体里,然后加入抗锯齿的逻辑。
Rust 光线追踪 06: 代码抽象
这一节的内容修改的比较多,我们会把前面的逻辑重新整理一下,将可光线可交互的世界物体,抽象成一个 Hittable Object,然后可以在场景中添加多个物体。也使用了 Rust 的 Trait,Vec 等。最终效果图如下
Rust 光线追踪 05: 简化 hit_sphere 函数
这一节比较简单,就是将上一节的 hit_sphere 函数进行一定的简化,直接看代码。代码中简化之前的已经注释,可以直接对比一下,不同的计算方式,最终算出来的值都是一样的。