游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2175|回复: 7

HLSL里float会出现xxx是什么意思啊?

[复制链接]

63

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
发表于 2008-7-31 11:06:00 | 显示全部楼层 |阅读模式
总是有奇怪德符号-_-

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2008-7-31 13:00:00 | 显示全部楼层

Re:HLSL里float会出现xxx是什么意思啊?

嗯嗯 奇怪的符号,很奇怪,很奇怪

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2008-7-31 17:52:00 | 显示全部楼层

Re:HLSL里float会出现xxx是什么意思啊?

swizzle?write mask?

63

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
发表于 2008-7-31 21:07:00 | 显示全部楼层

Re:HLSL里float会出现xxx是什么意思啊?

似乎是将这个float重复3遍,常常是用来给float4赋值的吧?那和xyz有啥区别呢?难道可以写成
float3 normal;
float4(normal.xyz,0);
???
不知道的不要瞎回好不。
似乎知道的不要炫耀好不?

2

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2008-8-1 15:14:00 | 显示全部楼层

Re:HLSL里float会出现xxx是什么意思啊?

这种赋值方式应该就是4楼的说得swizzle(重组)

float a;
float4 b = a.xxxx相当于
b = float4(a.x, a.x, a.x, a.x)的赋值

你写的那种方式没有错误,等于赋值给一个float4(normal.x, normal.y, normal.z, 0)
重组的方式给向量赋值是很灵活的,还可以这样:
float4 a;
float2 b = a.wz;

就是b = float2(a.w, a.z)

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2008-8-2 12:36:00 | 显示全部楼层

Re: Re:HLSL里float会出现xxx是什么意思啊?

oいばらの泪o: Re:HLSL里float会出现xxx是什么意思啊?

似乎是将这个float重复3遍,常常是用来给float4赋值的吧?那和xyz有啥区别呢?难道可以写成
float3 normal;
float4(normal.xyz,0);
???
不知道的不要瞎回好不。
似乎知道的不要炫耀好不?


你还真觉得楼上有不知道的?

14

主题

345

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
QQ
发表于 2008-8-2 21:09:00 | 显示全部楼层

Re:HLSL里float会出现xxx是什么意思啊?

我一直想在C++里也这样用的说

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2008-8-3 12:00:00 | 显示全部楼层

Re:HLSL里float会出现xxx是什么意思啊?

可以,如果你肯写很多个inline函数。我当时的伪shader就是这样搞得。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 19:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表