vec4 在shader中的定义:
struct vec4
{
union
{
struct {float x,y,z,w;};
struct {float r,g,b,a;};
struct {float s,t,r,q;};
};
};
shader语言和C语言语法类似,可以定义函数和结构体
const char* vs = "void main()\
{\
gl_Position = ftransform();\
}";
const char* ps = "uniform vec4 _color = vec4(1,0,0,1);\
void fun(inout vec4 color)\
{\
color = color * 0.5;\
}\
struct sv1 {\
vec4 v1; \
vec4 v2; \
}\
void main()\
{\
fun(_color);\
gl_FragColor = _color;\
}";
//void fun(inout vec4 color) 定义一个函数,其参数类型输入in 输出out 输入输出inout
//struct sv1 定义一个结构体