SimpleReflection
摘要:【SimpleReflection】 取法线的x、y作为reflection-map的uv。Shader "Custom/SimpleReflection" { Properties { _MainTex ("Base (RGB)", 2D) = "White" {} ...
阅读全文
如何显示当前Mipmap级别?
摘要:【如何显示当前Mipmap级别?】 乘以 mainTextureSize/mipTextureSize是为了让mipColorsTexture纹理与mainTexture级别对应。直接用uv是不行的,因为如果这样,那么直到纹理小于32x32,才会使得mipCOlorsTexture与mainTex...
阅读全文
Texture Format全解析
摘要:【Texture Format全解析】 What internal representation is used for the texture. This is a tradeoff between size and quality. 纹理的压缩方式取决于大小和质量的平衡。 由上图可以看...
阅读全文
【转】Pixel-Fillrate
摘要:【Pixel-Fillrate】 “填充率“以每秒钟填充的像素点为单位,“三角形(多边形)生成速度“则表示每秒钟三角形(多边形)生成个数。现在的3D显卡的性能也主要看着两项指标,这两项指标的数值越大,显卡三维图像的处理能力就越强,显卡的档次也就越高。 填充率的故事 谈到3D加速卡,最常用的一个...
阅读全文
Anisotropic Specular Shader
摘要:【Anisotropic Specular】 Anisotropic Specular(各向异性反射)模拟表面凹槽的方向性。就像CD表面一样。CD的表面凹槽是有方向的。 BlinnPhong中Specular强度的由N*H得计算得到,如下: 在Anisotropic的简单实现中,需要Ani...
阅读全文
法线贴图原理
摘要:【法线贴图原理】 如果法线处于世界坐标中的(world space),那称为world space normal。如果是处于物体本身局部坐标中的,那称为object space normal。 很容易想象,world space normal一旦从贴图里解压出来后,就可以直接用了,效率很高。但是...
阅读全文
RimLight(轮廓光) - Shader
摘要:【RimLight(轮廓光) - Shader】 RimLight指的是物体的轮廓光。效果如下: 轮廓光的强度通过 1.0 - dot(normal, eye_vector)来计算。使用这个公式,则指向camera的轮廓光强度会是0,垂直到camera的轮廓光强度是1,而背离的强度会是2。G...
阅读全文
Binormal - 副法线
摘要:【Binormal - 副法线】 Binormal是垂直于Normal、Tangent平面的直线。Normal、Binormal、Tangent三条线构成一个坐标系。参考:http://202.113.29.3/nankaisource/graphics/differential%20geomet...
阅读全文
Fresnel Reflection Shader
摘要:【Fresnel Reflection】 One of the most used types of reflections is the Fresnel reflection.One of the most used surfaces of this type of effect is the ...
阅读全文
Fresnel Reflection - 菲涅尔反射
摘要:【Fresnel Reflection - 菲涅尔反射】 “菲涅尔”是一个人的名字,因为他发现了一个有关反射的光学现象,这个现象就用这个人的名字命名了。那么,是什么现象呢? 这就是反射/折射与视点角度之间的关系。 如果你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈;如果你看远处的湖
阅读全文
Simple Cubemap Reflection
摘要:【Simple Cubemap Reflection】 Cubemap加在MainTex上,所以Property需要按如下定义: 注意_Cubemap的类型是CUBE。 使用Cubemap,需要计算反射向量,Unity内置的worldRefl是一个可以直接使用的反射向量。 反射向量的...
阅读全文
Phong & BlinnPhong Specular Shader
摘要:【Phong Specular Shader】 如果物体离摄像机很远,或者不需要高精度镜面反射,则Phong模型适用。 Phong模型如下: 使用前必须指定使用自定义Phong。 【BlinnPhong Specular Shader】 前一篇博文中记录了Unity自带的BlinnPh...
阅读全文
What is _MainTex_ST ?
摘要:【What is _MainTex_ST ?】 在Unity自带的Unlit/Texture中,有引用到float4 _MainTex_ST,如下:// Unlit shader. Simplest possible textured shader.// - no lighting// - no ...
阅读全文