Unity shader 入门精要读书笔记
赖张殷
这个作者很懒,什么都没留下…
展开
-
【unity shader 入门精要 读书笔记】基础光照模型实践
光照模型的公式:Cdiffuse = (Clight * Mdiffuse)max(0, n * I)漫反射 = 环境光 * 材质的漫反射系数 * 表面法线与光源方向的点积。[0, 1]1、逐顶点光照模型的实践。Shader "Custom/DiffuseVertex" { Properties { _Diffuse("Di...原创 2019-04-20 23:57:43 · 343 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】获取深度和法线纹理
前言在第 12 章【屏幕后处理效果】中,我们学习的屏幕后处理效果都只是在屏幕颜色图像上进行各种操作来实现的。然而,很多时候我们不仅需要当前屏幕的颜色信息,还希望得到深度和法线信息。例如,在进行边缘检测时,直接利用颜色信息会使检测到的边缘信息受物体纹理和光照等外部因素的影响,得到很多我们不需要的边缘点。一种更好的方法是,我们可以在深度纹理和法线纹理上进行边缘检测,这些图像不会受...原创 2019-06-12 22:05:49 · 992 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】运动模糊
运动模糊是真实世界中的摄像机的一种效果。如果在摄像机曝光时,拍摄场景发生了变化,就会产生模糊的画面。运动模糊在我们的日常生活中是非常常见的,只要留心观察,就可以法线无论是体育报道还是各个电影里,都有运动模糊的身影。运动模糊效果可以让物体运动看起来更加真实平滑,但在计算机产生图像中,由于不存在曝光这一物理现象,渲染出来的图像往往都棱角分明,缺少运动模糊。在一些诸如赛车类型的游戏中,为画面添加运动模糊...原创 2019-06-12 22:05:13 · 517 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】调整屏幕的亮度、饱和度和对比度
实现一个非常简单的屏幕特效 ---- 调整屏幕的亮度、饱和度和对比度。BrightnessSaturationAndContrast.csusing UnityEngine;using System.Collections;public class BrightnessSaturationAndContrast : PostEffectsBase { private...原创 2019-05-30 22:21:40 · 446 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】建立一个基本的屏幕后期处理脚本系统
屏幕后处理,通常指的是在渲染完整个场景得到屏幕图像后,再对这个图像进行一系列操作,实现各种屏幕特效,使用这种技术,可以为游戏画面添加更多的艺术效果,例如景深【depth of field】、运动模糊【motion blur】等。因此,想要实现屏幕后处理的基础在于得到渲染后的屏幕图像,即抓取屏幕,而 unity 为我们提供了这样一个 方便的 借口 -----OnRenderImage 函数:...原创 2019-05-30 22:16:23 · 327 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】更复杂的光照
渲染路径【Rendering Path】5.x之前:Forward Rendering PathDeferred Rendering PathVertex Lit Rendering Path5.1之后:主要改变:1、顶点照明渲染路径被抛弃【但目前仍然可以对之前使用了顶点渲染路径的兼容】2、新的延迟渲染路径代替了原来的延迟渲染路径。【同样也兼容旧版本】可以...原创 2019-05-14 22:17:24 · 289 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】透明
一、透明1、透明度测试【Alpha Test】它采用一种“霸道极端”的机制:只要有一个片元的透明度不满足条件【通常是小于某个阈值】,那么它对应的片元就会被舍弃。被舍弃的片元将不会再进行任何处理,也不会对颜色缓冲产生任何影响;否则,就会按照普通的不透明物体的处理方式来处理它,即进行深度测试、深度写入等。也就是说,透明度测试是不需要关闭深度写入的,它和其他不透明物体最大的不同就是它会根据透...原创 2019-05-06 22:24:34 · 368 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】纹理(2)
一、渐变纹理纹理可以用于存储任何表面属性。一种常见的用法就是使用渐变纹理来控制漫反射光照的结果。在之前计算漫反射光照时,是使用表面法线和光照方向的点积结果与材质反射率相乘来得到表面的漫反射光照。但有时,会需要更加灵活地控制光照结果。即使用一张渐变纹理来控制漫反射光照。Shader "Unity Shaders Book/Chapter 7/Ramp Textur...原创 2019-05-04 10:07:23 · 212 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】纹理(1)
一、基础纹理1、基础纹理实现:Shader "Custom/TextureSingle" { Properties { _Color("Color", color) = (1, 1, 1, 1) _MainTex("Main Tex", 2d) = ""{} _Specular("Specular", Color) ...原创 2019-04-28 22:06:20 · 243 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】高光反射模型
高光公式:1、逐顶点的实现模式:Shader "Custom/SpecularVertex" { Properties { _Diffuse("Diffuse", Color) = (1, 1, 1, 1) _Specular("Specular", Color) = (1, 1, 1, 1) _Gloss("G...原创 2019-04-25 22:45:29 · 330 阅读 · 0 评论 -
【unity shader 入门精要 读书笔记】折射
当光线从一种介质【例如空气】斜射入另外一种介质【例如玻璃】时,传播方向一般会发生改变。当给定入射角时,可以使用 斯涅耳定律【Snell's Law】来计算反射角。当光从介质 1 沿着和表面法线夹角的方向斜射入介质 2 时,可以使用如下公式计算折射光线和法线的夹角其中 n1 和 n2 分别是两个介质的折射率【index of refraction】折射率是一项重要的物理...原创 2019-05-29 21:46:26 · 451 阅读 · 0 评论