shader入门基础知识六

Cg 入门三 swizzle 操作

image

image
通过 swizzle 操作,可以将 float2,或者 float2 的分量重新组成其他的 float3,float4。
这个时候 float2 的 x,y 分别是 1,0 新组成的 float4 则是(1,0,0,1)因此是红色。

imageimage

可以同时使用分量,顺序也是可以打乱的。这里我们使用 float2 的分量,并且 y 在前,x 在后,所以新的 float4
是(0,1,0,0),因此是绿色的。对于 swizzle 操作,向量的分量可以是 xyzw,也可以是 rgba,但是在一次操作中
是不允许使用 xyzw 和 rgba 的。

image
image

swizzle 操作也允许相同的分量多次使用,例如全部取 x。这时候对应的 float4 的值是(1,1,0,1)
红色+绿色是黄色,因此如图我们获取到的是黄色。

image
image

在矩阵中我们不能直接使用 xyzw,但是通过下标我们可以获取到对应的向量,这时候是可以使用 swizzle 操作的,如图我们使用的全是 x,因此对应的
向量值是(1,1,1,1)是白色。

image
image

如上图,数组也是不可以使用分量而是需要通过下标获取的。

posted @ 2025-07-22 10:58  晓叔  阅读(15)  评论(0)    收藏  举报