首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

xyww?解决方案

2012-02-22 
xyww?在shader编程中的vs阶段void SkyVS(float3 posL : POSITION0,out float4 oPosH : POSITION0,out floa

xyww?
在shader编程中的vs阶段
void SkyVS(float3 posL : POSITION0, 
  out float4 oPosH : POSITION0, 
  out float3 oEnvTex : TEXCOORD0)
{

  oPosH = mul(float4(posL, 1.0f), gWVP).xyww; //?
   
 
  oEnvTex = posL;
}
oPosH = mul(float4(posL, 1.0f), gWVP).xyww; 什么意思?
xyww是啥意思?

[解决办法]
那个w一般是1 , 你传进来的gwvp是4*4的,所以用1.0f来凑数,然后.xyww是个四元向量,w是用来深度缓冲和雾化等计算的。
[解决办法]
打个比方:
float4 aaa = { 1, 2, 3, 4 };
float4 bbb;

bbb = aaa.xyww;
相当于
bbb.x = aaa.x;
bbb.y = aaa.y;
bbb.z = aaa.w;
bbb.w = aaa.w;
[解决办法]

探讨
x,y,z,w这四个值可以任意组合 然后输出  对不?

热点排行