- 博客(14)
- 收藏
- 关注
原创 GAMES101:作业7
做出来图片有横条的原因在这里:这个数字不能过于接近0。由于本人电脑虚拟机不太稳定,日常闪退,因此我渲染了474秒,取SPP=30,结果如下:可以看到,不到七分钟的渲染结果还是非常不错的并且注意检查 t_enter = t_exit 的时候的判断是否正确。这句提示其实非常关键!老师上课的时候经常提到,图形学很少关心相等的时候的条件,但是这里确实会影响到输出的结果。假如 t_enter = t_exit 时返回的是false,那么作业6并不会出任何问题,但作业7中会导致只能渲染出左侧的盒子和墙体。因此,
2021-12-15 01:00:45 5411 2
原创 GAMES101:作业6
GAMES101:作业6接下来是实现加速的光线追踪,本练习要求实现 Ray-Bounding Volume 求交与 BVH 查找。后文中笔者也实现了SAH(Surface Area Heuristic),并逐段代码讲解了SAH的实现首先,你需要从上一次编程练习中引用以下函数:• Render() in Renderer.cpp: 将你的光线生成过程粘贴到此处,并且按照新框架更新相应调用的格式。
2021-12-11 00:38:39 3933 4
原创 GAMES101:作业5
games101 作业5 ray tracing 光线追踪 - 这里的过程实际上相当于把屏幕空间先缩小到左下角为0,0的2*2格子里,然后移动到0,0处。 - 和框架规定有关,作业一直有上下颠倒的问题,这里面可以在y填一个负号来解决。 - 最后乘的系数是生成图片的大小
2021-12-09 23:16:45 3931 1
原创 GAMES101:作业4
GAMES101:作业4光栅化结束了,下面进入了Geometry的部分。任务是画贝塞尔曲线:首先什么都不用改,直接运行一下框架查看有无问题:可以看到运行结果一切正常,接下来开始完成作业。按照要求:“注释掉 main函数中 while 循环内调用 naive_bezier 函数的行,并取消对 bezier 函数的注释。要求你的实现将 Bézier 曲线绘制为绿色。”naive_bezier里面是代数方法,作业希望我们用De Casteljau算法来实现,也就是通过递归的方式。实际上是非常简单的递归
2021-12-07 22:33:46 5099 3
原创 GAMES101:作业3
GAMES101:作业3照旧把这段代码粘贴过来:Eigen::Matrix4f get_projection_matrix(float eye_fov, float aspect_ratio, float zNear, float zFar){ float n = zNear; float f = zFar; Eigen::Matrix4f projection = Eigen::Matrix4f::Identity(); float t = -tan((eye_fov
2021-12-05 23:32:44 8334 10
原创 GAMES101:作业2
GAMES101:作业2t那里我添加了一个负号之后图形才是正的Eigen::Matrix4f get_projection_matrix(float eye_fov, float aspect_ratio,float n, float f){ Eigen::Matrix4f projection = Eigen::Matrix4f::Identity(); float t = -tan((eye_fov/360)*MY_PI)*(abs
2021-12-04 23:51:06 2434
原创 GAMES101:作业0
GAMES101:作业0#include<cmath>#include<eigen3/Eigen/Core>#include<eigen3/Eigen/Dense>#include<iostream>#define _USE_MATH_DEFINES //这里是加入了一些常见数学常量,见:https://blog.csdn.net/timidsmile/article/details/7322181int main(){ Eigen
2021-12-03 21:35:45 3739
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人