博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UnityShader之固定管线Fixed Function Shader【Shader资料3】
阅读量:5021 次
发布时间:2019-06-12

本文共 1804 字,大约阅读时间需要 6 分钟。

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  //下一节讲Combine纹理混合的用法            }        }    }}

表现效果如下:

 

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  //下一节讲Combine纹理混合的用法            }        }    }}

表现效果如下:

 

转载于:https://www.cnblogs.com/vsirWaiter/p/5988979.html

你可能感兴趣的文章
JAVA修饰符类型(public,protected,private,friendly)
查看>>
flex利用webservice上传照片
查看>>
IOS开发之Bug--使用KVC的易错情况
查看>>
python list和tuple
查看>>
基础薄弱的反思
查看>>
ORACLE增删改查以及case when的基本用法
查看>>
[转]oracle10客户端PL/SQL Developer如何连接远程服务器上的oracle数据库
查看>>
HTML5 表单元素和属性
查看>>
SDUTOJ 2498 数据结构实验之图论十一:AOE网上的关键路径
查看>>
使用SpringSocial开发QQ登录
查看>>
好玩的游戏
查看>>
2.6. Statistical Models, Supervised Learning and Function Approximation
查看>>
代码说明call和apply方法的区别 (咱们这方面讲解的少,这样的题有变式,需要举例讲解一下)...
查看>>
T-SQL 类型转换
查看>>
在eclipse中设计BPMN 2.0工作流定义的根本步骤
查看>>
Json对象与Json字符串互转(4种转换方式)
查看>>
PAT甲级1002 链表实现方法
查看>>
查看Linux信息
查看>>
Python中sys模块sys.argv取值并判断
查看>>
【详记MySql问题大全集】四、设置MySql大小写敏感(踩坑血泪史)
查看>>