<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zu168long的专栏]]></title><description><![CDATA[Unity3d Shader]]></description><link>https://blog.youkuaiyun.com/zu168long</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zu168long]]></copyright><item><title><![CDATA[渲染中的光和材质的数学魔法]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/124524143</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/124524143</guid><author>zu168long</author><pubDate>Sun, 01 May 2022 11:02:39 +0800</pubDate><description><![CDATA[MainLight:Dominant Light

间接光(Ambient).GI环境光近视：
AmibentLight:Low-frequency of irradiance sphere distribution
EnvironmnetMap:High-frequency of irradiance sphere distribution. IBL。镜子、金属材质 的高频间接光。

----------
Blinn-Phong Materials 经验派[简单近视]
(Ambient)+Diffuse+]]></description><category></category></item><item><title><![CDATA[unity3d内建着色器源码解析（四）]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/113242370</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/113242370</guid><author>zu168long</author><pubDate>Wed, 27 Jan 2021 13:06:02 +0800</pubDate><description><![CDATA[Unity3D引擎的多例化技术

多例化技术概述

假如需要绘制有很多模型的场景，而大部分模型都是使用的同一个模型，即他们使用同一组顶点数据，在渲染时指定不同的世界坐标，绘制在不同的位置上。例如成千上万的小草，每颗小草都需要调用一次drawcall，此时性能瓶颈在CPU往GPU发送数据次数过多，因为这些操作都是在相对缓慢的CPU到GPU总线上进行的。

如果能够一次性将数据发送到GPU，然后使用一个绘制函数让渲染流水线利用这些数据绘制多个相同的物体将大大提升性能，这种技术就是GPU多例化(GPU insta]]></description><category></category></item><item><title><![CDATA[unity3d内建着色器源码解析（三）]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/113095394</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/113095394</guid><author>zu168long</author><pubDate>Mon, 25 Jan 2021 00:10:07 +0800</pubDate><description><![CDATA[UnityCG.cginc文件中的工具函数和宏（下）

4.2.8 法线贴图及其编解码操作的函数

法线贴图(normal map)中存储的信息是对模型顶点法线的扰动方向向量。利用此扰动方向，在光照计算时对顶点原有的法线进行扰动，从而使法线方向排列有序的平滑表面产生法线方向杂乱无序，表面凹凸不平的效果。因为法线贴图有如此特性，所以在实际使用中需使用"低面数模型+法线贴图"的方式实现高面数模型才能达到的精细程度。在Unity3d中导入和使用法线贴图，需要单击该贴图，在Inspector面板中Texture T]]></description><category></category></item><item><title><![CDATA[unity3d内建着色器源码解析（二）]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/113055885</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/113055885</guid><author>zu168long</author><pubDate>Sat, 23 Jan 2021 17:39:06 +0800</pubDate><description><![CDATA[UnityCG.cginc文件中的工具函数和宏（上）

4.2.1 数学常数


//源文件3~13行
#ifndef UNITY_CG_INCLUDED
#define UNITY_CG_INCLUDED

#define UNITY_PI            3.14159265359f
#define UNITY_TWO_PI        6.28318530718f
#define UNITY_FOUR_PI       12.56637061436f
#define UNITY_INV_PI ]]></description><category></category></item><item><title><![CDATA[unity3d内建着色器源码解析（一）]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/112501133</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/112501133</guid><author>zu168long</author><pubDate>Mon, 11 Jan 2021 23:36:37 +0800</pubDate><description><![CDATA[UnityShaderVariables.cginc文件中的着色器常量和函数

UnityShaderVariables.cginc文件中包含大量的工具宏和函数，如变换操作用的矩阵、与摄像机相关的函数、与光照和阴影相关的函数等。下面依次分析这些工具函数和宏。
1. 进行变换操作用的矩阵
1.1 判断USING_DIRECTIONAL_LIGHT宏是否定义并分析与立体渲染相关的宏


#ifndef UNITY_SHADER_VARIABLES_INCLUDED
#define UNITY_SHADER_V.]]></description><category></category></item><item><title><![CDATA[Unity三种光照烘培模式下，材质接收阴影用的什么数据来源？]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/106837984</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/106837984</guid><author>zu168long</author><pubDate>Thu, 18 Jun 2020 16:38:40 +0800</pubDate><description><![CDATA[MixLighting烘培三种模式如下，材质接收阴影使用什么数据来源？
(假如ShadowDistance值为A米）。

Shadowmap：阴影贴图，每帧实时更新。

Shadowmask：阴影蒙版，四通道存储最多四个光源，1代表被光照到，0表示没有被光照到。只有一个光的时候，只有R通道有值。



Indirect:A内(Shadowmap)，A外(无阴影)。

Shadowmask（若使用Shadowmask Distance模式，A内用(Shaowmap),A外保持不变）：
1. 静投射到静(Sh.]]></description><category></category></item><item><title><![CDATA[Unity Shader 伽马校正详解]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/106536966</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/106536966</guid><author>zu168long</author><pubDate>Thu, 04 Jun 2020 01:19:25 +0800</pubDate><description><![CDATA[真实世界亮度（线性）   图像亮度  真实亮度在图像差值递减
0.1                   0.35     0.35
0.2                   0.48     0.13
0.3                   0.58     0.1
0.4                 ...]]></description><category></category></item><item><title><![CDATA[unity c# Excel转xml转bytes]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/103320422</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/103320422</guid><author>zu168long</author><pubDate>Sat, 30 Nov 2019 05:53:39 +0800</pubDate><description><![CDATA[Unity编辑器根据xlsx生成中间xml及最终bytes文件。生成数据结构类。包含bytes文件的读取写入。

提供了策划配表游戏读取二进制的解决方案，更小的内存和更高的效率。

工程我上传了：https://github.com/jayce1990/UnityExcel2BytesCs.git

主要是通过用unity编辑器工具：

1.把xlsx文件生成xml和c#结构类。

2.读取uni...]]></description><category></category></item><item><title><![CDATA[Unity图形渲染学习资源]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/103248279</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/103248279</guid><author>zu168long</author><pubDate>Tue, 26 Nov 2019 00:05:53 +0800</pubDate><description><![CDATA[GPU Instancing测试 http://www.xuanyusong.com/archives/4488

Scriptable Render Pipeline, 自定义渲染管线参考
·Deferred Lighting(HD)
·Runtime GI (HD)
·Runtime Shadow(HD)
https://docs.unity3d.com/Manual/BestPractic...]]></description><category></category></item><item><title><![CDATA[线性变换之缩放]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/42748979</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/42748979</guid><author>zu168long</author><pubDate>Thu, 15 Jan 2015 21:36:05 +0800</pubDate><description><![CDATA[向量V通过单位向量n作为缩放方向，k作为缩放因子的缩放后的向量为：
S(n,k) = v + (k-1)(v·n)n
2D缩放矩阵
通过上面的公式可以知道(Nx、Ny为向量n的x和y分量)
s([1 0], k) = [1 + (k - 1)Nx²  (k-1)NxNy]
s([0 1], k)= [(k-1)NxNy        1+(k-1)Ny²]
so：
 1 + (k -]]></description><category></category></item><item><title><![CDATA[绕任意轴旋转向量]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/42742861</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/42742861</guid><author>zu168long</author><pubDate>Thu, 15 Jan 2015 16:22:40 +0800</pubDate><description><![CDATA[旋转正方向：
从所绕轴正方向往原点看，顺时针为旋转正方向,根据旋转后各个坐标轴变换得到:
绕X轴旋转的旋转矩阵：
1      0       0
0  cosa  -sina
0  -sina  cosa

绕Y轴旋转的旋转矩阵：
cosa      0       -sina
0             1        0
sina       0         cos]]></description><category></category></item><item><title><![CDATA[2015年读书记录]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/42388857</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/42388857</guid><author>zu168long</author><pubDate>Sun, 04 Jan 2015 11:50:10 +0800</pubDate><description><![CDATA[每两周读完一本书，分为技术书和非技术书。    
第一期（2015/1/1~2015/1/11）：
《3D数学基础：图形与游戏开发》 、 《权利的终结》]]></description><category></category></item><item><title><![CDATA[《代码大全2》 读书笔记一]]></title><link>https://blog.youkuaiyun.com/zu168long/article/details/42179459</link><guid>https://blog.youkuaiyun.com/zu168long/article/details/42179459</guid><author>zu168long</author><pubDate>Fri, 26 Dec 2014 22:58:00 +0800</pubDate><description><![CDATA[需求分期要做好，架构要搭好，如果没有优秀的设计，架构，那么程序员就不可能在垃圾堆里编写好的代码。


架构就比如要在需要建造的小区里的小水道和光纤、电缆的布置规划。这样在盖好一个楼之后，避免在楼下
挖下水道的问题。


早起的需求缺陷代价更加高昂。


问题定义应该用客户的语句来描述，不应该带有计算机专业术语，或者是听起来像一个解决方案。


评估需求和架构的质量。]]></description><category></category></item></channel></rss>