<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[laz0807的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/laz0807</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; laz0807]]></copyright><item><title><![CDATA[UnityShader学习之旅 -- 表面着色器]]></title><link>https://blog.youkuaiyun.com/laz0807/article/details/108520223</link><guid>https://blog.youkuaiyun.com/laz0807/article/details/108520223</guid><author>laz0807</author><pubDate>Fri, 11 Sep 2020 17:29:36 +0800</pubDate><description><![CDATA[表面着色器










与顶点/片元区别
CG代码是直接而且必须写在subshader块中，unity会在背后生成多个Pass, CG中定义表面着色器的具体代码


结构
两个结构体、编译指令


工作原理
1.surfaceFunc它将您需要的所有 UV 或数据作为输入，并填充输出结构 SurfaceOutput 2.表面着色器编译器随后计算出需要的输入、填充的输出等等，并生成实际的顶点和像素着色器以及渲染通道来处理前向和延迟渲染


特点
生成的表面着色器代码会尝试处理所有可能的光照/阴影/光照]]></description><category></category></item><item><title><![CDATA[UnityShader学习之旅 --渲染]]></title><link>https://blog.youkuaiyun.com/laz0807/article/details/107813226</link><guid>https://blog.youkuaiyun.com/laz0807/article/details/107813226</guid><author>laz0807</author><pubDate>Fri, 07 Aug 2020 12:06:07 +0800</pubDate><description><![CDATA[卡通风格


特点：物体都被黑色的线条描边，以及分明的明暗变化等。

–卡通渲染方法




技术
方法




基于色调的着色技术
使用漫反射系数对一张一维纹理进行采样，以控制漫反射的色调













光照模型 – 高光效果
一块块分界明显的纯色区域



物体边缘部分绘制轮廓
基于模型的描边方法
适用屏幕后处理技术对屏幕图像进行描边



绘制模型轮廓线《Real Time Rendering, third edition》





类型
方法
优点
局限




基于观察角度和表面法.]]></description><category></category></item><item><title><![CDATA[UnityShader学习之旅 --边缘检测]]></title><link>https://blog.youkuaiyun.com/laz0807/article/details/107761310</link><guid>https://blog.youkuaiyun.com/laz0807/article/details/107761310</guid><author>laz0807</author><pubDate>Tue, 04 Aug 2020 17:13:57 +0800</pubDate><description><![CDATA[卷积核




定义
原理
可实现效果










]]></description><category></category></item><item><title><![CDATA[UnityShader学习之旅 二]]></title><link>https://blog.youkuaiyun.com/laz0807/article/details/106440186</link><guid>https://blog.youkuaiyun.com/laz0807/article/details/106440186</guid><author>laz0807</author><pubDate>Wed, 01 Jul 2020 09:30:30 +0800</pubDate><description><![CDATA[##UnityShader学习之旅 二

什么是Shader
什么是渲染流水线
参考文档

Created with Raphaël 2.2.0开始混合是否开启混合？混合结束yes

]]></description><category></category></item><item><title><![CDATA[UnityShader学习之旅--光照]]></title><link>https://blog.youkuaiyun.com/laz0807/article/details/106613139</link><guid>https://blog.youkuaiyun.com/laz0807/article/details/106613139</guid><author>laz0807</author><pubDate>Wed, 01 Jul 2020 09:30:17 +0800</pubDate><description><![CDATA[基础光照
光线与物体相交的结果






光线方向
光线颜色
结果




吸收
不改变
改变密度和颜色



散射
改变
不改变
折射、反射物体表面重新发射出光线






散射方向
光照模型
定义




反射
高光反射
物体表面是如何反射的


折射
漫反射
有多少光线会被折射、吸收和散射出表面



标准光照模型


只关心直接光照，即那些直接从光源发射处理照射到物体表面后，经过物体表面的一次反射直接进入摄像机的光线






描述
unity表示




自发光
当给定一个方向时，一个表面.]]></description><category></category></item><item><title><![CDATA[UnityShader学习之旅--纹理]]></title><link>https://blog.youkuaiyun.com/laz0807/article/details/106686311</link><guid>https://blog.youkuaiyun.com/laz0807/article/details/106686311</guid><author>laz0807</author><pubDate>Wed, 01 Jul 2020 09:29:34 +0800</pubDate><description><![CDATA[纹理





定义
目的
技术
方法




纹理
物体表面的纹路
使用一张图片来控制模型的外观
纹理映射技术
逐纹素地控制模型的颜色


纹理映射坐标





定义
表示
归一化




纹理映射坐标
顶点在纹理中对应的2D坐标
二维变量(U,V)==UV坐标
【0，1】


/*****************************************************
//单张纹理
//使用一张纹理来代替物体的漫反射颜色
//使用单张纹理来作为模拟的颜色 仍使用Blinn-Phong光]]></description><category></category></item><item><title><![CDATA[UnityShder学习之旅--透明度]]></title><link>https://blog.youkuaiyun.com/laz0807/article/details/106768806</link><guid>https://blog.youkuaiyun.com/laz0807/article/details/106768806</guid><author>laz0807</author><pubDate>Wed, 01 Jul 2020 09:29:11 +0800</pubDate><description><![CDATA[透明效果


渲染模型时控制它的透明通道（Alpha）
透明度： 1：该像素是完全不透明的。 0：该像素完全不会显示
对于不透明物体，不考虑渲染顺序也能得到正确的排序效果。





方法
原理
结果
条件




透明度测试
1.只要一个片元的透明度不满足条件，对应的片元就会被舍弃2.被舍弃的不会进行任何处理，也不会对颜色缓冲产生任何影响3.按普通的不透明物体的方式处理
霸道极端的机制完全透明或者完全不透明
不关闭深度写入


透明度混合
1.当前片元的透明度作为混合因子，与存储的颜色值混合
可以得到真.]]></description><category></category></item><item><title><![CDATA[UnityShader学习之旅 三]]></title><link>https://blog.youkuaiyun.com/laz0807/article/details/106567012</link><guid>https://blog.youkuaiyun.com/laz0807/article/details/106567012</guid><author>laz0807</author><pubDate>Fri, 05 Jun 2020 17:42:36 +0800</pubDate><description><![CDATA[第一个顶点/片元着色器

Shader "Unlit/Chapter5/SimpleShader" //shader的名字
{
	SubShader {
		Pass {
			//渲染通道 一个占用
    			CGPROGRAM
    			#pragma vertex vert //vert 就是函数名称 定义顶点
    			#pragma fragment frag // frag 就是name 定义片元
			/*
			float4: float类型的四维变量为返回值
			POSIT.]]></description><category></category></item></channel></rss>