博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
float4数据类型
阅读量:7236 次
发布时间:2019-06-29

本文共 664 字,大约阅读时间需要 2 分钟。

GPU是以四维向量为基本单位来计算的。4个浮点数所组成的float4向量是GPU内置的最基本类型。使用GPU对两个float4向量进行计算,与CPU对两个整数或两个浮点数进行计算一样简单,都是只需要一个指令就可以完成。

HLSH的基本数据类型定义了float、int和bool等非向量类型,但是它们实际上都会被Complier转换成float4的向量,只要把float4向量的其中3个数值忽略,就可以把float4类型作为标量使用。

使用贴图坐标时,只需要二维向量,HLSL定义了float2类型作为二维向量使用。
Shader经常会用到矩阵,HLSL有一个内置类型float4x4,它可以用来表示一个44矩阵。float4x4并不是GPU的内置类型,float4x4实际上是由4个float4所组成的数组。其他的还有float3x3、float2x2,分表代表33矩阵、2*2矩阵。
Shader也可以声明数组,4*4矩阵实际上就是一个float4 m[4]的数组。注意,Shader中的所有的变量都使用寄存器,没有其他内存空间可以使用,所以越大的数组会占用越多的寄存器,甚至会超出寄存器的数量限制。
在使用float4向量中的个别数值时,可以用xyzw或rgba,都可以用来表示四维向量中的数值。但不能把它们混用,例如不能用xyba,把它视为颜色时就用rgba,否则就是用xyzw,不能把这二者混合使用。
----摘自《3D绘图程序设计
本文转自jiahuafu博客园博客,原文链接如需转载请自行联系原作者

jiahuafu

你可能感兴趣的文章
Android、iOS和Windows Phone中的推送技术
查看>>
DELL软件:像胶水一样具有黏性
查看>>
社交网站存在七大安全风险 可能成为用户隐私泄露重灾区
查看>>
C# 线程手册 第二章 .NET 中的线程
查看>>
Django实战(4):scaffold生成物分析
查看>>
复习一下Java中继承关系的类的初始化顺序
查看>>
mysql 导出查询结果到文件
查看>>
Windows Server 2008 R2安装Sql Server 2008 R2企业版出现错误:Could not open key
查看>>
测试过程
查看>>
修改默认的ajaxStart, ajaxStop 显示loading
查看>>
互联网创业的准备——web server:apache、nginx、lighttpd与php module、fastcgi
查看>>
HDU 3853 LOOPS(概率DP)
查看>>
在Android上使用XML
查看>>
异步消息的传递-回调机制(转)
查看>>
【OpenCV学习】图像的形态处理学
查看>>
深入学习GridBagLayout
查看>>
memcache实战之三 :客户端 enyim.com Memcached Client 的安装与调试以及实例,2012年下载地址...
查看>>
centos下安装tomcat
查看>>
Notification与NotificationManager
查看>>
Qt之布局管理--(2)多文档的布局和焦点
查看>>