More than code

图形学
计算机图形学

现代计算机图形学 作业7 解析(4)

现代计算机图形学 作业7 解析(4) 其实这一篇文章不算是解析,而是说一下我在实现过程中发现的一个很有意思的点 首先大家看一下我之前生成的这样图片,有没有发现什么奇怪的地方 注意看那个圆球,对比兔子来看,兔子的身上是都有高光的,就是直接光照造成的。但是对于球来说,它的上面有一块黑乎乎的东西。按照我们的经验判断,这个球上面应该也会有一块类似的高光产生,但是这里却没有。这是为什么呢? 最开始我想的是可能因为镜面反射需要一定的角度才能看到高光,所以这里是因为球的位置的原因,还看不到。 我调整了球的位置以后,再次生成图片发…

2021年8月17日 0条评论 532点热度 0人点赞 sheep 阅读全文
计算机图形学

现代计算机图形学 作业7 解析(3)

现代计算机图形学 作业7 解析(3) 这次终于到了微表面模型,在成功实现了这个模型后,我们就可以将渲染的质量再提高一个档次 在开始之前,如果感兴趣的同学可以先看一下这两篇文章 链接 链接 主要实现的原理就是基于这两篇文章。我这里只是给做一个总结,所以还是推荐综合起来一起看。 这里因为是总结性的文章,所以我这里也就不再多给大家贴公式或者讲原理什么的了 之前我们说过,当成功的把path tracing的代码写完以后,基本上就不需要再去调整什么了,因为微表面模型相关的优化都是在材质上实现的 同样的,能够影响我们的就是之前…

2021年8月16日 0条评论 545点热度 0人点赞 sheep 阅读全文
计算机图形学

现代计算机图形学 作业7 解析(2)

现代计算机图形学 作业7 解析(2) 这次我们会涉及到有关提高的内容,即多线程和微表面模型 所以这里也会提到有关C++语言方面的一些东西 我相信大家在做这个作业的时候肯定已经被效率问题折磨了很多次了,因为生成一张图片要很久,所以要花很久才能看到自己的代码写的到底是不是正确的 首先是代码框架的一个问题,论坛中有人提出来,大量的时间被耗费在构造随机数生成器了,所以在开始之前,可以先把随机数生成的函数中,把随机数生成器给改成static的,这样可以让速度快很多 然后我们来说多线程 在写代码的过程中我们可以发现,每个像素的…

2021年8月15日 0条评论 483点热度 0人点赞 sheep 阅读全文
计算机图形学

现代计算机图形学 作业7 解析

现代计算机图形学 作业7 解析 吐个槽,现在又进入了很迷的状态,基本上一天都在忙,但是也都不知道在忙什么,也没有花出很大的时间去读书或者写文章,要找时间去调整一下 这篇文章解析一下实现path tracing的最基本的内容,下篇文章将会讲解多线程和微表面模型相关的实现 此外这篇文章就不会再去深入解读之前已经讲过的东西了,我们把重心放在path tracing 看到Render,我们会对每一个像素进行采样,发出若干条光线,并最后把这些光线得到的结果平均起来。课上老师有提过,我们最后得到的光线其实并不能直接的转化成颜色…

2021年8月14日 0条评论 498点热度 0人点赞 sheep 阅读全文
计算机图形学

现代计算机图形学 作业5 解析(2)

现代计算机图形学 作业5 解析(2) 上次我们说完了生成的光线,这次我们要正式进入光线追踪的过程中了 来到castRay中,可以看到上面的注释,注释中写了对于几种材质的处理 对于我们这次框架来说,材质要么是反射和折射的,要么是反射,要么是漫反射的,我们对于每种情况分别处理 递归的过程中记录深度,如果深度超出了最大递归的深度,我们就不在累计贡献 然后首先默认将hitColor设置成背景颜色 然后下面的if也是C++的一个新特性,可以在if语句中进行初始化,我在我最早的一篇文章中也有提过。 这里我们不进入到trace的…

2021年8月7日 0条评论 504点热度 0人点赞 sheep 阅读全文
计算机图形学

现代计算机图形学 作业5 解析(1)

现代计算机图形学 作业5 解析(1) 昨天在做这个作业5的时候开始给我整的有点蒙,而且做完以后发现渲染出来的结果还是不错的,所以想着深挖一下代码, 这篇文章就是对这个作业代码整体的一个解析,也希望能为在做这个作业时感到困惑的同学提供一些帮助 首先在main.cpp里创建场景,然后定义了两个Sphere,两个Light,和一个MeshTriangle 注意这里的make_unique就是构建智能指针的意思,引用计数结束后就会把智能指针管理的对象删除掉 两个Sphere的类型分别是DIFFUSE_AND_GLOSSY和…

2021年8月4日 0条评论 531点热度 0人点赞 sheep 阅读全文
分类
  • ARTS
  • C++
  • CSAPP
  • daily
  • database
  • leetcode
  • linux
  • ml
  • nlp
  • paper
  • rocksdb
  • rust
  • ScummVM
  • tech
  • 其他
  • 周报
  • 未分类
  • 笔记
  • 算法
  • 计算机图形学
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 7 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 2022 年 9 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 1 月
  • 2020 年 12 月

COPYRIGHT © 2021 heavensheep.xyz. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS