![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图形学
文章平均质量分 85
纸境止境
暂无
展开
-
【图形学】31 Unity 的光源衰减和阴影
1、用于光照的衰减纹理2、阴影的产生①传统的阴影映射纹理②屏幕空间的阴影映射技术(Screenspace Shadow Map)3、Unity产生阴影①如何开启Unity中的阴影生成②Shader代码中调用阴影③双面阴影4、Unity接收阴影5、更新 Addtional Pass 中的阴影部分6、帧调试器查看阴影绘制7、透明物体产生阴影①透明度测试的物体产生阴影②透明度混合的物体产生阴影原创 2022-10-21 09:34:53 · 1614 阅读 · 0 评论 -
【图形学】30 前向渲染多光照场景代码理解
1、代码理解原创 2022-10-21 09:31:39 · 1135 阅读 · 0 评论 -
【图形学】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 · 1111 阅读 · 0 评论 -
【图形学】28 更多的透明等式和参数
28 更多的透明等式和参数1、ShaderLab的混合命令2、混合操作3、透明度测试的双面渲染4、透明度混合的双面渲染原创 2022-09-28 16:40:05 · 731 阅读 · 0 评论 -
【图形学】27 透明度混合
1、Unity实现透明度混合2、代码学习3、透明度混合可能存在的问题4、开启深度写入的透明度混合原创 2022-09-14 09:19:34 · 587 阅读 · 0 评论 -
【图形学】26 透明效果基础
1、透明度测试2、透明度混合3、UnityShader的渲染队列4、半透明测试的代码解读原创 2022-09-14 09:18:16 · 640 阅读 · 0 评论 -
【图形学】25 基础纹理(六、遮罩纹理)
1、遮罩纹理的概念2、游戏制作中的实际操作2、代码解读原创 2022-09-14 09:17:40 · 764 阅读 · 0 评论 -
【图形学】24 基础纹理(五、渐变纹理)
无原创 2022-08-25 11:18:28 · 214 阅读 · 0 评论 -
【图形图】23 基础纹理(四、凹凸映射世界空间的光照计算)
1、基本思路2、世界空间的光照实现原创 2022-08-25 11:17:04 · 444 阅读 · 0 评论 -
【21 基础纹理(二、凹凸映射的理论)】
1、凹凸映射的概念2、高度纹理3、法线纹理4、计算凹凸纹理的光照模型5、切线空间下计算光照原创 2022-08-08 13:23:48 · 609 阅读 · 0 评论 -
【图形学】20 基础纹理(一、单张纹理)
1、单张纹理2、纹理的属性①Wrap Mode②Filter Mode③纹理缩小3、生成高度图原创 2022-08-08 13:22:21 · 561 阅读 · 0 评论 -
【图形学】19 光照模型(四、Blinn-Phong光照模型)
1、回忆Blinn光照模型2、Blinn-Phong光照模型的实现3、Unity的内置帮助函数原创 2022-08-08 13:21:25 · 1065 阅读 · 0 评论 -
【图形学】18 光照模型(三、镜面反射的Shader实现)
1、镜面反射ShaderLab的方式2、逐顶点的镜面反射3、逐像素光照计算原创 2022-08-04 13:24:22 · 852 阅读 · 0 评论 -
【图形学】17 光照模型(二、漫反射的Shader实现)
1、环境光和自发光2、基本的逐顶点光照代码实现3、基本逐像素光照的实现4、半兰伯特光照模型的实现5、新手实现的注意事项原创 2022-08-04 13:23:14 · 266 阅读 · 0 评论 -
【图形学】16 光照模型(一、理论与公式)
1、BRDF光照模型2、自发光和环境光3、漫反射①兰伯特光照模型②半兰伯特光照模型4、镜面反射①冯氏模型的镜面反射计算②Blinn-Phong光照算法5、光线的计算方式6、Blinn-Phong模型原创 2022-08-04 13:22:29 · 1267 阅读 · 0 评论 -
【图形学】15 UnityShader语义(三)
1、三种基本类型2、Shader Target3、Shader Model4、Mesh相关概念5、输入\输出和语义绑定6、顶点和片元着色器的输入/输出语义原创 2022-08-02 10:41:29 · 563 阅读 · 0 评论 -
【图形学】14 UnityShader语义(二)
1、内置的包含文件2、CGIncludes中常用的文件3、有关语义(semantics)的说明4、Unity支持的语义5、UnityShader的调试方法①使用假彩色图像②Viusal Studio③帧调试器6、渲染纹理的坐标差异7、使用内置宏来对结构体初始化8、平台差异...原创 2022-08-02 10:39:41 · 391 阅读 · 0 评论 -
【图形学】13 UnityShader语义(一)
1、UnityShader基本结构2、ShaderLab中的结构体3、Properties 属性4、uniform关键字原创 2022-08-02 10:37:18 · 462 阅读 · 1 评论 -
【图形学】12 UnityShader语法入门
最后的一个步骤:将视椎体(view frustum)变换成 立方体。我们进行**齐次除法(homogeneous division)**,实际上就是用齐次坐标系中的 w 分量去除以 x,y,z ,在OpenGL中,我们把这一步得到的坐标叫做**归一化的设备坐标(Normalized Device Coordinates,NDC)**...原创 2022-07-24 21:41:38 · 629 阅读 · 0 评论 -
【图形学】11 UnityShader入门(三)
1、Shader的基本结构①Shader的名字②Properties属性③SubShaderSubShader状态设置(RenderSetup)SubShader的标签Pass语句块原创 2022-07-24 21:39:59 · 321 阅读 · 0 评论 -
【图形学】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 · 444 阅读 · 0 评论 -
【图形学】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 · 495 阅读 · 0 评论 -
【图形学】08 3D坐标系的变换(一)
对于摄像机的视野,我们有两种投影方式,一个是正交投影(OrthographicProjection),另一个是透视投影(PerspectiveProjection)。我们使用的是后者,投影的视野形状是一个**视椎体**(Frustum),这样就能有一个近大远小的视觉效果。我们是把整个的视椎体挤压成半个立方体,计算的到视椎体中到立方体中的映射。任何在远截面的点的z值不会变换。根据我们投影的向量的变化,我们能够反推出这个变换矩阵的部分的数值,留下第三行还暂时不能确定。这个变换矩阵的所有项了。...原创 2022-07-22 14:29:23 · 647 阅读 · 0 评论 -
【图形学】四元数(二)
对于轴 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 · 641 阅读 · 0 评论 -
【图形学】 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 · 331 阅读 · 0 评论 -
【图形学】05 渲染管线基础
对于NV的GPU,在这张图中,绿色是可编程的,黄色是可调整参数的,蓝色是不可更改的。 给GPU读取,通过实现一些逻辑来渲染场景中的内容。其中,顶点着色器主要负责顶点的几何关系渲染,像素着色器主要负责片源颜色的计算。 冯氏光照模型...原创 2022-06-24 17:44:04 · 110 阅读 · 0 评论 -
【图形学】04 数学部分(四、放射变换)
线性变换从几何直观有三个要点:仿射变换从几何直观只有两个要点: 之前我问过谢老师一个问题,为什么代码第6、7行要除以 z,实际上这就涉及到放射变化的部分,因为平移已经不是。线性变换了,平移之后,原点离开了原来的坐标位置。 所以,我们平移的时候,实际上是增加了一个向量[0,0,1],同时增加了一个维度,最后我们要把我们的向量还原到之前的维度。二维的张成空间三维的张成空间线性相关:有多组向量构成张成空间,移除其中一个 不减少 张成空间的大小线性无关:所有向量 给张成空间增添了新的维度线性相关:多原创 2022-06-20 16:10:57 · 756 阅读 · 1 评论 -
【图形学】03 数学部分(三、各种变换矩阵)
按x轴旋转:[1000cosθ−sinθ0sinθcosθ]\begin{bmatrix}1 &0 &0\\0 &cos\theta &-sin\theta \\0 &sin\theta &cos\theta \end{bmatrix}⎣⎡1000cosθ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 · 448 阅读 · 0 评论 -
【图形学】02 数学部分(二、向量和坐标系)
我们表示为(xa,ya)(x_a, y_a)(xa,ya),或者写成矩阵的形式:a=[xaya]a=\begin{bmatrix}x_a\\y_a\end{bmatrix}a=[xaya],为了方便,我们也写成aT=[xa ya]a^T=\begin{bmatrix}x_a\,\,\, y_a\end{bmatrix}aT=[xaya]。$ \mathbf{a\cdot b=||a||,,||b||} ,cos\phi $。点乘也满足...原创 2022-06-20 16:06:41 · 224 阅读 · 0 评论 -
【图形学】01 数学部分(一、集合和三角函数)
图形学的基础数学部分原创 2022-06-01 14:37:55 · 396 阅读 · 0 评论