[Unity Shader]---常用帮助函数.结构体和全局变量 一.内置包含文件 Unity中有类似于C++的包含文件.cginc,在编写Shader时我们可以使用#include指令把这些文件包含进来这样我们就可以使用Unity为我们提供的一些非常好用的函数.宏和变量. 例如:#include"UnityCG.cginc" 包含文件的位置:根目录\Editor\Data\CGIncludes 知识点1:以下是Unity中常用包含文件: 文件名 描述 1.UnityCG.cginc…
书看到第八章,跟随写了一些例子,但有些数值类型的使用还是需要特别注意,经常需要查阅,在这里做一下总结. 1 ShaderLab属性类型和Cg变量类型的匹配关系 Color.Vector:float4,half4,fixed4 Range.Float:float, half, fixed 2D:sampler2D 3D:sampler3D Cube:samplerCube Int:int(32位整型数据) 注意:这些属性类型是在定义属性时使用,例如: Shader "Unlit/Test Shad…
极端常用: UnityObjectToClipPos(v.vertex); 最基本的顶点变换,模型空间 ==>裁剪空间 mul(unity_ObjectToWorld, v.vertex); 顶点:模型空间 ==>世界空间,多用于顶点着色器 UnityObjectToWorldNormal(v.normal); 法线:模型空间 ==>世界空间,多用于顶点着色器,float3(归一化后fixed3) UnityWorldSpaceLightDir(i.worldPos.xyz); 仅前向渲…
CGPoint.CGSize.CGRect.CGRectEdge实际上都是结构体 一,几个常用的结构体 CGPoint   定义一个点,设置x坐标和y坐标 struct CGPoint { CGFloat x; CGFloat y; }; typedef struct CGPoint CGPoint; CGSize  定义一个尺寸,设置宽度和高度 struct CGSize { CGFloat width; CGFloat height; }; typedef struct CGSize CGS…
函数的定义     返回值类型 函数名(形式参数列表) {        函数的实现     } 函数不允许嵌套定义 如果函数的定义在主调函数之后,那么要进行提前声明才能使用. // 匿名结构体,结构体的声明和变量的定义在一起struct {    int number;    char name[30];} student1 = {1, "wukong"}, student2 = {2, "bajie"}; // 定义一个MyPoint类型结构体变量    //…
1.字符串输出输入函数 读入字符串的方法: 1) scanf 特点:不能接收空格 2) gets 特点:可以接受含有空格的字符串 ,不安全 3) fgets(); 特点:可以帮我们自动根据数组的长度截取适当的长度保存,安全 如果输入的长度大于数组的长度,自动将数组最后一个元素保存为\0 如果输入的长度小于数组的长度,会自动先保存\n,再保存\0   使用格式:fgets(ch,sizeof(ch),stdin); 输出字符串的方法: 1) printf() %s   缺点:不能自动换行 2) p…
此篇博客转自csdn的一位大牛. 中间排版出了一些问题 Intrinsic Functions (DirectX HLSL) The following table lists the intrinsic functions available in HLSL. Each function has a brief description, and a link to a reference page that has more detail about the input argument an…
#include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct student { char *name; }; void scan(student stu[], int &n){ ]; scanf("%d", &n); ; i < n; ++i){ scanf("%s", str); int len = strlen(str…
1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/ 2.在iOS开发中所有框架中Foundation框架是最基础的框架,Foundation框架里面包含了常用的类和数据类型比如结构体.枚举等 3.使用Foundation框架只…
1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/ 2.在iOS开发中所有框架中Foundation框架是最基础的框架,Foundation框架里面包含了常用的类和数据类型比如结构体.枚举等 3.使用Foundation框架只…