shaderLab
我只是路过岁月
踏踏实实的走好每一步,记录菜鸟的变化
展开
-
Shader 渲染队列、ZWrite和ZTest
本文转自 http://blog.csdn.net/lyh916/article/details/45317571 仅供学习 (1)什么是深度? 深度其实就是该像素点在3d世界中距离摄像机的距离。离摄像机越远,则深度值(Z值)越大。(2)什么是深度缓存? 深度缓存中存储着准备要绘制在屏幕上的像素点的深度值。如果启用了深度缓冲区,在绘制每个像素之前,OpenGL会把该像素的深度值和深度缓存的转载 2016-12-28 16:43:31 · 407 阅读 · 0 评论 -
shader中面的剔除 (cull)
shader中面的剔除主要包括三种: cull off 不剔除 cull back 剔除背面(背向摄像机那面) cull front 剔除前面(朝向摄像机的面)原创 2016-12-28 15:39:23 · 1528 阅读 · 0 评论 -
简单光照模型(Phong模型(镜面反射)与 Blinn-Phong光照模型(修正镜面光) )
Phong模型认为镜面反射的光强与反射光线和视线的夹角相关: 计算公式为:R + L = 2 * dot(N, L) * N 即 R = 2 * dot(N,L) * N - L 光源发出灯光,在材质表面反射,材质决定吸收灯光的什么分量和反射什么分量,而材质本身是不具有颜色的!在现实世界中,我们看到的物体颜色不是属于物体的,而是光与其作用后反射的。代码和效果图如下: Shader "Sbi原创 2016-06-21 15:11:50 · 4305 阅读 · 3 评论 -
简单光照模型(Lambert 光照模型)
环境光是对光照现像的最简单抽象,因而局限性很大。它仅能描述光线在空间中无方向并均匀散布时的状态。很多情况下,入射光是带有方向的,比如典型的阳光。如果光照射到比较粗糙的物体表面,如粉笔,由于这些表面从各个方向等强度地反射光,因而从各个视角出发,物体表面呈现相同的亮度,所看到的物体表面某点的明暗程度不随观测者的位置变化的,这种等同地向各个方向散射的现象称为光的漫反射(diffuse reflection原创 2016-06-21 14:50:45 · 6682 阅读 · 1 评论 -
关于shaderLab中 tags(标签)
SubShader内部可以有标签(Tags)的定义。Tag指定了这个SubShader的渲染顺序(时机),以及其他的一些设置。1.”Queue”标签。定义渲染顺序。预制的值为 (1)”Background”。值为1000。比如用于天空盒。 (2)”Geometry”。值为2000。大部分物体在这个队列。不透明的物体也在这里。这个队列内部的物体的渲染顺序会有进一步的优化(应该是从近到远,early原创 2016-05-31 16:49:11 · 4446 阅读 · 0 评论 -
【UnityShader入门精要】Unityshader中的漫反射(逐顶点漫反射diffuse)
公式Cdiffuse=(Clight *mdiffuse)max(0,n*l) 实现代码// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'Shader "Unity Shaders book/Chapter 6/Diffuse Vertex-Level" { Properties { _D原创 2017-11-04 13:47:44 · 351 阅读 · 0 评论 -
【UnityShader入门精要】Unityshader中的漫反射(逐像素漫反射diffuse)
公式Cdiffuse=(Clight *mdiffuse)max(0,n*l) 实现代码// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'Shader "Unity Shader原创 2017-11-04 14:28:37 · 250 阅读 · 0 评论