自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (1)
  • 收藏
  • 关注

原创 【C++】59 右值引用

1、基本概念2、左值和右值3、右值引用4、左值持久: 右值短暂(transient)5、变量是左值

2022-11-15 10:09:10 348 1

原创 【C++】60 alignas 和[nodiscard]

1、alignas语法2、alignof语法3、[[nodiscard]]语法

2022-11-15 10:08:25 930

原创 【 C++】11 C++的继承

1、继承方式2、继承的对象的结构查看方式3、继承中的同名成员处理4、继承静态变量成员处理5、多继承6、菱形继承7、子类构造函数

2022-11-15 10:06:47 466

原创 【图形学】31 Unity 的光源衰减和阴影

1、用于光照的衰减纹理2、阴影的产生①传统的阴影映射纹理②屏幕空间的阴影映射技术(Screenspace Shadow Map)3、Unity产生阴影①如何开启Unity中的阴影生成②Shader代码中调用阴影③双面阴影4、Unity接收阴影5、更新 Addtional Pass 中的阴影部分6、帧调试器查看阴影绘制7、透明物体产生阴影①透明度测试的物体产生阴影②透明度混合的物体产生阴影

2022-10-21 09:34:53 1537

原创 【图形学】30 前向渲染多光照场景代码理解

1、代码理解

2022-10-21 09:31:39 1077

原创 【图形学】29 更复杂的光照

1、渲染路径2、针对整个项目渲染路径的改变3、Unity支持的渲染路径4、前向渲染(Forward Rendering Path)①每次渲染的过程②多个光源的渲染方法③Unity中渲染光线的Pass④内置的光照变量和函数5、延迟渲染(Deferred Shading Rendering Path)①概念②延迟渲染的缺点③延迟渲染的过程④Unity延迟渲染中可以使用的内置变量6、顶点光照(Vertex Lit Rendering Path)7、前向渲染的Unity实现

2022-10-21 09:29:48 829

原创 【图形学】28 更多的透明等式和参数

28 更多的透明等式和参数1、ShaderLab的混合命令2、混合操作3、透明度测试的双面渲染4、透明度混合的双面渲染

2022-09-28 16:40:05 681

原创 【图形学】27 透明度混合

1、Unity实现透明度混合2、代码学习3、透明度混合可能存在的问题4、开启深度写入的透明度混合

2022-09-14 09:19:34 562

原创 【图形学】26 透明效果基础

1、透明度测试2、透明度混合3、UnityShader的渲染队列4、半透明测试的代码解读

2022-09-14 09:18:16 543

原创 【图形学】25 基础纹理(六、遮罩纹理)

1、遮罩纹理的概念2、游戏制作中的实际操作2、代码解读

2022-09-14 09:17:40 676

原创 【图形学】24 基础纹理(五、渐变纹理)

2022-08-25 11:18:28 187

原创 【图形图】23 基础纹理(四、凹凸映射世界空间的光照计算)

1、基本思路2、世界空间的光照实现

2022-08-25 11:17:04 429

原创 【图形学】 22 基础纹理(三、凹凸映射切线空间的光照实现)

22 基础纹理(三、凹凸映射切线空间的光照实现)

2022-08-25 09:59:06 419

原创 【21 基础纹理(二、凹凸映射的理论)】

1、凹凸映射的概念2、高度纹理3、法线纹理4、计算凹凸纹理的光照模型5、切线空间下计算光照

2022-08-08 13:23:48 484

原创 【图形学】20 基础纹理(一、单张纹理)

1、单张纹理2、纹理的属性①Wrap Mode②Filter Mode③纹理缩小3、生成高度图

2022-08-08 13:22:21 539

原创 【图形学】19 光照模型(四、Blinn-Phong光照模型)

1、回忆Blinn光照模型2、Blinn-Phong光照模型的实现3、Unity的内置帮助函数

2022-08-08 13:21:25 926

原创 【图形学】18 光照模型(三、镜面反射的Shader实现)

1、镜面反射ShaderLab的方式2、逐顶点的镜面反射3、逐像素光照计算

2022-08-04 13:24:22 709

原创 【图形学】17 光照模型(二、漫反射的Shader实现)

1、环境光和自发光2、基本的逐顶点光照代码实现3、基本逐像素光照的实现4、半兰伯特光照模型的实现5、新手实现的注意事项

2022-08-04 13:23:14 231

原创 【图形学】16 光照模型(一、理论与公式)

1、BRDF光照模型2、自发光和环境光3、漫反射①兰伯特光照模型②半兰伯特光照模型4、镜面反射①冯氏模型的镜面反射计算②Blinn-Phong光照算法5、光线的计算方式6、Blinn-Phong模型

2022-08-04 13:22:29 1009

