![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shader
Coder李
生活不止眼前的苟且,还有诗和远方的田野。
展开
-
Shader-基本结构与属性定义
Shader "LXC/ 01 myshader"//这里指定的shader名字,不要求和文件名一致,/前的为路径{ //属性 Properties { //属性的定义 属性名("Inspector显示名",类型)=(默认值); _Color ("Color",Color)=(1,1,1,1) //(R,G,B,A) float4 _Vector("Vector4"...原创 2018-11-12 21:47:56 · 235 阅读 · 0 评论 -
Shader-纹理添加偏移和缩放
// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "LXC/12 Tiling Offset"{ Properties{ ...原创 2018-11-17 15:48:17 · 1351 阅读 · 0 评论 -
Shader-映射纹理
// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "LXC/11 Single Texture"{ Properties{ ...原创 2018-11-17 15:19:28 · 293 阅读 · 0 评论 -
Shader-控制透明度
// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "LXC/15 Rock Alpha"{ Properties{ _Co...原创 2018-11-19 15:46:10 · 1901 阅读 · 0 评论 -
Shader-片元函数调用顶点函数
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "LXC/03 StructShader"{ SubShader { Pass{ CGPROGRAM #pragma vertex vert #pragma fragment frag ...原创 2018-11-14 21:58:06 · 300 阅读 · 0 评论 -
Shader-漫反射与高光反射综合(详细版)
// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "LXC/10 Diffuse Specular"{ Properties{...原创 2018-11-15 23:27:51 · 509 阅读 · 0 评论 -
Shader-UnityCG.cginc中一些常用的函数
UnityCG.cginc中一些常用的函数 摄像机方向(视角方向) float3 WorldSpaceViewDir(float4 v) 根据模型空间中的顶点坐标 ==》(世界空间)从这个点到摄像机的观察方向 float3 UnityWorldSpaceViewDir(float4 v) 世界空间中的顶点坐标==》世界空间从这个点到摄像机的观察...原创 2018-11-15 21:59:07 · 1081 阅读 · 0 评论 -
Shader-Blinn-Phong高光反射
Blinn-Phong光照模型 直射光 Specular = 直射光 * pow( max(cosθ,0),10) θ:是法线和x的夹角 x 是平行光和视野方向的平分线 // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replaced '_World2Object...原创 2018-11-15 21:10:09 · 278 阅读 · 0 评论 -
Shader-高光反射(像素实现)
// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'Shader "LXC/08 Specular Fragment"{ Properties{ _Diffuse...原创 2018-11-15 21:00:43 · 202 阅读 · 0 评论 -
Shader-高光反射(顶点实现);控制高光范围;控制高光颜色
Blinn光照模型 cosθ= dot(reflectDir, viewDir) 直射光 Specular = 直射光 * pow( max(cosθ,0),10) θ:是反射光方向和视野方向的夹角 10可以控制高光的范围参数越小范围越大 // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject...原创 2018-11-15 20:08:27 · 1031 阅读 · 0 评论 -
Shader-漫反射(像素实现)半兰伯特计算
半兰伯特光照模型 Diffuse = 直射光颜色 *( cosθ *0.5 +0.5) 兰伯特光照模型(漫反射) Diffuse = 直射光颜色 * max(0,cos夹角(光和法线的夹角) ) cosθ = 光方向· 法线方向 // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'Shader ...原创 2018-11-15 19:25:44 · 317 阅读 · 0 评论 -
Shader-漫反射(像素实现)
系统内置漫反射Shader "Diffuse" // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'Shader "LXC/05 Diffuse Fragment"{ Properties{ _Diffuse("Diffuse Color",Color) = (1,1,1,1) } SubSh...原创 2018-11-15 19:00:34 · 256 阅读 · 0 评论 -
Shader-(顶点实现)环境光与自定义颜色
UNITY_LIGHTMODEL_AMBIENT 用来获取环境光 // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'Shader "LXC/04pp Diffuse"{ Properties{ _Diffuse("Diffuse Color",Color) = (1,1,1,1) }...原创 2018-11-15 18:47:26 · 614 阅读 · 0 评论 -
Shader-(顶点实现)漫反射相关;自定义颜色
漫反射 Diffuse = 直射光颜色 * max(0,cos夹角(光和法线的夹角) ) 点积cosθ = 光方向· 法线方向 //max表示小于0时取最大值0 只有定义了正确的LightMode才能得到一些Unity的内置光照变量 Tags{ "LightMode"="ForwardBase" } 包含unity的内置的文件,才可以使用unity内置的一些变量 ...原创 2018-11-15 18:25:22 · 496 阅读 · 0 评论 -
Shader-顶点函数与片元函数
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "LXC/02 CanRun"{ SubShader { Pass{ CGPROGRAM //顶点函数 这里只是声明了顶点函数的函数名 顶点坐标从模型空间到剪裁空间的转换#pragma verte...原创 2018-11-12 22:55:02 · 684 阅读 · 0 评论 -
Shader-凹凸映射和法线映射
法线贴图为蓝色色调是切线空间,五颜六色的为模型空间 实现凹凸映射的方法高度纹理 法线纹理(高度映射,法线映射):高度映射:在贴图的效果上提供高度贴图,通过颜色的亮暗实现高浅;法线映射:使用法线的颜色实现法线映射// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: rep...原创 2018-11-19 12:15:50 · 682 阅读 · 0 评论