ARCore之路-环境理解之Cg语言

匿名 (未验证) 提交于 2019-12-02 22:56:40
版权声明:David Wang原创ARCore文章,仅供学习研究之用,不得用于任何商业目的,未经授权不得转载! https://blog.csdn.net/yolon3000/article/details/82820361

一、vertex & fragment shaders基本结构

Shader "DavidWang/vertexAndFragment"{     SubShader{         pass{                 CGPROGRAM                  #pragma vertex vert                  #pragma fragment frag                   void vert(in float2 objPos:POSITION, out float4 pos:POSITION)                  {                         pos = float4(objPos,0,1);                   }                  void frag(out float4 col:COLOR)                  {                       col = float4(1,0,0,1);                  }                 ENDCG         }     }     Fallback "Mobile/VertexLit" } 




二、profile

三、Cg基本数据类型

数据类型 说明
float 32 位浮点数据,一个符号位。浮点数据类型被所有的 profile 支持。
half 16 位浮点数据。
int 32 位整形数据,有些 profile 会将 int 类型作为 float 类型使用。
fixed 12 位定点数,被所有的 fragment profiles 所支持。
bool 布尔数据,通常用于 if 和条件操作符( ?: ) ,布尔数据类型被所有的profiles 支持。
simpler* 纹理对象的句柄( the handle to a texture object ) ,分为 6 类: sampler, sampler1D, sampler2D, sampler3D, samplerCUBE, 和 samplerRECT 。


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

参考文献

1、Cg语言的基础 Cg语言的基础
2、profile和基本数据类型 profile和基本数据类型

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!