- 博客(86)
- 收藏
- 关注
原创 闭关之 C++ Template 笔记(五):Concepts 和 Standard Type Utilitie
《C++ Template 第二版》笔记
2022-11-01 01:07:46
810
原创 闭关之现代 C++ 笔记汇总(二):特性演化
对 Bjarne Stroustrup 的论文《Thriving in a Crowded and Changing World: C++ 2006–2020》的总结。
2022-09-12 12:38:57
1224
1
原创 Unity游戏优化(第二版)阅读笔记
目录前言笔记总结前言 最近突然想了解一下游戏引擎中渲染部分是怎么优化的,所以在某平台上买了这本电子书,当初只是想了解行业技术,觉得翻译太浪费时间,所以买了这边。现在觉得这种选择是正确的,一本数看完,笔记还不到100条!这本书应该比较适合学习一段时间Unity后,作为进阶的入门材料。而如果想学一些渲染相关的优化,还是不推荐这本书的。笔记使用map时最好使用整型或enum做为 key,而不使用字符串指针跳跃会浪费时间、因此删除或禁用空函数经常使用的变量应该池化或使用引用、避免复制IO相关数
2022-04-12 08:24:08
2904
原创 Blender Cycles 源码学习(一):Cycles 编译
目录前言环境说明环境搭建Cycles 源代码编译坑示例运行前言Cycles 是 Blender 的离线渲染器。大概看了一下代码,和我的代码风格非常相似,比较容易理解的。可以仔细研究下。毕竟离线还是小白,作为入坑源码很不错。详细信息可以在 Blender 官网上查阅 地址。 环境说明 Cycles 使用的环境:1. 操作系统: Window 11 专业版2. IDE:Visual Studio 2022(v17.0.3)3. Win SDK:10.0.19041.04. Cycles
2022-03-28 07:45:01
1390
原创 Google Filament 源码学习(六):Material System (五) - 材质系统框架
目录IntroductionFilament 工程简化删除 Filament 工程中非核心内容根目录保留build文件夹中保留filament文件夹中保留libs文件夹中保留third_party文件夹中保留tools文件夹中保留关于CmakeList中的修改根目录下CmakeList 修改删除所有保留库的test文件小结材质框架分离Compiling materialsCompilingShader validationFlagsFilament 材质包的编译matcresgenMatc 工程分离Resg
2022-03-21 08:33:30
2896
原创 Google Filament 源码学习(五):Material System (四) - 材质系统 API
目录Shader public APIsIntroductionTypesMathMatricesFrame constantsVertex onlyFragment onlyHandling colorsLinear colorsPre-multiplied alpha总结Shader public APIsIntroduction 将 Shader public APIs小节单独做总结是有必要的,这部分与材质框架代码编写相关。资料依然来自于官方文档:https://github.com/g
2022-03-15 08:02:38
4891
原创 Google Filament 源码学习(四):Material System (三) - 材质格式 (mat)
目录Filament Materials GuideIntroductionMaterial definitionsFormat (材质定义的格式)Differences with JSONExampleMaterial blockGeneralVertex and attributesBlending and transparencyRasterizationLightingAnti-aliasingShadingVertex blockMaterial vertex inputsFragment blo
2022-03-11 08:34:05
1949
原创 Google Filament 源码学习(三):Material System (二)
目录Filament Materials GuideIntroduction相关术语与概念Material ModelsLit ModelBase ColorMetallicRoughnessReflectanceSheen colorSheen roughnessClear coatAnisotropyAnisotropy directionAmbient occlusionNormalBent normalClear coat normalEmissivePost-lighting colorIndex
2022-03-03 08:54:10
1496
原创 Google Filament 源码学习(二):Material System (一)
目录前言Material SystemIntroductionStandard Model (标准材质)Standard ModelStandard Model SummaryImproving the BRDFsParameterizationRemappingBlending and layeringCrafting physically based materialsClear Coat modelclear coat specular DRBFIntegration In The Surface
2022-02-07 12:57:56
2087
原创 Primer c++ 笔记汇总(四)
目录第十六章 模板与泛型编程第十七章 标准库特殊设施tuple 类型bitset类型正则表达式随机数IO库再探第十八章 用于大型程序的工具异常处理命名空间多重继承与虚继承第十九章 特殊工具与技术控制内存分配运行时类型识别枚举类型类成员指针嵌套类union:一种节省空间的类局部类固有的不可移植的特性第十六章 模板与泛型编程模板是C++泛型编程的基础一个模板就是一个创建类或函数的蓝图或者说公式转换发生在编译时模板定义在模板定义中,模板参数列表不能为空运行时,调用者提供实参来初始化形参当
2022-02-03 20:57:58
597
原创 Primer c++ 笔记汇总(三)
目录第十二章 动态内存第十三章 拷贝控制第十四章 重载运算与类型转换第十五章 面向对象程序设计第十二章 动态内存静态内存用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量。栈内存用来保存定义在函数内的非static对象。分配在静态或栈内存中的对象由编译器自动创建和销毁栈对象仅在其定义的程序块运行时才存在static对象在使用之前分配,在程序结束时销毁动态内存C++中,动态内存的管理是通过一对运算符来完成的new 在动态内存中为对象分配空间并返回一个
2022-01-21 09:04:52
88
原创 Primer c++ 笔记汇总(二)
目录第七章 类第八章 IO库第九章 顺序容器第十章 泛型算法第十一章 关联容器第七章 类定义在类内部的函数是隐式的inline函数常量成员函数C++允许把const 关键字放在成员函数的参数列表之后。此时,紧跟在参数列表后面的const表示this是一个指向常量的指针。常量对象,以及常量对象的引用或指针都只能调用常量成员函数构造函数不能声明成const当创建类的一个const对象时,直到构造函数完成初始化过程,对象才能真正取得其“常量”属性c++11新标准,如果需要默认行为,可以
2022-01-14 08:24:36
278
原创 Primer c++ 笔记汇总(一)
目录Introduction第一章 开始第二章 变量和基本类型第三章 字符串、向量和数组第四章 表达式第五章 语句第六章 函数使用decltypeIntroduction 弃坑一段时间BGO后,为了填补上班这一个小时的空闲时间,重新看了一遍《Primer c++ 》。“温故而知新”这句话还是很有道理的。竟然发现自己在实际工作当中,有很多c++的优秀特性没有利用上。趁热打铁,重新整理一下C++笔记。第一章 开始略,太基础了!注意:在包含头文件时,<> 和 “” 的选择<
2021-12-31 08:17:00
207
原创 WebGL试玩(一)-- 环境搭建
目录IntroductionWebGL--Window下环境配置Homework0index.htmlengine.jsloadOBJ.jsMesh.jsTexture.jsMaterial.jsShader.jsMeshRender.jsWebGLRenderer.jsInternalShader.jslightShaderphongShader小结Introduction 实时渲染中的大部分基础内容已经复习差不多了。应该说,现在已经对实时渲染的一整套体系都有所了解了。开源引擎也仔细研读了几种。应
2021-12-21 08:51:52
1402
原创 渲染算法学习(七)-- Real-Time Ray Tracing
目录Real-Time Ray Tracing(RTRT)Implementation of FilteringBilateral FilteringJoint Bilateral FilteringImplementing Large FiltersOutlier RemovalSpatiotemporal Variance-Guided Filtering (SVGF)RAE — Architecture小结Real-Time Ray Tracing(RTRT)RTRT实现的效果Shadows
2021-12-14 08:57:17
584
原创 渲染算法学习(六)-- Real-Time Physically-Based Materials
目录PBR and PBR MaterialsPhysically-Based Rendering (PBR)PBR materials in RTRPBR materialsMicrofacet BRDFNormal Distribution Function (NDF)Shadowing-Masking Term(Term G)Linearly Transformed CosinesDisney’s Principled BRDFNon-Photorealistic Rendering (NPR) --
2021-12-03 08:55:08
511
原创 渲染算法学习(五)-- Real-Time Global Illumination
目录Global Illumination (GI)小结Global Illumination (GI)全局光照 = 直接光照 + 间接光照直接光照用上几节使用的方法即可得到间接光照,使用次级光源求解实时渲染中的GI问题,实际上是解决一次bounce的间接光照要求简单快速实时渲染中间接光照IBL不考虑visibility项,因此其求解的渲染方程如下:Lo(p,ω0)=∫Ω+Li(p,ωi)fr(p,ωi,ωo)cosθidωi(1)\tag{1}L_o(p
2021-11-19 09:01:07
466
原创 渲染算法学习(四)-- Environment Lighting
目录MaterialsDiffuse / Lambertian Material (漫反射BRDF)Ideal Reflective / Refractive Material (反射/折射BSDF)Fresnel Reflection / Term (菲涅耳项)Microfacet Material各项同性法线分布函数各项同性法线分布函数小结Materials 由于工作就是做这一块的. 因此, 只对一些基础理论做一下归纳, 依旧使用Games的课程为基础,结合《Real-Time Renderin
2021-11-08 08:24:47
355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人