原创 【图形学】15 UnityShader语义(三)

1、三种基本类型2、Shader Target3、Shader Model4、Mesh相关概念5、输入\输出和语义绑定6、顶点和片元着色器的输入/输出语义

2022-08-02 10:41:29 416

原创 【图形学】14 UnityShader语义(二)

1、内置的包含文件2、CGIncludes中常用的文件3、有关语义(semantics)的说明4、Unity支持的语义5、UnityShader的调试方法①使用假彩色图像②Viusal Studio③帧调试器6、渲染纹理的坐标差异7、使用内置宏来对结构体初始化8、平台差异...

2022-08-02 10:39:41 202

原创 【图形学】13 UnityShader语义(一)

1、UnityShader基本结构2、ShaderLab中的结构体3、Properties 属性4、uniform关键字

2022-08-02 10:37:18 374 1

原创 【图形学】12 UnityShader语法入门

最后的一个步骤:将视椎体(view frustum)变换成 立方体。我们进行**齐次除法(homogeneous division)**,实际上就是用齐次坐标系中的 w 分量去除以 x,y,z ,在OpenGL中,我们把这一步得到的坐标叫做**归一化的设备坐标(Normalized Device Coordinates,NDC)**...

2022-07-24 21:41:38 464

原创 【图形学】11 UnityShader入门(三)

1、Shader的基本结构①Shader的名字②Properties属性③SubShaderSubShader状态设置(RenderSetup)SubShader的标签Pass语句块

2022-07-24 21:39:59 296

原创 【图形学】10 UnityShader入门(二)

1、DirectX/OpenGL和显卡、GPU的关系2、着色器语言3、有关Draw Call的处理①Draw Call队列②批处理(Batching)4、Unity中的Shader①Standard Surface Shader②Unlit Shader③Image Effect Shader④Compute Shader⑤Ray Tracing Shader...

2022-07-22 14:33:54 267

原创 【图形学】09 UnityShader入门(一)

