着色器脚本语言使用方法

#uniform 

 输入着色器的只读值,存储数据用的,例如转换矩阵、光照参数或者颜色。基本上各种输入着色器的常量参数像顶点和片段应该是uniform。uniform声明全局变量,顶点着色器中声明的uniform,片元着色器也可以使用。另,不同平台对个数有限制,详情可以查资料。

e.g

uniform mat4 viewProjMatrix;

uniform mat4 viewMatix;

uniform vec3 lightPosition;

 

#attibute (属性)

仅仅在顶点着色器中被使用,做为顶点着色器的输入。典型被用来存储位置、法线、贴图坐标和颜色数据。属性是每个顶点被绘制的详细数据。个数也有限制,最小为8.

e.g

attribute vec4 a_positon;

attribute vec4_a_texCoord0;

 

#varying (变量)

变量被用来存储顶点着色器的输出和片元着色器的输入。他们在顶点着色器和片元着色器中必须被相同的声明(类型需匹配),数量限制最小是8

varying vec2 texCoord;

varying vec4 color;

 

# lowp, mediump, highp (精度控制)

精度控制能够被用在任何浮点和整型数变量。

e.g

highp vec4 position;

varying lowp vec4 color;

mediump float specularExp;

//默认精度在头部定义

precision highp float;

precision mediump int;

 

#invariant (不变性)

被用于任何顶点着色器的变量输出的关键字。一旦输出被宣布为invariance, 同样计算的输入相同,编译器保证的输出结果相同。

 

e.g

invariant gl_Position;

//可以使用#pragma指令保证全局变量保持invariant

 

 

没有搞懂的部分

Sample2D

texture2D

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值