android glsl,Android开发之OpenGLSL语言(二)

本文介绍了GLSL编程中的变量初始化,包括浮点数、布尔值和整数的初始化。同时讲解了类型转换,特别是在Windows环境下的实现。还详细阐述了向量在3D着色器中的应用,如位置、颜色和纹理,并展示了向量的声明、截短和加长。此外,文章也探讨了矩阵在3D开发中的作用,如位移、旋转和缩放,并提供了矩阵的初始化方法,包括通过单个值、多个向量或组合方式创建矩阵。
摘要由CSDN通过智能技术生成

见名识意

(4)变量的初始化:

float f=1.0;

bool b=true;

int I=15;

(5)类型转换(win):

float f=1.0;

bool b=bool(f)

(6)聚合类型——向量

向量 :有方向的量

向量在着色器中的作用:位置,颜色,纹理

基本类型

bc0e0b2e4059

这里写图片描述

向量初始化:

1、声明变量的初始化

vec3 xyz=vec3(1.0,1.0,1.0);

float x= xyz.x;

vec3 rgb=vec3(1.0,1.0,1.0);

float r=rgb.r;

float g=rgb.g;

当三个值相等的时候

vec3 rgb=vec3(1.0 );等价于vec3 rgb=vec3(1.0,1.0,1.0);

2、类型之间等价交换

vec3 xyz1=vec3(1.0,1.0,1.0);

vec3 xyz2=vec3(xyz1);

3、截短

vec3 xyz1=vec3(1.0,1.0,1.0);

vec2 xy=vec2(xyz1);

4、加长

vec2 xy=vec2(xyz1);

vec3 xyz1=vec3(xy ,1.0);

(7)矩阵

矩阵在3D开发中的作用:位移,旋转,缩放

.矩阵类型

bc0e0b2e4059

这里写图片描述

矩阵初始化

只传一个值:m=mat3(4.0);

bc0e0b2e4059

这里写图片描述

以下三种写法得到效果是一样的:

mat3 m=( 1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0);

vec3 f1=vec3(1.0,2.0,3.0);

vec3 f2=vec3(4.0,5.0,6.0);

vec3 f3=vec3(7.0,8.0,9.0);

mat3 m=mat3( f1,f2,f3 );

vec2 f1=vec2(1.0,2.0);

vec2 f2=vec2(4.0,5.0);

vec2 f3=vec2(7.0,8.0);

mat3 m=mat3(f1,3.0,f2,6.0,f3 ,9.0

GLSL首先填充列 然后填充行:

bc0e0b2e4059

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值