UnityShader之固定管线Fixed Function Shader【Shader资料3】

Fixed function shader简介:  属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的情况。使用的是ShaderLab语言,语法与微软的FX files 或者NVIDIA的 CgFX类似。

1、使用固定管线来显示单一的颜色

Shader "Custom/1_1color" {
   // 属性
    Properties {
        //定义一个颜色
        _Color ("Main Color", Color) = (1,0.5,0.5,1)
    }
    // 子shader
    SubShader {
        Pass {
            Material {    //Material块是固定管线的核心之一,接下来我们还有SetTexture的使用
                //显示该颜色
                Diffuse [_Color]
            }
            //打开光照开关,即接受光照
            Lighting On //同学们可以把这里的On设置为Off试一试,看下关于接受光照的效果。
        }
    }
}

结果如下图所示:

2、将一张图片和一个颜色同时渲染

Shader "Custom/1_2show1texture" {
    Properties {
        _MainTex ("Base (RGB)", 2D) = "white" {}
        _Color("Main color",Color) = (1,1,1,1)
    }
    SubShader {
        Pass
        {
            Material
            {
                Diffuse[_Color]
            }
            Lighting on
            SetTexture[_MainTex]
            {
                //combine color部分,alpha部分
                //      材质 * 顶点颜色
                Combine texture * primary,texture * constant
            }
        }
    }
}

表现效果如下:

3、同时渲染两张图片

Shader "Custom/3_3Texture" {
    Properties {
        _MainTex ("Base (RGB)", 2D) = "white" {}
        _MainTex2 ("Tex2 (RGB)", 2D) = "white" {}
        _Color("Main color",Color) = (1,1,1,1)
    }
    SubShader {
        Pass
        {
            Material
            {
                Diffuse[_Color]
            }
            Lighting on
            SetTexture[_MainTex]
            {
                //      第一张材质 * 顶点颜色
                Combine texture * primary
            }
            SetTexture[_MainTex2]
            {
                //      第二张材质 * 之前累积(这里即第一张材质)
                Combine texture * previous
            }
        }
    }
}

表现效果如下:

时间: 2024-10-18 18:29:35

UnityShader之固定管线Fixed Function Shader【Shader资料3】的相关文章

UnityShader之固定管线命令Combine纹理混合【Shader资料4】

Combine,纹理混合. 我们先看圣典上给的解释. 纹理在基本的顶点光照被计算后被应用.在着色器中通过SetTexture 命令来完成. SetTexture 命令在片面程序被使用时不会生效:这种模式下像素操作被完全描述在着色器中. 材质贴图可以用来做老风格的混合器效果.你能在一个通道中使用多个SetTexture 命令 - 所有纹理被顺序的应用,如同绘画程序中的层一样.SetTexture 命令必须放置在通道的末尾 Texture block combine command 纹理块合并命令

Unity3D教程宝典之Shader篇:第二讲Fixed Function Shader

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 Fixed function shader简介:  属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的情况.使用的是ShaderLab语言,语法与微软的FX files 或者NVIDIA的 CgFX类似. 例一:显示单一颜色下面我们来看第一个例子,显示单一颜色,注释写得挺详细了,照着格式写即可. //根Shader Shader "Custom/1_1color" { // 属性 Propertie

[Unity] Shader(着色器)之固定管线

在Unity中,固定管线Shader的性能是最好的. 什么是固定管线呢? 固定渲染管线 —— 这是标准的几何&光照(T&L)管线,功能是固定的,它控制着世界.视.投影变换及固定光照控制和纹理混合.T&L管线可以被渲染状态控制,矩阵,光照和采制参数. 下面是一个固定管线Shader的示例: Shader "Sbin/ff1" { // 固定管线 properties { // 变量名("描述名",类型)=值 _Color("主体&qu

[Unity Shader]Shader分类

Shader的分类: Shader按管线分类一般分为固定渲染管线与可编程渲染管线 (1)固定渲染管线 ——这是标准的几何&光照(Transforming&Lighting)管线,功能是固定的,它控制着世界.视.投影变换及固定光照控 制和纹理混合.T&L管线可以被渲染状态控制,矩阵,光照和采制参数.功能比较有限.基本所有的显卡都能正常运行. (2)可编程渲染管线——对渲染管线中的顶点运算和像素运算分别进行编程处理,而无须象固定渲染管线那样套用一些固定函数,取代设置参数来控制管线. u

随高度固定位置 fixed

var jQuery = require("jquery"); (function($) { jQuery.fn.scrollFix = function(height, dir) { height = height || 0; height = height == "top" ? 0 : height; return this.each(function() { if (height == "bottom") { height = docume

详解Paint的setShader(Shader shader)

一.概述 setShader(Shader shader)中传入的自然是shader对象了,shader类是Android在图形变换中非常重要的一个类.Shader在三维软件中我们称之为着色器,其作用是来给图像着色.它有五个子类,像PathEffect一样,它的每个子类都实现了一种Shader.下面来看看文档中的解释: 子类:BitmapShader, ComposeShader, LinearGradient, RadialGradient, SweepGradient 二.BitmapSha

Shaders: ShaderLab & Fixed Function shaders

SubShader{ Tags{"Queue"="Transparent"} //渲染完不透明物体,再渲染当前物体 GrabPass{} //将当前屏幕抓取到_GrabTexture纹理变量中.之后的pass可以使用这张纹理. Pass{ Name "passName" //给pass起名 Material{ //[]取值符号 Diffuse[_diffuseColor] //反射光,颜色 Ambient[_ambient] //环境光,颜色 S

(转)unityshaderLab中fixed function常用指令

ShaderLab中常用的fixedFunction. SubShader{ Tags{"Queue"="Transparent"} //渲染完不透明物体,再渲染当前物体 GrabPass{} //将当前屏幕抓取到_GrabTexture纹理变量中.之后的pass可以使用这张纹理. Pass{ Name "passName" //给pass起名 Material{ //[]取值符号 Diffuse[_diffuseColor] //反射光,颜色 

【Unity】Shader学习资料

http://www.cnblogs.com/polobymulberry/p/4314147.html http://www.sikiedu.com/my/course/37