首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Rust与游戏开发
一个游戏开发者
创建于2021-12-04
订阅专栏
主要写Rust和游戏开发相关的知识
等 1 人订阅
共10篇文章
创建于2021-12-04
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Rust 光线追踪 10: 材质
在前面的文章中,我们渲染出来的图片使用的是漫反射的材质。不同的材质,可以简单理解为对于光线的影响不同,这里的影响包括如何吸收,如何散射等。在这一节,我们将加入另一种材质,金属材质。 最终的渲染图如下
Rust 光线追踪 09: 理想散射
上一节生成的图看起来很暗,有一个问题是因为有些物体反射的光线,会在 t = 0 时再次击中自己,而由于浮点数精度的问题,这些值可能是 0.00000001 或 -0.0000001 之类的任意接近0的
Rust 光线追踪 08: 漫反射和伽马校正
漫反射的通俗理解是,当一个光线打到某一个物体的某一个点上,这条光线一部分会被吸收,一部分会被随机的反射出去,而反射出去的光线,又可能会打到另一个物体面上的一个点,然后又会被吸收,以及随机的反射出去。现
Rust 光线追踪 07: 抗锯齿和相机抽象
将上一节生成的图放大来看,可以看到球体的边缘与存在着很明显的锯齿,这一节我们首先将相机的代码进行抽象,写在一个 Camera 结构体里,然后加入抗锯齿的逻辑。 最终生成图如下 放大这次与上次生成的图,
Rust 光线追踪 06: 代码抽象
这一节的内容修改的比较多,我们会把前面的逻辑重新整理一下,将可光线可交互的世界物体,抽象成一个 Hittable Object,然后可以在场景中添加多个物体。也使用了 Rust 的 Trait,Vec
Rust 光线追踪 05: 简化 hit_sphere 函数
这一节比较简单,就是将上一节的 hit_sphere 函数进行一定的简化,直接看代码。代码中简化之前的已经注释,可以直接对比一下,不同的计算方式,最终算出来的值都是一样的。 >>> 音乐与僵尸:Zom
Rust 光线追踪 04: 显示球体的法线
法线的定义是垂直于面的向量。对于一个球体来说,法线的向量,就是球上某个点,减去球心坐标,所得到的向量。 虽然法线向量看不到,但是我们可以将它的值,使用 RGB 颜色值的形式,显示出来,这样我们可以有一
Rust 光线追踪 03: 渲染一个圆
下面的公式有点多,只是把原教程中的公式详细展开了,一步一步来,很简单,相信我。 给定一个点,判断一个点是否在一个半径为 $R$ 的圆或者圆外、圆内,我们可以使用下面的公式来判断。这里假设圆心在 $(0
Rust 光线追踪 02: 使用光线生成渐变图
这个小节的目标是添加光线相光内容,根据光线打在屏幕上不同的位置,生成一张蓝白渐变图。 我们可以将光线理解为一条射线,从某个点作为起点,向某个方向发射。例如,从三维世界 (0,0,0)点起始,向(-1,
Rust 光线追踪 01: 输出PPM
这个系列的博客是使用 Rust 来实现 《Ray Tracing in One Weekend》相关的内容,我们把整本书拆开,来分篇实现,这们可以进一步降低难度。PPM是一个简单的图片格式,它将RGB