游戏开发论坛

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

nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

[复制链接]

3

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2006-3-17 23:51:00 | 显示全部楼层 |阅读模式
nv写的hlsl里 总是这样声明float3 position : POSITION;
然后宁可在之后用的时候这样float4(IN.position.xyz , 1.0),比如OUT.hPosition = mul( float4(IN.position.xyz , 1.0) , worldViewProj);
。。这个我好象没有说清楚,意思是干嘛不声明成float4。float4 position : POSITION
这样做有什么含义吗?难道是nv在为了以后莫名的变动做准备?可是我想不出来有什么硬件设计可以使float3 position 这种声明获利。
另外nv好象还在大力宣传类似
float getX(float v){ return v.x};
//声明一个临时使用的向量
float3 myVector;
//取得myVector的x分量
float x = getX(myVector);
这种函数 。。。。
常常让我看nv的代码感到莫名惊诧。  感觉是不是现在的hlsl被ms和nv越弄越文明,越来越不直观了。

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2006-3-18 00:12:00 | 显示全部楼层

Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

赫赫,很直观,float3 就是三个浮点变量

3

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
 楼主| 发表于 2006-3-18 00:55:00 | 显示全部楼层

Re: Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

Civilian: Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

赫赫,很直观,float3 就是三个浮点变量

赫赫,刚才没有说清楚。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-3-18 01:18:00 | 显示全部楼层

Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

这样可能会减少传入管线的数据量,毕竟最后一个w是个常量。至于getX我觉得真的没必要。

22

主题

191

帖子

217

积分

中级会员

Rank: 3Rank: 3

积分
217
QQ
发表于 2006-3-18 11:43:00 | 显示全部楼层

Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

float3就是一个向量(由三个float型变量组成)

3

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
 楼主| 发表于 2006-3-18 11:49:00 | 显示全部楼层

Re: Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

congy: Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

这样可能会减少传入管线的数据量,毕竟最后一个w是个常量。至于getX我觉得真的没必要。

不会啊w是因为计算需要存在的,和传入管线的数据没关系。现在我见过的图形卡对于Input Register未指定初始化的分量都是以1.0来初始化的。
我趋向于怀疑这是nv以后硬件的战略目标?怀疑是不是过度设计了?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-3-18 22:03:00 | 显示全部楼层

Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

想多了

6

主题

390

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2006-3-18 23:58:00 | 显示全部楼层

Re:nvidia写的hlsl里把POSITION声明成 float3有什么含义吗?

理论上顶点确实应该是一个float4,LZ也说了我们需要计算W。但未进行投影变换的顶点W都为1,所以没必要多传一个W给渲染管线,占用带宽哪,就像4楼说的一样。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 23:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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