前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >6.1 关系操作符(Comparison Operators)

6.1 关系操作符(Comparison Operators)

作者头像
代码咖啡
发布2018-08-28 10:34:00
3850
发布2018-08-28 10:34:00
举报
文章被收录于专栏:程序员叨叨叨程序员叨叨叨

文章内容源自《GPU编程与CG语言之阳春白雪下里巴人》,因笔者读书易中途放弃,遂每读一章节,将其移至简书平台,以此作为对自己读书的勉励。笔者用粗体斜体 标注了关键词句,望感兴趣的读者们一起学习共勉。猛戳这里查看更多!

第 6 章 CG 表达式与控制语句

在上一章中,我们已经介绍了Cg语言的基础数据类型(7种)、内置数据类型,以及数组结构接口等类型,本章将在此基础上讨论Cg中的表达式,表达式由操作符(operator)关联一个或多个操作数(operand)构成,我们首先阐述各种类型的操作符,并结合数据类型讲解操作符的具体使用方法。

Cg中的操作符与C语言中的类似(操作符的功能和写法与C相同,但用法不尽相同),按照操作符的功能可以划分为:关系操作符逻辑操作符条件操作符。Cg中有一类较为独特的操作符,称为Swizzle操作符,这个操作符用于取出向量类型变量中的分量。此外,与C语言不同的是,Cg允许在向量类型变量上使用操作符,例如>操作符可以用来比较两个向量各个分量的大小关系。Cg中的表达式还有很多与C语言不同的细节之处,将在本章中一一分说。


6.1 关系操作符(Comparison Operators)

关系操作符,用于比较同类型数据(不同类型的基础数据需要进行类型转换,不同长度的向量,不能进行比较)之间的大小关系或者等价关系。 Cg中有6种关系操作符,如表 1 所示, 关系操作符运算后的返回类型均为bool类型。

  • 表 1 关系操作符

关系操作符

功能

用法

<

小于

expr < expr

<=

小于或等于

expr <= expr

!=

不等于

expr != expr

==

等于

expr == expr

>=

大于或等于

expr >= expr

>

大于

expr > expr

在Cg中,由于关系操作符以及下节会讲到的逻辑操作符,都返回bool类型结果,所以这两种操作符有时也被统一称为boolean operator

Cg语言表达式允许对向量使用所有的boolean operator,如果是二元操作符,则被操作的两个向量的长度必须一致。表达式中向量的每个分量都进行一对一的运算,后返回的结果是一个bool类型的向量,长度和操作数向量一致。例如:

代码语言:javascript
复制
float3 a = float4(0.5, 0.0, 1.0);
float3 b = float4(0.6, -0.1, 0.9);
bool3 c = a < b;

运算后向量c的结果为:

float3(true, false, true)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第 6 章 CG 表达式与控制语句
    • 6.1 关系操作符(Comparison Operators)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档