1、图形渲染管线①应用阶段(Application Stage)②几何阶段(Geometry Stage)③光栅化阶段(Rasterizer Stage)2、Draw Call2、GPU的工作流程3、一些DirectX和OpenGL的不同4、片元着色器(Fragment Shader)5、逐片元操作(Per-Fragment Operations)①模板测试(Stecil Test)②深度测试(Depth Test)③混合(Blend)④提升技术6、双重缓冲(Double Buff

2022-07-22 14:32:32 362

原创 【图形学】08 3D坐标系的变换(一)

对于摄像机的视野,我们有两种投影方式,一个是正交投影(OrthographicProjection),另一个是透视投影(PerspectiveProjection)。我们使用的是后者,投影的视野形状是一个**视椎体**(Frustum),这样就能有一个近大远小的视觉效果。我们是把整个的视椎体挤压成半个立方体,计算的到视椎体中到立方体中的映射。任何在远截面的点的z值不会变换。根据我们投影的向量的变化,我们能够反推出这个变换矩阵的部分的数值,留下第三行还暂时不能确定。这个变换矩阵的所有项了。...

2022-07-22 14:29:23 526

原创 【图形学】四元数(二)

  对于轴 u⃗\vec{u}u 旋转,我们从 v⃗\vec{v}v 旋转到 v′⃗\vec{v'}v′,将 v⃗\vec{v}v 分解为平行于旋转轴 u\textbf{u}u 以及正交于 u\textbf{u}u 的两个分量,即:v=v∣∣+v⊥v = v_{||} + v_\perpv=v∣∣​+v⊥​  旋转后的分量:v′=v∣∣′+v⊥′v' = v'_{||} + v'_\perpv′=v∣∣′​+v⊥′​  如图所示,我们可以看到 v∣∣′v'_{||}v∣∣′​ 其实就是 v

2022-06-24 17:53:33 400

原创 【图形学】 06 四元数(一)

  一个四元数包含一个标量分量和3D向量分量,有两种记法:[w,v][w,(x,y,z)][w,\textbf{v}]\\[w,(x,y,z)][w,v][w,(x,y,z)]  我们有复数 p :p=(a+bi)p = (a + bi)p=(a+bi),其共轭表示为:$ p^*=(a-bi)$。这样我们就能更好的计算复数的模:∣∣p∣∣=pp∗∣∣a+bi∣∣=(a+bi)(a−bi)=a2+b2||p||=\sqrt{pp^*}\\||a+...

2022-06-24 17:50:06 275

原创 【图形学】05 渲染管线基础

对于NV的GPU,在这张图中,绿色是可编程的,黄色是可调整参数的,蓝色是不可更改的。  给GPU读取,通过实现一些逻辑来渲染场景中的内容。其中,顶点着色器主要负责顶点的几何关系渲染,像素着色器主要负责片源颜色的计算。  冯氏光照模型...

2022-06-24 17:44:04 88

原创 【图形学】04 数学部分(四、放射变换)

线性变换从几何直观有三个要点:仿射变换从几何直观只有两个要点:  之前我问过谢老师一个问题,为什么代码第6、7行要除以 z,实际上这就涉及到放射变化的部分,因为平移已经不是。线性变换了,平移之后,原点离开了原来的坐标位置。  所以,我们平移的时候,实际上是增加了一个向量[0,0,1],同时增加了一个维度,最后我们要把我们的向量还原到之前的维度。二维的张成空间三维的张成空间线性相关:有多组向量构成张成空间,移除其中一个 不减少 张成空间的大小线性无关:所有向量 给张成空间增添了新的维度线性相关:多

2022-06-20 16:10:57 663 1

原创 【图形学】03 数学部分(三、各种变换矩阵)

  按x轴旋转:[1000cosθ−sinθ0sinθcosθ]\begin{bmatrix}1 &0 &0\\0 &cos\theta &-sin\theta \\0 &sin\theta &cos\theta \end{bmatrix}⎣⎡​100​0cosθsinθ​0−sinθcosθ​⎦⎤​  按y轴旋转:[cosθ0sinθ010−sinθ0cosθ]\begin{bmatrix}cos\theta &0 &sin\theta\\0 &1 &0 \\ -sin\theta &0&cos\th

2022-06-20 16:08:13 314

原创 【图形学】02 数学部分(二、向量和坐标系)

  我们表示为(xa,ya)(x_a, y_a)(xa​,ya​),或者写成矩阵的形式:a=[xaya]a=\begin{bmatrix}x_a\\y_a\end{bmatrix}a=[xa​ya​​],为了方便,我们也写成aT=[xa   ya]a^T=\begin{bmatrix}x_a\,\,\, y_a\end{bmatrix}aT=[xa​ya​​]。$ \mathbf{a\cdot b=||a||,,||b||} ,cos\phi $。点乘也满足...

2022-06-20 16:06:41 196

原创 【数据结构与算法】String-03 Boyer-Moore字符串查找算法

Boyer-Moore算法

2022-06-05 17:14:21 128

原创 【数据结构与算法】String-02 KMP和有限状态自动机

有限状态自动机和KMP

2022-06-05 17:12:46 392 1

原创 【图形学】01 数学部分(一、集合和三角函数)

图形学的基础数学部分

2022-06-01 14:37:55 260

原创 【C++】09 运算符重载

文章目录1、加号运算符重载2、左移运算符重载3、重载 = 运算符4、重载()运算符5、重载==运算符6、类外重载*运算符7、重载++(前置++和后置++)8、强制类型转换重载1、加号运算符重载​ 通过在类中,或者全局,来实现 加号的重载。class Person{public: int A; int B; //1、通过成员函数重载 + 号 Person operator+(Person &p){ Person temp; temp.A = this.A + p.A; t

2022-05-30 09:27:06 74

原创 【c++】 09 临时对象的处理

文章目录1、研究临时对象的意义2、形参传递的时候,生成临时对象3、隐式类型转换的时候,生成临时对象4、函数返回对象的时候5、左值6、临时变量、引用参数和constclass CTempValue {public: //定义成员变量 int val1; int val2; //构造函数 CTempValue(int v1 = 0, int v2 = 0){ cout << "调用了构造函数!" << endl; cout << "val1 = " &l

2022-05-30 09:26:27 141

原创 【C++】08 类与对象(二)

文章目录1、类对象作为类成员2、静态成员函数static3、this指针4、空指针访问成员函数5、const修饰成员函数6、友元1、类对象作为类成员​ C++类中的成员可以是另一个类的对象,我们称该成员为 对象成员class A{}class B{ A a;}​ 这个例子中,类B中有 类A的实例化对象 作为成员,我们称 A为对象成员。​ 在构造的时候,先是 对象成员类A构造,再是类B构造;​ 在析构的时候,先是 类B析构,再是 对象成员类A析构。2、静态成员函数static​

2022-05-30 09:25:33 69

原创 07.1 类的的补充

文章目录1、对象的初始化2、类的隐式转换3、explicit4、成员函数末尾的const5、mutable6、cosnt成员变量的初始化7、=default8、=delete1、对象的初始化  可以注意一下这些初始化的方式方法。class Time{private: int Hour, Minute, Second;public: Time(int Hour, int Minute, int Second){ this->Hour = Hour; this->Minute

2022-05-23 23:07:33 128 2

计算机组成原理指导书

我们老师给的用于计算机组成原理实验的指导书。总共有14个实验。。

2018-11-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除