unity surface shader 1】的更多相关文章

Unity ShaderLib :  CGPROGRAM  ENDCG之间是CG代码,之外的代码功能都由ShaderLib提供,CG中的一些方法比如tex2D(...)也是ShaderLib对CG进行了封装 SurfaceShader全部函数Demo Shader "Nafio/BaseSurf" { Properties { _MainTex("_MainTex",2D) = "white" {} _Color("Color"…
一,surface shader中访问worldposition 在surface shader中访问世界坐标,只需在Input结构体中声明float3 worldPos即可,如下:  struct Input {            float2 uv_MainTex;            float3 worldPos;        };        void surf (Input IN, inout SurfaceOutputStandard o) { //access worl…
UV滚动 Shader "Nafio/ScrollUV" { Properties { _Tex("T",2D) = "white" {} _SpeedV("SV",float) = 0 _SpeedU("SU",float) = 1 } SubShader { Tags{"RenderType"="Opaque"} LOD 200 CGPROGRAM #pragma…
转载请注明出处:http://blog.csdn.net/candycat1992/article/details/39994049 写在前面 一直以来,Unity Surface Shader背后的机制一直是初学者为之困惑的地方.Unity Surface Shader在Unity 3.0的时候被开放给公众使用,其宣传手段也是号称让所有人都可以轻松地写shader.但由于资料缺乏,很多人知其然不知其所以然,无法理解Unity Surface Shader在背后为我们做了哪些事情. 前几天一直被…
转自:http://blog.csdn.net/candycat1992/article/details/39994049 写在前面 一直以来,Unity Surface Shader背后的机制一直是初学者为之困惑的地方.Unity Surface Shader在Unity 3.0的时候被开放给公众使用,其宣传手段也是号称让所有人都可以轻松地写shader.但由于资料缺乏,很多人知其然不知其所以然,无法理解Unity Surface Shader在背后为我们做了哪些事情. 前几天一直被问到一个问…
Surface Shader 光照例子 这里有一些自定义光照模型和Surface Shaders的例子.通常的Surface Shader例子在这里. 由于延迟光照在某些自定义的逐材质光照模型中表现得并不好,在下面大多数例子中,我们让shader只编译到正向渲染中. 漫反射(Diffuse) 让我们以使用内建Lambert光照模型的shader作为开始吧! Shader "Example/Diffuse Texture" { Properties { _MainTex ("T…
写在前面 写这篇文章的时候,我断断续续学习Unity Shader半年了,其实还是个门外汉.我也能体会很多童鞋那种想要学好Shader却无从下手的感觉.在这个期间,我找到一些学习Shader的教程以及一些书籍.我整理在这篇博客里. 什么是Shader Shader,也就是着色器,它的工作就是读取你的网格并渲染在屏幕上.Shader可以定义一些属性,你会用它来影响渲染模型时所显示的效果.当存储了这些属性的设置时,就是一个Material,材质. Shader有以下几个种类: Surface Sha…
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源(当然你也可以从官网下载). ========================================== 分割线 ========================================== 在上一篇中,我们已经向Surface Shader中添加了一些properties.在这篇教程里,我…
这里有Surface Shader的一些例子.下面的这些例子关注使用内建的光照模型:关于如何使用自定义光照模型的例子参见Surface Shader Lighting Examples. 简单 我们将会以一个非常简单的shader作为开始,并在此基础上逐渐完善.下面这个shader会把表面颜色置成“白色”.它使用内建的Lambert(漫反射)光照模型. Shader "Example/Diffuse Simple" { SubShader { Tags { "RenderTy…
要实现双面透明无光照只有纹理色的surface shader. 错误的写法:(导致带有曝光) Shader "Custom/doubleFaceTranspTexColor" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "Render…