Sen's blog

请使用 Ctrl + F5 刷新页面以获取最新博客内容

c++(5·访问修饰符、重写隐藏重载、友元、异常处理、正则)

成员访问修饰符 作用 控制着类成员的访问权限 分类: public公共(struct默认):在类内,类外(类定义外),派生类,友元,都可以访问,通常存放对外公开的接口 protected受保护:在类内,派生类,友元可以访问,通常存放在继承体系中可以访问的部分 private私有(class默认):只能在类内,友元,可以访问,通常存放对类外隐藏实现的部分 继承访问修饰...

(1·设计模式分类、单例、观察者模式)

设计模式 理解:算法是解决特定问题的模板,设计模式是优化架构的模板 抽象:将通用的数据和方法提取出来的过程(房子的设计图纸) 封装:将抽象出来的数据和方法封装为类/将设置成员访问权限,对外隐藏内部实现细节(一个房子) 遵守高内聚,低耦合(设计原则) 高内聚:模块内部数据/功能相关程度的高 低耦合:模块/对象之间的依赖关系弱,修改一个模块 ...

Games202(12`作业5)

作业5 前言 本节我们将实现实时光线追踪的时间累计降噪算法 对于光线追踪的渲染结果,G-Buffer 及其他相关信息会以文件的形式提供(202作业5发布公告的作业数据百度网盘资源,将它解压到项目目录) 运行build.bat 或 build. sh 来构建和编译作业框架,里面的指令和以前一样,通过cmake生成工程和vs编译即可生成可执行文件 工程输入和输出都是.exr图片格式的文...

c++(3`I/O库)

I/O库 输入和输出并不是C++语言中的正式组成成分,而是在c++ STL(Standard Library标准库,命名空间使用std)中的io库中定义的: 流(stream): 描述字节序列在设备和内存流动的现象 输入输出: 如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,是输入操作 如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),是输...

Games202(11`作业4)

作业4 前言 微表面模型的BRDF(Microfacet BRDF)存在一个根本问题,就是只考虑了首次弹射出射的能量,忽略了首次未出射的能量,而这部分能量会参与到微平面间的多次弹射中,一部分会弹射到人眼,这就导致了材质的能量丢失,并且当材质的粗糙度越高时,能量的丢失会越严重 Kulla-Conty BRDF模型,引入一个微表面BRDF补偿项fms,来补偿光线的多次弹射,使得材质的渲染结...