Cg入门1:输入输出和语义

Posted Potter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cg入门1:输入输出和语义相关的知识,希望对你有一定的参考价值。

知识点:
1.顶点和片段程序的输入输出
2.常用语义
3.编写一个简单的Shader

输入用:in
输出用:out
即使输入也是输出用:inout

CG语法:
CGPROGRAM 开始标识
ENDCG  结束标识
技术分享
技术分享

objPos:语义  语义关键字必须为全大写字母组成(objpos:POSITION 语义:objpos表示一个位置向量),语义只是代表一种运行环境
inout:表示可以把输入直接当成输出返回(顶点颜色输出col当成片段程序的输入,根据类型来匹配的,而不是根据名字来匹配的

语义类型: POSITION, NORMAL, BINORMAL, BLENDINDICES, BLENDWEIGHT, TANGENT, PSIZE, TEXCOORD0 ~ TEXCOORD7

要想用顶点的输出col 有两种方式:
第一种:return col  出去顶点颜色输出
技术分享
技术分享
第二种:定义结构体,然后输出结构体
技术分享
技术分享

定义结构体的好处:清楚明了,减少out,in 的编写,如果作为输出结构,那么里面的元素全是输出;如果是作为参数输入,那么你们的元素全是输入

小技巧:Properties下的_MainColor 在inspector 颜色值看不到,也调不了。
技术分享
技术分享
随意点击红色框框的区域就可以让其显示了
技术分享
技术分享

以上是关于Cg入门1:输入输出和语义的主要内容,如果未能解决你的问题,请参考以下文章

CG语法及函数库

Shader 语义

Cg入门19:Fragment shader - 片段级模型动态变色

cg语言学习&&阳春白雪GPU编程入门学习

Cg入门4:流程控制

算法基础知识(全连接层、LSTM、激励函数)