- 博客(10)
- 收藏
- 关注
原创 Unity3D - Shader - 透明度测试
透明度测试:只要有一个片元的透明度不满足条件(通常是小于某个阈值),那么它对应的片元就会被舍弃。被舍弃的片元不会再进行任何处理,也不会对颜色缓冲区产生任何影响。否则就会按照普通物体进行处理。
2017-11-30 23:36:29 636
原创 Unity3D - Shader - Unity Shader 的渲染顺序
实现透明效果的两种方式:透明度测试(Alpha Test),这种方法无法得到真正的半透明效果。透明度混合(Alpha Blending)深度缓冲用于解决可见性(Visibility)问题,它决定那个物体那些部分会被渲染在前面,那些部分会被遮挡。其思想是:根据深度缓冲中的值来判断该片元距摄像机的距离,当渲染一个片元时,需要把它的深度值和已经存在于深度缓冲中的值进行比较(开启了深度测试)
2017-11-29 22:37:46 3760
原创 Unity3D - Shader - 遮罩纹理(mask texture)
遮罩纹理(mask texture),允许保护某些区域,免于某些修改。使用遮罩的流程:通过采样得到遮罩纹理的纹素值,然后使用其中某个通道的值来与某个表面属性进行相乘,这样当通道的值为0时,可以保护表面不受该属性的影响。总而言之,使用遮罩可以让美术人员更加精确地(像素级)的控制模型表面的各个性质。// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MV
2017-11-26 12:47:17 6957
原创 Unity3D - Shader - 渐变纹理
使用渐变纹理来控制漫反射控制。// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/C
2017-11-26 11:54:42 1115
原创 Unity3D - Shader - 凹凸映射(Bump mapping)
凹凸映射的目的:是使用纹理来修改模型表面的法线,用于为模型提供更多细节。凹凸映射的方式:高度纹理(height map):用于模拟表面位移(displacement),也称作高度映射(height mapping)法线纹理(normal map):用于直接存储表面法线,又称为法线映射(normal mapping)。高度纹理高度图中存储的是强度值(intensity),用
2017-11-26 02:28:53 5555 1
原创 Unity3D - Shader - 实现漫反射光照模型
计算公式基本光照模型中漫反射部分的计算公式:Cdiffuse=(Clightmdiffuse)∗max(0,n^∗l^)C_{diffuse} = (C_{light} m_{diffuse} ) * max (0, \hat n * \hat l)ClightC_{light} = 入射光线的颜色和强度mdiffusem_{diffuse} = 材质的漫反射系数n^ \ha
2017-11-15 22:56:09 1097
原创 Unity3D - Shader - 基础光照
如何看到这个世界的如何产生一个图像:光线从光源(light source)中被发射出来光线和场景中的一些物体相交;一些被物体吸收了,而另一些光线被散射到其他方向。眼睛(摄像机)吸收到一些光,产生了一张图像。光线和物体相交只有两个结果,吸收和散射:散射只改变光的方向,但不改变光的密度和颜色吸收只改变光线的密度和颜色,但不改变光线的方向散射的方向:一种会散射到物
2017-11-14 22:40:27 572
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人