- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 渲染中的光和材质的数学魔法
MainLight:Dominant Light间接光(Ambient).GI环境光近视:AmibentLight:Low-frequency of irradiance sphere distributionEnvironmnetMap:High-frequency of irradiance sphere distribution. IBL。镜子、金属材质 的高频间接光。----------Blinn-Phong Materials 经验派[简单近视](Ambient)+Diffuse+
2022-05-01 11:02:39 324
原创 unity3d内建着色器源码解析(四)
Unity3D引擎的多例化技术多例化技术概述假如需要绘制有很多模型的场景,而大部分模型都是使用的同一个模型,即他们使用同一组顶点数据,在渲染时指定不同的世界坐标,绘制在不同的位置上。例如成千上万的小草,每颗小草都需要调用一次drawcall,此时性能瓶颈在CPU往GPU发送数据次数过多,因为这些操作都是在相对缓慢的CPU到GPU总线上进行的。如果能够一次性将数据发送到GPU,然后使用一个绘制函数让渲染流水线利用这些数据绘制多个相同的物体将大大提升性能,这种技术就是GPU多例化(GPU insta
2021-01-27 13:06:02 361
原创 unity3d内建着色器源码解析(三)
UnityCG.cginc文件中的工具函数和宏(下)4.2.8 法线贴图及其编解码操作的函数法线贴图(normal map)中存储的信息是对模型顶点法线的扰动方向向量。利用此扰动方向,在光照计算时对顶点原有的法线进行扰动,从而使法线方向排列有序的平滑表面产生法线方向杂乱无序,表面凹凸不平的效果。因为法线贴图有如此特性,所以在实际使用中需使用"低面数模型+法线贴图"的方式实现高面数模型才能达到的精细程度。在Unity3d中导入和使用法线贴图,需要单击该贴图,在Inspector面板中Texture T
2021-01-25 00:10:07 875
原创 unity3d内建着色器源码解析(二)
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
2021-01-23 17:39:06 481
原创 unity3d内建着色器源码解析(一)
UnityShaderVariables.cginc文件中的着色器常量和函数UnityShaderVariables.cginc文件中包含大量的工具宏和函数,如变换操作用的矩阵、与摄像机相关的函数、与光照和阴影相关的函数等。下面依次分析这些工具函数和宏。1. 进行变换操作用的矩阵1.1 判断USING_DIRECTIONAL_LIGHT宏是否定义并分析与立体渲染相关的宏#ifndef UNITY_SHADER_VARIABLES_INCLUDED#define UNITY_SHADER_V.
2021-01-11 23:36:37 1963
原创 Unity三种光照烘培模式下,材质接收阴影用的什么数据来源?
MixLighting烘培三种模式如下,材质接收阴影使用什么数据来源?(假如ShadowDistance值为A米)。Shadowmap:阴影贴图,每帧实时更新。Shadowmask:阴影蒙版,四通道存储最多四个光源,1代表被光照到,0表示没有被光照到。只有一个光的时候,只有R通道有值。Indirect:A内(Shadowmap),A外(无阴影)。Shadowmask(若使用Shadowmask Distance模式,A内用(Shaowmap),A外保持不变):1. 静投射到静(Sh.
2020-06-18 16:38:40 346 1
原创 Unity Shader 伽马校正详解
真实世界亮度(线性) 图像亮度 真实亮度在图像差值递减0.1 0.35 0.350.2 0.48 0.130.3 0.58 0.10.4 ...
2020-06-04 01:19:25 1487
原创 unity c# Excel转xml转bytes
Unity编辑器根据xlsx生成中间xml及最终bytes文件。生成数据结构类。包含bytes文件的读取写入。提供了策划配表游戏读取二进制的解决方案,更小的内存和更高的效率。工程我上传了:https://github.com/jayce1990/UnityExcel2BytesCs.git主要是通过用unity编辑器工具:1.把xlsx文件生成xml和c#结构类。2.读取uni...
2019-11-30 05:53:39 1048 1
原创 Unity图形渲染学习资源
GPU Instancing测试 http://www.xuanyusong.com/archives/4488Scriptable Render Pipeline, 自定义渲染管线参考·Deferred Lighting(HD)·Runtime GI (HD)·Runtime Shadow(HD)https://docs.unity3d.com/Manual/BestPractic...
2019-11-26 00:05:53 192
原创 线性变换之缩放
向量V通过单位向量n作为缩放方向,k作为缩放因子的缩放后的向量为:S(n,k) = v + (k-1)(v·n)n2D缩放矩阵通过上面的公式可以知道(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 -
2015-01-15 21:36:05 1138
原创 绕任意轴旋转向量
旋转正方向:从所绕轴正方向往原点看,顺时针为旋转正方向,根据旋转后各个坐标轴变换得到:绕X轴旋转的旋转矩阵:1 0 00 cosa -sina0 -sina cosa绕Y轴旋转的旋转矩阵:cosa 0 -sina0 1 0sina 0 cos
2015-01-15 16:22:40 2290 1
原创 2015年读书记录
每两周读完一本书,分为技术书和非技术书。 第一期(2015/1/1~2015/1/11):《3D数学基础:图形与游戏开发》 、 《权利的终结》
2015-01-04 11:50:10 255
原创 《代码大全2》 读书笔记一
需求分期要做好,架构要搭好,如果没有优秀的设计,架构,那么程序员就不可能在垃圾堆里编写好的代码。架构就比如要在需要建造的小区里的小水道和光纤、电缆的布置规划。这样在盖好一个楼之后,避免在楼下挖下水道的问题。早起的需求缺陷代价更加高昂。问题定义应该用客户的语句来描述,不应该带有计算机专业术语,或者是听起来像一个解决方案。评估需求和架构的质量。
2014-12-26 22:58:00 330
电话本 VS2010 SQL2005 电话本小程序 进销存
2011-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人