顶点漫反射.Shader

原创 2016年08月29日 18:00:57
Shader "Custom/Light/DiffuseLightVert"{
    Properties{
        _DiffuseColor("DiffuseColor", Color) = (1, 1, 1, 1)
    }

    SubShader{
        Pass{
            Tags{
                "LightModel" = "ForwardBase"
            }

            CGPROGRAM

            fixed4 _DiffuseColor;

            #include "Lighting.cginc"

            #pragma vertex vert
            #pragma fragment frag

            struct a2v{
                float4 pos : POSITION;
                float4 normal : NORMAL;
            };

            struct v2f{
                float4 pos : SV_POSITION;
                fixed3 color : COLOR;
            };

            v2f vert(a2v v){
//              v2f o;
//              o.pos = mul(UNITY_MATRIX_MVP, v.pos);
//              fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz;
//              fixed3 worldNormal = normalize(mul(v.normal, (float3x3)_World2Object));
////                fixed3 worldNormal = normalize(mul((float3x3)_Object2World, v.normal));
//              fixed3 worldLight = normalize(_WorldSpaceLightPos0.xyz);
//              fixed3 diffuse = _LightColor0.rgb * _DiffuseColor.rgb * max(0, dot(worldNormal, worldLight));
//              o.color = diffuse + ambient;
//              return o;

                v2f o;
                o.pos = mul(UNITY_MATRIX_MVP, v.pos);
                o.color = UNITY_LIGHTMODEL_AMBIENT.xyz 
                + _LightColor0.rgb * _DiffuseColor.rgb 
                    + * max(0, dot(normalize(mul((fixed3x3)_Object2World, v.normal)), normalize(_WorldSpaceLightPos0.xyz)));
                return o;
            }

            fixed4 frag(v2f i) : SV_Target{
                return fixed4(i.color, 1.0);
            }

            ENDCG
        }
    }

    Fallback "Diffuse"
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

高光法线漫反射shader

  • 2017年02月09日 17:47
  • 1KB
  • 下载

Unity|ShaderLab笔记整理-二(逐顶点漫反射+环境光)

· 光照模型一:什么是光照模型? 光照模型就是一个公式,用来计算光在某点所反映出的光照效果二:标准光照模型 每个点受光照影响,大概分为以下4个部分 1)自发光:Emissive(一般认为自发光是均匀的...
  • Test_dx
  • Test_dx
  • 2017年06月12日 18:45
  • 454

Unity|ShaderLab笔记整理-四(逐顶点漫反射+环境光 +高光反射Phone)

-接整理反射在顶点函数的实现,先上一张图,说明反射高光的原理及公式细节 在前边逐顶点漫反射与环境光基础上拓展高光反射模型,并将Finalcolor输出Shader "Davia/07_Specula...
  • Test_dx
  • Test_dx
  • 2017年07月31日 14:57
  • 215

opengl光照之漫反射逐顶点渲染与逐像素渲染

1,逐顶点渲染:模型中有多少个顶点就计算多少次,这种方式比较节约系统资源,但效果比较粗糙 2,逐像素渲染:这种方式计算量特别大,有多少个像素就计算多少次,但是效果会很好 逐顶点渲染漫反射光照效果 ...

Unity Shader 学习笔记(6) 漫反射

Unity Shader 学习笔记(6) 漫反射 参考书籍:《Unity Shader 入门精要》 3D数学 学习笔记(8) 光照 逐顶点、逐像素、半兰伯特光照模型对比: 逐顶点光照(La...

shader中常见的光照基础-漫反射

简单的图形学介绍,漫反射,unity

Unity3D Shader之光照模型——理论与实践:用两种方式来实现漫反射Diffuse Reflection

漫反射原理解析众所周知,漫反射即光线射到粗糙的物体表面时发生的反射现象,入射光线为平行光线,而出射光线为各个方向。光在空气中以直线传播,光线的反射也遵守物理规则。...
  • kevlis
  • kevlis
  • 2016年11月03日 16:07
  • 417

Shader中贴图知识汇总: 漫反射贴图、凹凸贴图、高光贴图、 AO贴图、环境贴图、 光照纹理及细节贴图

原文过于冗余,精读后做了部分简化与测试实践,原文地址:http://www.j2megame.com/html/xwzx/ty/2571.html 一个三维场景的画面的好坏,百分之四十取...

解读Unity中的CG编写Shader系列7——漫反射

如果前面几个系列文章的内容过于冗长缺乏趣味着实见谅,由于时间原因前面的混合部分还没有写完,等以后再补充,现在开始关于反射的内容了。 折射与反射 在物理世界中,光的反射与折射往往是同时存在的,光源由真...

Unity Shader入门精要笔记(九):Unity 的基础光照——漫反射的实现

上一篇讲了Unity光照的概念,理论和公式。这一篇我们可以利用公式,实现简单的漫反射效果。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:顶点漫反射.Shader
举报原因:
原因补充:

(最多只允许输入30个字)