摘录自 冯乐乐的《Unity Shader入门精要》 笛卡尔坐标系 1)二维笛卡尔坐标系 在游戏制作中,我们使用的数学绝大部分都是计算位置、距离、角度等变量。而这些计算大部分都是在笛卡尔坐标系下进行的。 一个二维的笛卡尔坐标系包含了两个部分的信息: 一个特殊的位置,即原点,它是整个坐标系 ...
线纹理的代码非常简单,但是我们有必要在这之前首先了解它们背后的实现原理。 深度纹理实际上就是一张渲染纹理,只不过它里面存储的像素值不是颜色值而是一个高精度的深度值。由于被存储在一张纹理中,深度纹理里的深度值范围是 , ,而且通常是非线性分布的。那么,这些深度值是从哪里得到的呢 总体来说,这些深度值来自于顶点变换后得到的归一化的设备坐标 Normalized Device Coordinates, ...
2017-10-01 09:13 0 1683 推荐指数:
摘录自 冯乐乐的《Unity Shader入门精要》 笛卡尔坐标系 1)二维笛卡尔坐标系 在游戏制作中,我们使用的数学绝大部分都是计算位置、距离、角度等变量。而这些计算大部分都是在笛卡尔坐标系下进行的。 一个二维的笛卡尔坐标系包含了两个部分的信息: 一个特殊的位置,即原点,它是整个坐标系 ...
转自 冯乐乐的《Unity Shader 入门精要》 2010年的Unity 3 中,Surface Shader 出现了。 表面着色器的一个例子。 我们先做如下准备工作。 1)新建一个场景,去掉天空盒子 2)新建一个材质,新建一个Shader,赋给材质。 3)场景中创建一个胶囊体 ...
转自冯乐乐的《Unity Shader入门精要》 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象。 首先,光线从光源中被发射出来。 然后,光线和场景中的一些物体相交:一些光线被物体吸收了,而另一些光线被散射到其他方向。 最后,摄像机吸收了一些光,产生了一张图像 ...
前言 在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道。 Unity中通常使用两种方法来实现透明 :(1)透明度测试(AlphaTest)(2)透明度混合(AlphaBlend)。前者往往无法实现真正的半透明效果。 深度缓冲(Depth Buffer ...
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题。 【Unity Shader】(三) ------ 光照模型原理及漫反射和高光 ...
重要的事 先说重要的事,就是我的书籍《Unity Shader入门精要》在经过无数次跳票后,终于出版上市了(泪目…)! 购买传送门: 亚马逊 当当 京东 截止到我写这篇文章的时候,京东是没有货的状态……不过之后应该会陆续到货 ...
渐变纹理,及使用纹理来存储漫反射光照的结果,这种技术在游戏《军团要塞2》中流行起来,它也是由Valve公司(提出半兰伯特光照技术的公司)提出来的,他们使用这种技术来渲染游戏中具有插画风格的角色。 如使用下图作为渐变纹理: 转载请注明出处:http://www.cnblogs.com ...
什么是遮罩? 遮罩允许我们可以保护某些区域,使它们奂于某些修改。 例如下面的例子,使用遮罩来控制高光反射。 转载请注明出处:http://www.cnblogs.com/jietian331/p/7149182.html 使用的贴图,法线,遮罩纹理如下: shader ...