7.12 Shader

//Shader开头

//"MyFirstShader/Unlit/MyFirstShader"提供一个索引

Shader "MyFirstShader/Unlit/MyFirstShader"

{

//存放跟外部相关的shader属性(属性模块)

Properties{

//如何定义属性

//关于数值类型的三种写法

_MyInt("Int参数",int)=0

_MyFloat_1("Float参数",Float)=0

_Myfloat("浮点型参数",Range(0,1))=0

//关于向量类型的参数

_MyVector("普通向量",Vector)=(0,0,0,0)//普通向量的初始化

_MyColor("颜色参数",Color)=(0,0,0,0)

//关于纹理类型的参数

_MyTexture("贴图",2D)="white"{}//{}默认值为空

_MyTexture3D("3D贴图参数",3D)="white"{}

_MyTextureCube("立方体贴图参数",Cube)="white"{}

}

//存放一些shader代码

Subshader{

pass{

}

}

//当Subshader中的代码不符合当前运行设备,将会调用"name"

Fallback"name"

}





shader"MyShader/Cull"

{

Properties{

_AmbientColor("AmbientCOlor",Color)=(1,1,0,1)

_MainColor("MainColor",Color)=(0,0,0,1)

_MainTex("MainTex",2D)="white"{}

}

SubShader{

Pass{

Material{

Diffuse[_MainColor]//漫反射

Ambient[_AmbientColor]

}

//Material{

//Diffuse(1,1,1,1)

//}

//On接收光照的影响

Lightingon

//剔除Front/Back/off正面,背面,不剔除

CullBack

//设置贴图

SetTexture[_MainTex]{

Combinetexture*primary DOUBLE,texture*primary//颜色混合

}

}

}

}

settexture[_MainTex]{//combine 命令 用法形式有8种

//combine src1 * src2 结果纹理将比输入纹理更暗。

//combine src1 + src2 结果纹理将比输入纹理更明亮。

//combine src1 - src2 高亮的部分将变暗

//combine src1 +- src2 src1和src2相加,然后减去0.5

//combine src1 lerp (src2) src3 在src3和src1之间做插值,使用src2的alpha值。请注意插值是相反的方向,当alpha为1时候src1使用,当alpha为0时候src3使用。

//combine src1 * src2+src3 src1与src2的alpha值混合,然后添加src3

//combine src1 * src2+-src3 src1与src2的alpha值混合,然后和有符号的src3相加//所有src属性都可以为:previous, constant, primary 或texture//所有src属性,除lerp外,可以使用符号-来使最终颜色反相。//所有的src属性后面可以有且仅有1个alpha.

//combine texture//combine texture * primary //primary代表之前颜色值加光照的计算结果

//combine texture * primary double//combine texture - primary quadcombinetexture* primary quad//Double或者Quad使结果的颜色2倍或者4倍明亮。}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • <转>我也忘了转自哪里,抱歉,感谢原作者 什么是Shader Shader(着色器)是一段能够针对3D对象进行操作...
    星易乾川阅读 5,821评论 1 16
  • 动机自己使用Unity3D也有一段时间了,但是很多时候是流于表面,更多地是把这个引擎简单地用作脚本控制,而对更深入...
    JumboWu阅读 2,200评论 0 24
  • 一、顶点与片段着色器简介 Vertex and FragmentShader:最强大的Shader类型,也是本系列...
    半闲书屋半闲人阅读 9,913评论 6 10
  • 唐闸附近有没有初中语文辅导班 水被冻结成三尺的冰,不是一天的寒冷就可以造成的。比喻一种情况的形成是经 过长时间的积...
    hyhyhyaaaa阅读 189评论 0 0
  • 不得不说,眼界对于人有极大的影响。何为眼界?是见识的广度,深度。眼界广者其成就必大,眼界窄者其作为必小。眼界决定境...
    软软的糖阅读 448评论 0 0

友情链接更多精彩内容