美文网首页
Unity--Shader(二)

Unity--Shader(二)

作者: Lamzz | 来源:发表于2016-12-19 00:07 被阅读28次

一、Shader编程语言基础

一、CG语言基础知识
1、内置元类型:

Float :32位浮点型
Half :16位浮点型
Int :32位整型
Fixed:12位定点形
Bool :布尔值
Sampler:纹理对象的句柄

2、CG提供内置的向量数据类型(build-in vector data types)

float1、float4,
bool2, bool3,
float1x1
float2x3
类型转换跟C是一样的,用强制转化。
类型定义的时候可以在常量后跟后缀,如2.0f,1.0h,3x。目前值有f,h,x(fixed)三种。

注意:向量最长不能超过4元,即在Cg程序中可以声明float1、float2、float3、float4类型的数组变量,但是不能声明超过4元的向量,例如:

float5 array ;// 编译报错

向量初始化方式一般为:

float4 array = float4(1.0, 2.0, 3.0, 4.0);

较长的向量还可以通过较短的向量进行构建:

float2 a = float2(1.0, 1.0);

float4 b = float4(a, 0.0, 0.0);

此外,Cg还提供矩阵数据类型,不过最大的维数不能超过4*4阶。例如:

float1x1 matrix1; // 等价于 float matirx1; x 是字符,并不是乘号!

float2x3 matrix2; // 表示2*3 阶矩阵,包含6 个 float 类型数据

float4x2 matrix3;// 表示 4*2 阶矩阵,包含 8 个 float 类型数据

float4x4 matrix4 ;// 表示4*4 阶矩阵,这是最大的维数

矩阵的初始化方式为:

float2x3 matrix5 = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0};

3、支持的类型:

数组:
float a[10];
float4 b[10];

数组的定义:

float a[10]; // 声明了一个数组,包含10 个 float 类型数据
float4 b[10]; // 声明了一个数组,包含10 个 float4 类型向量数据
float a[4] = {1.0, 2.0, 3.0, 4.0}; // 初始化一个数组
int length = a.length; //获取长度,上面两个返回都是10

float b[2][3] = { { }, { } };
int length1 = b.length; // length1 = 2;
int length2 = b[0].length; // length = 3;

结构
以struct开始,紧跟名字,内容用 ' { } ' 包住。不要忘记最后的分号。
结构中可以带function,是C++中的用法。
结构不支持继承。

相关文章

  • Unity--Shader(二)

    一、Shader编程语言基础 一、CG语言基础知识 1、内置元类型: Float :32位浮点型Half :16...

  • Unity--Shader(一)

    一、Shader的介绍 Shader(着色器)Shader是专门用来渲染3D图形的一种技术,他分为Vertex S...

  • unity--Shader实现LOL幽灵船长皮肤效果

    LOL中船长有一款叫做幽灵船长的皮肤,相信大家应该都知道,虽然不是什么好看的皮肤,没什么特效,但是还是有点意思的。...

  • 二(二)

    发什么神经 突然就很想花钱 一边心疼 一边毫不在乎的花 啧 莫名其妙

  • 二,二

    2017.9.11教师节后的周一,第一次走进教室,刚站到讲台两个小可爱送给我两束花,原谅我那时候人还没有认全没有记...

  • 二〇二〇

    本来这篇小结打算年初写的,但是想想后边还有复试就先放一放,结果复试结束后过了两个月才想起要写这篇小结... 时过境...

  • 二金二木二火二土

    今天看完了极简中国史,这本书看了半个多月,因为是八十年前写的书,不是白话文,所以看的特别累。不过从近代前辈的角度去...

  • 说二『似二非二的二』

    说实话原以为他最多似二,生活小节或许专门学着似二,中枢神经应该不至于非二,没想到最近越来越疯狂地绞尽脑汁地朝着二的...

  • 二胎(二)

    今天宝宝三十周了,还有十周你就要出来了,也许会提前,妈妈和家人都很期待。 到了孕晚期,睡觉是个问题,左睡右睡都不对...

  • 二小姐(二)

    我去了李家,那环境好,夫人老爷小姐都很和蔼,我正坐在由木头和瓷做的椅子上,正等待着女管家来接我,我人生地不熟...

网友评论

      本文标题:Unity--Shader(二)

      本文链接:https://www.haomeiwen.com/subject/jjizmttx.html